Merge branch 'master' of ssh://sourceware.org/git/glibc
[platform/upstream/glibc.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION([$CVSid$])
3 AC_PREREQ(2.53)dnl              dnl Minimum Autoconf version required.
4 AC_INIT([GNU C Library], [(see version.h)], [glibc])
5 AC_CONFIG_SRCDIR([include/features.h])
6 AC_CONFIG_HEADERS([config.h])
7 AC_CONFIG_AUX_DIR([scripts])
8
9 dnl This is here so we can set $subdirs directly based on configure fragments.
10 AC_CONFIG_SUBDIRS()
11
12 AC_CANONICAL_HOST
13
14 AC_PROG_CC
15 if test $host != $build; then
16   AC_CHECK_PROGS(BUILD_CC, gcc cc)
17 fi
18 AC_SUBST(cross_compiling)
19 AC_PROG_CPP
20 # We need the C++ compiler only for testing.
21 AC_PROG_CXX
22
23 if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
24   AC_MSG_ERROR([you must configure in a separate build directory])
25 fi
26
27 # This will get text that should go into config.make.
28 config_vars=
29
30 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
31 AC_ARG_WITH([gd],
32             AC_HELP_STRING([--with-gd=DIR],
33                            [find libgd include dir and library with prefix DIR]),
34             [dnl
35 case "$with_gd" in
36 yes|''|no) ;;
37 *) libgd_include="-I$withval/include"
38    libgd_ldflags="-L$withval/lib" ;;
39 esac
40 ])
41 AC_ARG_WITH([gd-include],
42             AC_HELP_STRING([--with-gd-include=DIR],
43                            [find libgd include files in DIR]),
44             [dnl
45 case "$with_gd_include" in
46 ''|no) ;;
47 *) libgd_include="-I$withval" ;;
48 esac
49 ])
50 AC_ARG_WITH([gd-lib],
51             AC_HELP_STRING([--with-gd-lib=DIR],
52                            [find libgd library files in DIR]),
53             [dnl
54 case "$with_gd_lib" in
55 ''|no) ;;
56 *) libgd_ldflags="-L$withval" ;;
57 esac
58 ])
59
60 if test -n "$libgd_include"; then
61   config_vars="$config_vars
62 CFLAGS-memusagestat.c = $libgd_include"
63 fi
64 if test -n "$libgd_ldflags"; then
65   config_vars="$config_vars
66 libgd-LDFLAGS = $libgd_ldflags"
67 fi
68
69 dnl Arguments to specify presence of other packages/features.
70 AC_ARG_WITH([fp],
71             AC_HELP_STRING([--with-fp],
72                            [if using floating-point hardware @<:@default=yes@:>@]),
73             [with_fp=$withval],
74             [with_fp=yes])
75 AC_SUBST(with_fp)
76 AC_ARG_WITH([binutils],
77             AC_HELP_STRING([--with-binutils=PATH],
78                            [specify location of binutils (as and ld)]),
79             [path_binutils=$withval],
80             [path_binutils=''])
81 AC_ARG_WITH([elf],
82             AC_HELP_STRING([--with-elf],
83                            [if using the ELF object format]),
84             [elf=$withval],
85             [elf=no])
86 AC_ARG_WITH([selinux],
87             AC_HELP_STRING([--with-selinux],
88                            [if building with SELinux support]),
89             [with_selinux=$withval],
90             [with_selinux=auto])
91 AC_ARG_WITH([xcoff],
92             AC_HELP_STRING([--with-xcoff],
93                            [if using the XCOFF object format]),
94             [xcoff=$withval],
95             [xcoff=no])
96 AC_ARG_WITH([cvs],
97             AC_HELP_STRING([--without-cvs],
98                            [if CVS should not be used]),
99             [with_cvs=$withval],
100             [with_cvs=yes])
101 if test "$with_cvs" = yes; then
102   if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
103   then
104     with_cvs=no
105   fi
106 fi
107 AC_SUBST(with_cvs)
108
109 AC_ARG_WITH([headers],
110             AC_HELP_STRING([--with-headers=PATH],
111                            [location of system headers to use
112                             (for example /usr/src/linux/include)
113                             @<:@default=compiler default@:>@]),
114             [sysheaders=$withval],
115             [sysheaders=''])
116
117 AC_SUBST(use_default_link)
118 AC_ARG_WITH([default-link],
119             AC_HELP_STRING([--with-default-link],
120                            [do not use explicit linker scripts
121                             @<:@default=no@:>@]),
122             [use_default_link=$withval],
123             [use_default_link=no])
124
125 AC_ARG_ENABLE([sanity-checks],
126               AC_HELP_STRING([--disable-sanity-checks],
127                              [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
128               [enable_sanity=$enableval],
129               [enable_sanity=yes])
130
131 AC_SUBST(enable_check_abi)
132 AC_ARG_ENABLE([check-abi],
133               AC_HELP_STRING([--enable-check-abi],
134                              [do "make check-abi" in "make check" (no/warn/yes)
135                               @<:@default=no@:>@]),
136               [enable_check_abi=$enableval],
137               [enable_check_abi=no])
138
139 dnl Arguments to enable or disable building the static, shared, profiled,
140 dnl and -fomit-frame-pointer libraries.
141 dnl I've disabled this for now since we cannot build glibc without static
142 dnl libraries built in the moment.
143 dnl AC_ARG_ENABLE([static],
144 dnl               AC_HELP_STRING([--enable-static],
145 dnl                              [build static library @<:@default=yes@:>@]),
146 dnl               [static=$enableval],
147 dnl               [static=yes])
148 static=yes
149 AC_ARG_ENABLE([shared],
150               AC_HELP_STRING([--enable-shared],
151                              [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
152               [shared=$enableval],
153               [shared=default])
154 AC_ARG_ENABLE([profile],
155               AC_HELP_STRING([--enable-profile],
156                              [build profiled library @<:@default=no@:>@]),
157               [profile=$enableval],
158               [profile=no])
159 AC_ARG_ENABLE([omitfp],
160               AC_HELP_STRING([--enable-omitfp],
161                              [build undebuggable optimized library @<:@default=no@:>@]),
162               [omitfp=$enableval],
163               [omitfp=no])
164 AC_ARG_ENABLE([bounded],
165               AC_HELP_STRING([--enable-bounded],
166                              [build with runtime bounds checking @<:@default=no@:>@]),
167               [bounded=$enableval],
168               [bounded=no])
169 AC_ARG_ENABLE([versioning],
170               AC_HELP_STRING([--disable-versioning],
171                              [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
172               [enable_versioning=$enableval],
173               [enable_versioning=yes])
174
175 AC_ARG_ENABLE([oldest-abi],
176               AC_HELP_STRING([--enable-oldest-abi=ABI],
177                              [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
178               [oldest_abi=$enableval],
179               [oldest_abi=no])
180 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
181   oldest_abi=default
182 else
183   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
184 fi
185 AC_SUBST(oldest_abi)
186
187 AC_ARG_ENABLE([stackguard-randomization],
188               AC_HELP_STRING([--enable-stackguard-randomization],
189                              [initialize __stack_chk_guard canary with a random number at program start]),
190               [enable_stackguard_randomize=$enableval],
191               [enable_stackguard_randomize=no])
192 if test "$enable_stackguard_randomize" = yes; then
193   AC_DEFINE(ENABLE_STACKGUARD_RANDOMIZE)
194 fi
195
196 dnl Generic infrastructure for drop-in additions to libc.
197 AC_ARG_ENABLE([add-ons],
198               AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
199                              [configure and build add-ons in DIR1,DIR2,...
200                               search for add-ons if no parameter given]),
201                              , [enable_add_ons=yes])
202
203 dnl Let the user avoid using TLS.  Don't know why but...
204 AC_ARG_WITH([tls],
205             AC_HELP_STRING([--with-tls],
206                            [enable support for TLS]),
207             [usetls=$withval],
208             [usetls=yes])
209
210 AC_ARG_WITH([__thread],
211             AC_HELP_STRING([--without-__thread],
212                            [do not use TLS features even when supporting them]),
213             [use__thread=$withval],
214             [use__thread=yes])
215
216 AC_ARG_ENABLE([hidden-plt],
217               AC_HELP_STRING([--disable-hidden-plt],
218                              [do not hide internal function calls to avoid PLT]),
219               [hidden=$enableval],
220               [hidden=yes])
221 if test "x$hidden" = xno; then
222   AC_DEFINE(NO_HIDDEN)
223 fi
224
225 AC_ARG_ENABLE([bind-now],
226               AC_HELP_STRING([--enable-bind-now],
227                              [disable lazy relocations in DSOs]),
228               [bindnow=$enableval],
229               [bindnow=no])
230 AC_SUBST(bindnow)
231
232 dnl On some platforms we cannot use dynamic loading.  We must provide
233 dnl static NSS modules.
234 AC_ARG_ENABLE([static-nss],
235               AC_HELP_STRING([--enable-static-nss],
236                              [build static NSS modules @<:@default=no@:>@]),
237               [static_nss=$enableval],
238               [static_nss=no])
239 dnl Enable static NSS also if we build no shared objects.
240 if test x"$static_nss" = xyes || test x"$shared" = xno; then
241   static_nss=yes
242   AC_DEFINE(DO_STATIC_NSS)
243 fi
244
245 AC_ARG_ENABLE([force-install],
246               AC_HELP_STRING([--disable-force-install],
247                              [don't force installation of files from this package, even if they are older than the installed files]),
248               [force_install=$enableval],
249               [force_install=yes])
250 AC_SUBST(force_install)
251
252 dnl On some platforms we allow dropping compatibility with all kernel
253 dnl versions.
254 AC_ARG_ENABLE([kernel],
255               AC_HELP_STRING([--enable-kernel=VERSION],
256                              [compile for compatibility with kernel not older than VERSION]),
257               [minimum_kernel=$enableval],
258               [])
259 dnl Prevent unreasonable values.
260 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
261   # Better nothing than this.
262   minimum_kernel=""
263 else
264   if test "$minimum_kernel" = current; then
265     minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
266   fi
267 fi
268
269 dnl For the development we sometimes want gcc to issue even more warnings.
270 dnl This is not the default since many of the extra warnings are not
271 dnl appropriate.
272 AC_ARG_ENABLE([all-warnings],
273               AC_HELP_STRING([--enable-all-warnings],
274                              [enable all useful warnings gcc can issue]),
275               [all_warnings=$enableval],
276               [])
277 AC_SUBST(all_warnings)
278
279 AC_ARG_ENABLE([multi-arch],
280               AC_HELP_STRING([--enable-multi-arch],
281                              [enable single DSO with optimizations for multiple architectures]),
282               [multi_arch=$enableval],
283               [multi_arch=default])
284
285 AC_ARG_ENABLE([nss-crypt],
286               AC_HELP_STRING([--enable-nss-crypt],
287                              [enable libcrypt to use nss]),
288               [nss_crypt=$enableval],
289               [nss_crypt=no])
290 if test x$nss_crypt = xyes; then
291   nss_includes=-I$(nss-config --includedir 2>/dev/null)
292   if test $? -ne 0; then
293     AC_MSG_ERROR([cannot find include directory with nss-config])
294   fi
295   old_CFLAGS="$CFLAGS"
296   CFLAGS="$CFLAGS $nss_includes"
297   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
298 #include <hasht.h>
299 #include <nsslowhash.h>
300 void f (void) { NSSLOW_Init (); }])],
301              libc_cv_nss_crypt=yes,
302              AC_MSG_ERROR([
303 cannot find NSS headers with lowlevel hash function interfaces]))
304   old_LIBS="$LIBS"
305   LIBS="$LIBS -lfreebl3"
306   AC_LINK_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
307 #include <hasht.h>
308 #include <nsslowhash.h>],
309                                   [NSSLOW_Init();])],
310                  libc_cv_nss_crypt=yes,
311                  AC_MSG_ERROR([
312 cannot link program using lowlevel NSS hash functions]))
313   CFLAGS="$old_CFLAGS"
314   LIBS="$old_LIBS"
315 else
316   libc_cv_nss_crypt=no
317 fi
318 AC_SUBST(libc_cv_nss_crypt)
319
320 # The way shlib-versions is used to generate soversions.mk uses a
321 # fairly simplistic model for name recognition that can't distinguish
322 # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
323 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
324 # tell.  This doesn't get used much beyond that, so it's fairly safe.
325 case "$host_os" in
326 linux*)
327   ;;
328 gnu*)
329   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
330   ;;
331 esac
332
333 # We keep the original values in `$config_*' and never modify them, so we
334 # can write them unchanged into config.make.  Everything else uses
335 # $machine, $vendor, and $os, and changes them whenever convenient.
336 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
337
338 # Don't allow vendor == "unknown"
339 test "$config_vendor" = unknown && config_vendor=
340 config_os="`echo $config_os | sed 's/^unknown-//'`"
341
342 # Some configurations imply other options.
343 case "$host_os" in
344 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
345 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
346   ;;
347 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
348   # These systems (almost) always use the ELF format.
349   elf=yes
350   ;;
351 aix*)
352   # These systems are always xcoff
353   xcoff=yes
354   elf=no
355   ;;
356 esac
357
358 # The configure fragment of an add-on port can modify these to supplement
359 # or override the table in the case statement below.  No fragment should
360 # ever change the config_* variables, however.
361 machine=$config_machine
362 vendor=$config_vendor
363 os=$config_os
364 base_os=''
365
366 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
367 # Unify this here.
368 if test "$machine" = rs6000; then
369   machine="powerpc"
370 fi
371
372 # Braindead PowerPC box with absolutely no FPU.
373 case "$machine-$host_os" in
374   powerpc*-*soft)
375     with_fp=no
376     ;;
377 esac
378
379 submachine=
380 AC_ARG_WITH([cpu],
381             AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
382             [dnl
383   case "$withval" in
384   yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
385   no) ;;
386   *) submachine="$withval" ;;
387   esac
388 ])
389
390 # An add-on can set this when it wants to disable the sanity check below.
391 libc_config_ok=no
392
393 dnl Having this here, though empty, makes sure that if add-ons' fragments
394 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
395 dnl our AC_OUTPUT will actually use it.
396 AC_CONFIG_SUBDIRS()
397
398 case "$enable_add_ons" in
399 ''|no) add_ons= ;;
400 yes|'*')
401  add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
402           sed 's@/[[^/]]*$@@' | sort | uniq`
403          add_ons_automatic=yes
404          ;;
405 *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
406        add_ons_automatic=no ;;
407 esac
408
409 configured_add_ons=
410 add_ons_sfx=
411 add_ons_pfx=
412 if test x"$add_ons" != x; then
413   for f in $add_ons; do
414     # Some sanity checks
415     case "$f" in
416     crypt)
417       AC_MSG_ERROR([
418 *** It seems that you're using an old \`crypt' add-on.  crypt is now
419 *** part of glibc and using the old add-on will not work with this
420 *** release.  Start again with fresh sources and without the old
421 *** \`crypt' add-on.])
422     ;;
423     localedata)
424       AC_MSG_ERROR([
425 *** It seems that you're using an old \`localedata' add-on.  localedata
426 *** is now part of glibc and using the old add-on will not work with
427 *** this release.  Start again with fresh sources and without the old
428 *** \`localedata' add-on.])
429     ;;
430     esac
431   done
432
433   # Now source each add-on's configure fragment.
434   # The fragments can use $srcdir/$libc_add_on to find themselves,
435   # and test $add_ons_automatic to see if they were explicitly requested.
436   # A fragment can clear (or even change) $libc_add_on to affect
437   # whether it goes into the list to be actually used in the build.
438   use_add_ons=
439   for libc_add_on in $add_ons; do
440     # Test whether such a directory really exists.
441     # It can be absolute, or relative to $srcdir, or relative to the build dir.
442     case "$libc_add_on" in
443     /*)
444       libc_add_on_srcdir=$libc_add_on
445       ;;
446     *)
447       test -d "$srcdir/$libc_add_on" || {
448         if test -d "$libc_add_on"; then
449           libc_add_on="`pwd`/$libc_add_on"
450         else
451           AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
452         fi
453       }
454       libc_add_on_srcdir=$srcdir/$libc_add_on
455       ;;
456     esac
457
458     libc_add_on_frag=$libc_add_on_srcdir/configure
459     libc_add_on_canonical=
460     libc_add_on_config_subdirs=
461     if test -r "$libc_add_on_frag"; then
462       AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
463       libc_add_on_canonical=unknown
464       libc_add_on_subdirs=
465       . "$libc_add_on_frag"
466       test -z "$libc_add_on" || {
467         configured_add_ons="$configured_add_ons $libc_add_on"
468         if test "x$libc_add_on_canonical" = xunknown; then
469           AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
470         fi
471         for d in $libc_add_on_subdirs; do
472           case "$libc_add_on" in
473           /*) subdir_srcdir="$libc_add_on" ;;
474           *) subdir_srcdir="\$(..)$libc_add_on" ;;
475           esac
476           case "$d" in
477           .)
478             d="${libc_add_on_canonical:-$libc_add_on}"
479             ;;
480           /*)
481             subdir_srcdir="$d"
482             ;;
483           *)
484             subdir_srcdir="$subdir_srcdir/$d"
485             ;;
486           esac
487           d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
488           add_on_subdirs="$add_on_subdirs $d"
489           test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
490 $d-srcdir = $subdir_srcdir"
491         done
492         for d in $libc_add_on_config_subdirs; do
493           case "$d" in
494           /*) AC_MSG_ERROR(dnl
495 fragment uses absolute path in \$libc_add_on_config_subdirs) ;;
496           esac
497           if test ! -d "$libc_add_on_srcdir/$d"; then
498             AC_MSG_ERROR(fragment wants to configure missing directory $d)
499           fi
500           case "$libc_add_on" in
501           /*) AC_MSG_ERROR(dnl
502 relative path required for add-on using \$libc_add_on_config_subdirs) ;;
503           esac
504           subdirs="$subdirs $libc_add_on/$d"
505         done
506       }
507     fi
508     if test -n "$libc_add_on"; then
509       if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
510       then
511         AC_MSG_CHECKING(add-on $libc_add_on for preconfigure fragments)
512         for frag in $frags; do
513           name=`echo "$frag" | sed 's@/[[^/]]*$@@;s@^.*/@@'`
514           echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
515           . "$frag"
516         done
517         AC_MSG_RESULT()
518       fi
519       use_add_ons="$use_add_ons $libc_add_on"
520       add_ons_pfx="$add_ons_pfx $libc_add_on/"
521       test -z "$libc_add_on_canonical" ||
522       add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
523     fi
524   done
525   # Use echo to strip excess whitespace.
526   add_ons="`echo $use_add_ons`"
527 fi
528 AC_SUBST(add_ons)
529 AC_SUBST(add_on_subdirs)
530
531
532 ###
533 ### I put this here to prevent those annoying emails from people who cannot
534 ### read and try to compile glibc on unsupported platforms.  --drepper
535 ###
536 ### By using the undocumented --enable-hacker-mode option for configure
537 ### one can skip this test to make the configuration not fail for unsupported
538 ### platforms.
539 ###
540 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
541   case "$machine-$host_os" in
542   *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
543     ;;
544   *)
545     echo "*** The GNU C library is currently not available for this platform."
546     echo "*** So far nobody cared to port it and if there is no volunteer it"
547     echo "*** might never happen.  So, if you have interest to see glibc on"
548     echo "*** this platform visit"
549     echo "***   http://www.gnu.org/software/libc/porting.html"
550     echo "*** and join the group of porters"
551     exit 1
552     ;;
553   esac
554 fi
555
556 dnl We need to use [ and ] for other purposes for a while now.
557 changequote(,)dnl
558 # Expand the configuration machine name into a subdirectory by architecture
559 # type and particular chip.  If an add-on configure fragment already set
560 # base_machine, we don't change it.
561 test -n "$base_machine" || case "$machine" in
562 a29k | am29000) base_machine=a29k machine=a29k ;;
563 c3[012])        base_machine=cx0 machine=cx0/c30 ;;
564 c4[04])         base_machine=cx0 machine=cx0/c40 ;;
565 i[34567]86)     base_machine=i386 machine=i386/$machine ;;
566 ia64)           base_machine=ia64 machine=ia64 ;;
567 m88???)         base_machine=m88k machine=m88k/$machine ;;
568 m88k)           base_machine=m88k machine=m88k/m88100 ;;
569 powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
570 powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
571 s390)           base_machine=s390 machine=s390/s390-32 ;;
572 s390x)          base_machine=s390 machine=s390/s390-64 ;;
573 sh3*)           base_machine=sh machine=sh/sh3 ;;
574 sh4*)           base_machine=sh machine=sh/sh4 ;;
575 sparc | sparcv[67])
576                 base_machine=sparc machine=sparc/sparc32 ;;
577 sparcv8 | supersparc | hypersparc)
578                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
579 sparcv8plus | sparcv8plusa | sparcv9)
580                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
581 sparcv8plusb | sparcv9b)
582                 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
583 sparcv9v)
584                 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
585 sparcv9v2)
586                 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
587 sparc64)
588                 base_machine=sparc machine=sparc/sparc64 ;;
589 sparc64b)
590                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
591 sparc64v)
592                 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
593 sparc64v2)
594                 base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
595 *)              base_machine=$machine ;;
596 esac
597 changequote([,])dnl
598 AC_SUBST(base_machine)
599
600 if test "$base_machine" = "i386"; then
601   AC_DEFINE(USE_REGPARMS)
602 fi
603
604 # For the multi-arch option we need support in the assembler.
605 AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
606                libc_cv_asm_gnu_indirect_function, [dnl
607 cat > conftest.s <<EOF
608 .type foo,%gnu_indirect_function
609 EOF
610 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
611 then
612   libc_cv_asm_gnu_indirect_function=yes
613 else
614   libc_cv_asm_gnu_indirect_function=no
615 fi
616 rm -f conftest*])
617
618 AC_MSG_CHECKING(whether .text pseudo-op must be used)
619 AC_CACHE_VAL(libc_cv_dot_text, [dnl
620 cat > conftest.s <<EOF
621 .text
622 EOF
623 libc_cv_dot_text=
624 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
625   libc_cv_dot_text=.text
626 fi
627 rm -f conftest*])
628 if test -z "$libc_cv_dot_text"; then
629   AC_MSG_RESULT(no)
630 else
631   AC_MSG_RESULT(yes)
632 fi
633
634 AC_CACHE_CHECK(for assembler global-symbol directive,
635                libc_cv_asm_global_directive, [dnl
636 libc_cv_asm_global_directive=UNKNOWN
637 for ac_globl in .globl .global .EXPORT; do
638   cat > conftest.s <<EOF
639         ${libc_cv_dot_text}
640         ${ac_globl} foo
641 foo:
642 EOF
643   if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
644     libc_cv_asm_global_directive=${ac_globl}
645   fi
646   rm -f conftest*
647   test $libc_cv_asm_global_directive != UNKNOWN && break
648 done])
649 if test $libc_cv_asm_global_directive = UNKNOWN; then
650   AC_MSG_ERROR(cannot determine asm global directive)
651 else
652   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
653 fi
654
655 AC_CACHE_CHECK(for assembler .type directive prefix,
656                libc_cv_asm_type_prefix, [dnl
657 libc_cv_asm_type_prefix=no
658 for ac_try_prefix in '@' '%' '#'; do
659   cat > conftest.s <<EOF
660         ${libc_cv_dot_text}
661         ${libc_cv_asm_global_directive} foo
662         .type foo, ${ac_try_prefix}object
663         .size foo, 1
664 foo:
665         .byte 1
666 EOF
667   if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
668     libc_cv_asm_type_prefix=${ac_try_prefix}
669   fi
670   rm -f conftest*
671   test "x$libc_cv_asm_type_prefix" != xno && break
672 done])
673 if test "x$libc_cv_asm_type_prefix" != xno; then
674   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
675 fi
676
677 if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
678   if test x"$multi_arch" = xyes; then
679     AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
680   else
681     multi_arch=no
682   fi
683 fi
684 if test x"$multi_arch" != xno; then
685   multi_arch_d=/multiarch
686 fi
687
688 # Compute the list of sysdep directories for this configuration.
689 # This can take a while to compute.
690 sysdep_dir=$srcdir/sysdeps
691 AC_MSG_CHECKING(sysdep dirs)
692 dnl We need to use [ and ] for other purposes for a while now.
693 changequote(,)dnl
694 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
695 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
696
697 test "x$base_os" != x || case "$os" in
698 gnu*)
699   base_os=mach/hurd ;;
700 netbsd* | 386bsd* | freebsd* | bsdi*)
701   base_os=unix/bsd/bsd4.4 ;;
702 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
703   base_os=unix/bsd ;;
704 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
705   base_os=unix/sysv ;;
706 irix6*)
707   base_os=unix/sysv/irix6/$os ;;
708 solaris[2-9]*)
709   base_os=unix/sysv/sysv4 ;;
710 hpux*)
711   base_os=unix/sysv/hpux/$os ;;
712 aix4.3*)
713   base_os=unix/sysv/aix/aix4.3 ;;
714 none)
715   base_os=standalone ;;
716 esac
717
718 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
719 tail=$os
720 ostry=$os
721 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
722   ostry="$ostry /$o"
723   tail=$o
724 done
725 o=`echo $tail | sed 's/[0-9]*$//'`
726 if test $o != $tail; then
727   ostry="$ostry /$o"
728 fi
729 # For linux-gnu, try linux-gnu, then linux.
730 o=`echo $tail | sed 's/-.*$//'`
731 if test $o != $tail; then
732   ostry="$ostry /$o"
733 fi
734
735 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
736 base=
737 tail=$base_os
738 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
739   set $b
740   base="$base /$1"
741   tail="$2"
742 done
743
744 # For sparc/sparc32, try sparc/sparc32 and then sparc.
745 mach=
746 tail=$machine${submachine:+/$submachine}
747 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
748   set $m
749   # Prepend the machine's FPU directory unless --without-fp.
750   if test "$with_fp" = yes; then
751     mach="$mach /$1/fpu"
752   else
753     mach="$mach /$1/nofpu"
754   fi
755   mach="$mach /$1"
756   tail="$2"
757 done
758
759 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
760 changequote([,])dnl
761
762 # Find what sysdep directories exist.
763 sysnames_add_ons=
764 sysnames=
765 for b in $base ''; do
766   for m0 in $mach ''; do
767     for v in /$vendor ''; do
768       test "$v" = / && continue
769       for o in /$ostry ''; do
770         test "$o" = / && continue
771         for m in $multi_arch_d $mach ''; do
772           for d in $add_ons_pfx ''; do
773             for a in $add_ons_sfx ''; do
774               if test -n "$m0$m0sub$b$v$o$m$msub"; then
775                 try_srcdir="${srcdir}/"
776                 case "$d" in
777                 /*) try_srcdir= ;;
778                 esac
779                 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
780                 test -n "$enable_debug_configure" &&
781                 echo "$0 [DEBUG]: try $try" >&2
782                 if test -d "$try_srcdir$try"; then
783                   sysnames="$sysnames $try"
784                   { test -n "$o" || test -n "$b"; } && os_used=t
785                   { test -n "$m" || test -n "$m0"; } && machine_used=t
786                   case x${m0:-$m} in
787                   x*/$submachine) submachine_used=t ;;
788                   esac
789                   if test -n "$d"; then
790                     case "$sysnames_add_ons" in
791                     *" $d "*) ;;
792                     *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
793                     esac
794                   fi
795                 fi
796               fi
797             done
798           done
799         done
800       done
801     done
802   done
803 done
804
805 # If the assembler supports gnu_indirect_function symbol type and the
806 # architecture supports multi-arch, we enable multi-arch by default.
807 case $sysnames_add_ons$sysnames in
808 *"$multi_arch_d"*)
809   ;;
810 *)
811   test x"$multi_arch" = xdefault && multi_arch=no
812   ;;
813 esac
814 if test x"$multi_arch" != xno; then
815   AC_DEFINE(USE_MULTIARCH)
816 fi
817 AC_SUBST(multi_arch)
818
819 if test -z "$os_used" && test "$os" != none; then
820   AC_MSG_ERROR(Operating system $os is not supported.)
821 fi
822 if test -z "$machine_used" && test "$machine" != none; then
823   AC_MSG_ERROR(The $machine is not supported.)
824 fi
825 if test -z "$submachine_used" && test -n "$submachine"; then
826   AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
827 fi
828 AC_SUBST(submachine)
829
830 # We have now validated the configuration.
831
832
833 # If using ELF, look for an `elf' subdirectory of each machine directory.
834 # We prepend these rather than inserting them whereever the machine appears
835 # because things specified by the machine's ELF ABI should override
836 # OS-specific things, and should always be the same for any OS on the
837 # machine (otherwise what's the point of an ABI?).
838 if test "$elf" = yes; then
839   elf_dirs=
840   for d in $add_ons_pfx ''; do
841     for m in $mach; do
842       if test -d $srcdir/${d}sysdeps$m/elf; then
843         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
844       fi
845     done
846   done
847   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
848 fi
849
850
851 # Expand the list of system names into a full list of directories
852 # from each element's parent name and Implies file (if present).
853 set $sysnames
854 names=
855 while test $# -gt 0; do
856   name=$1
857   shift
858
859   case " $names " in *" $name "*)
860     # Already in the list.
861     continue
862   esac
863
864   # Report each name as we discover it, so there is no long pause in output.
865   echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
866
867   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
868
869   case $name in
870     /*) xsrcdir= ;;
871     *)  xsrcdir=$srcdir/ ;;
872   esac
873   test -n "$enable_debug_configure" &&
874   echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
875
876   if test -f $xsrcdir$name/Implies; then
877     # Collect more names from the `Implies' file (removing comments).
878     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
879     implied=
880     for x in $implied_candidate; do
881       found=no
882       if test -d $xsrcdir$name_base/$x; then
883         implied="$implied $name_base/$x";
884         found=yes
885       fi
886       for d in $add_ons_pfx ''; do
887         try="${d}sysdeps/$x"
888         case $d in
889          /*) try_srcdir= ;;
890          *) try_srcdir=$srcdir/ ;;
891         esac
892         test -n "$enable_debug_configure" &&
893          echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
894         if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
895         then
896           implied="$implied $try"
897           found=yes
898           case "$sysnames_add_ons" in
899           *" $d "*) ;;
900           *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
901           esac
902         fi
903       done
904       if test $found = no; then
905         AC_MSG_WARN($name/Implies specifies nonexistent $x)
906       fi
907     done
908   else
909     implied=
910   fi
911
912   # Add NAME to the list of names.
913   names="$names $name"
914
915   # Find the parent of NAME, using the empty string if it has none.
916 changequote(,)dnl
917   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
918 changequote([,])dnl
919
920   # Add the names implied by NAME, and NAME's parent (if it has one), to
921   # the list of names to be processed (the argument list).  We prepend the
922   # implied names to the list and append the parent.  We want implied
923   # directories to come before further directories inferred from the
924   # configuration components; this ensures that for sysv4, unix/common
925   # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
926   # after sysv4).
927   sysnames="`echo $implied $* $parent`"
928   test -n "$sysnames" && set $sysnames
929 done
930
931 # Add the default directories.
932 default_sysnames=sysdeps/generic
933 if test "$elf" = yes; then
934   default_sysnames="sysdeps/generic/elf $default_sysnames"
935 fi
936 sysnames="$names $default_sysnames"
937 AC_SUBST(sysnames)
938 # The other names were emitted during the scan.
939 AC_MSG_RESULT($default_sysnames)
940
941 # Collect the list of add-ons that supply partial sysdeps trees.
942 sysdeps_add_ons=
943 for add_on in $add_ons; do
944   case "$add_on" in
945   /*) xsrcdir= ;;
946   *) xsrcdir="$srcdir/" ;;
947   esac
948
949   test -d "$xsrcdir$add_on/sysdeps" || {
950     case "$configured_add_ons " in
951     *" $add_on "*) ;;
952     *|'')
953       AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
954       ;;
955     esac
956     continue
957   }
958
959   sysdeps_add_ons="$sysdeps_add_ons $add_on"
960   case "$sysnames_add_ons" in
961   *" $add_on/ "*) ;;
962   *|'')
963     AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
964     continue ;;
965   esac
966
967   found=no
968   for d in $sysnames; do
969     case "$d" in
970     $add_on/sysdeps/*) ;;
971     *) continue ;;
972     esac
973     (cd "$xsrcdir$d" && for f in *[[!~]]; do
974        case "$f" in
975        sys|bits)
976          for ff in $f/*.h; do
977            test -d "$ff" || { test -e "$ff" && exit 88; }
978          done
979          ;;
980        *)
981          test -d "$f" || { test -e "$f" && exit 88; }
982          ;;
983        esac
984      done)
985     if test $? -eq 88; then
986       found=yes
987       break
988     fi
989   done
990   if test $found = no; then
991     AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
992   fi
993 done
994 AC_SUBST(sysdeps_add_ons)
995
996
997 ### Locate tools.
998
999 AC_PROG_INSTALL
1000 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
1001   # The makefiles need to use a different form to find it in $srcdir.
1002   INSTALL='\$(..)./scripts/install-sh -c'
1003 fi
1004 AC_PROG_LN_S
1005
1006 LIBC_PROG_BINUTILS
1007 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
1008
1009 # Accept binutils 2.13 or newer.
1010 AC_CHECK_PROG_VER(AS, $AS, --version,
1011                   [GNU assembler.* \([0-9]*\.[0-9.]*\)],
1012                   [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as")
1013 AC_CHECK_PROG_VER(LD, $LD, --version,
1014                   [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
1015                   [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld")
1016
1017 # We need the physical current working directory.  We cannot use the
1018 # "pwd -P" shell builtin since that's not portable.  Instead we try to
1019 # find a pwd binary.  Note that assigning to the PWD environment
1020 # variable might have some interesting side effects, so we don't do
1021 # that.
1022 AC_PATH_PROG(PWD_P, pwd, no)
1023 if test "$PWD_P" = no; then
1024   AC_MSG_ERROR(*** A pwd binary could not be found.)
1025 fi
1026
1027 # These programs are version sensitive.
1028 AC_CHECK_TOOL_PREFIX
1029 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
1030   [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
1031   critic_missing="$critic_missing gcc")
1032 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
1033   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
1034   [3.79* | 3.[89]*], critic_missing="$critic_missing make")
1035
1036 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
1037   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
1038   [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
1039   MSGFMT=: aux_missing="$aux_missing msgfmt")
1040 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
1041   [GNU texinfo.* \([0-9][0-9.]*\)],
1042   [4.*],
1043   MAKEINFO=: aux_missing="$aux_missing makeinfo")
1044 AC_CHECK_PROG_VER(SED, sed, --version,
1045   [GNU sed version \([0-9]*\.[0-9.]*\)],
1046   [3.0[2-9]*|3.[1-9]*|[4-9]*],
1047   SED=: aux_missing="$aux_missing sed")
1048
1049 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
1050 case "x$AUTOCONF" in
1051 xno|x|x:) AUTOCONF=no ;;
1052 *)
1053   AC_CACHE_CHECK(dnl
1054 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
1055   if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
1056     libc_cv_autoconf_works=yes
1057   else
1058     libc_cv_autoconf_works=no
1059   fi])
1060   test $libc_cv_autoconf_works = yes || AUTOCONF=no
1061   ;;
1062 esac
1063 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
1064   # If --without-cvs they probably won't change configure.in, so no complaints.
1065   aux_missing="$aux_missing autoconf"
1066 fi
1067
1068 test -n "$critic_missing" && AC_MSG_ERROR([
1069 *** These critical programs are missing or too old:$critic_missing
1070 *** Check the INSTALL file for required versions.])
1071
1072 test -n "$aux_missing" && AC_MSG_WARN([
1073 *** These auxiliary programs are missing or incompatible versions:$aux_missing
1074 *** some features will be disabled.
1075 *** Check the INSTALL file for required versions.])
1076
1077 # if using special system headers, find out the compiler's sekrit
1078 # header directory and add that to the list.  NOTE: Only does the right
1079 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
1080 if test -n "$sysheaders"; then
1081   SYSINCLUDES=-nostdinc
1082   for d in include include-fixed; do
1083     i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
1084     SYSINCLUDES="$SYSINCLUDES -isystem $i"
1085   done
1086   SYSINCLUDES="$SYSINCLUDES \
1087 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
1088   if test -n "$CXX"; then
1089     cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
1090     cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
1091     cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
1092     CXX_SYSINCLUDES="-isystem $cxxheaders \
1093 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
1094   fi
1095 fi
1096 AC_SUBST(SYSINCLUDES)
1097 AC_SUBST(CXX_SYSINCLUDES)
1098
1099 # ranlib is never necessary on Linux and Hurd systems
1100 RANLIB=:
1101
1102 # Test if LD_LIBRARY_PATH contains the notation for the current directory
1103 # since this would lead to problems installing/building glibc.
1104 # LD_LIBRARY_PATH contains the current directory if one of the following
1105 # is true:
1106 # - one of the terminals (":" and ";") is the first or last sign
1107 # - two terminals occur directly after each other
1108 # - the path contains an element with a dot in it
1109 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
1110 changequote(,)dnl
1111 case ${LD_LIBRARY_PATH} in
1112   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
1113     ld_library_path_setting="contains current directory"
1114     ;;
1115   *)
1116     ld_library_path_setting="ok"
1117     ;;
1118 esac
1119 changequote([,])dnl
1120 AC_MSG_RESULT($ld_library_path_setting)
1121 if test "$ld_library_path_setting" != "ok"; then
1122 AC_MSG_ERROR([
1123 *** LD_LIBRARY_PATH shouldn't contain the current directory when
1124 *** building glibc. Please change the environment variable
1125 *** and run configure again.])
1126 fi
1127
1128 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
1129 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
1130   libc_cv_gcc_static_libgcc=
1131 else
1132   libc_cv_gcc_static_libgcc=-static-libgcc
1133 fi])
1134 AC_SUBST(libc_cv_gcc_static_libgcc)
1135
1136 AC_PATH_PROG(BASH_SHELL, bash, no)
1137 if test "$BASH_SHELL" != no &&
1138    $BASH_SHELL -c 'test "$BASH_VERSINFO" \
1139              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
1140   libc_cv_have_bash2=yes
1141 else
1142   libc_cv_have_bash2=no
1143 fi
1144 AC_SUBST(libc_cv_have_bash2)
1145
1146 dnl We need a ksh compatible shell for tzselect.
1147 if test "$BASH_SHELL" = no; then
1148   AC_PATH_PROG(KSH, ksh, no)
1149   if test "$KSH" = no; then
1150     libc_cv_have_ksh=no
1151   else
1152     libc_cv_have_ksh=yes
1153   fi
1154 else
1155   KSH="$BASH_SHELL"
1156   AC_SUBST(KSH)
1157   libc_cv_have_ksh=yes
1158 fi
1159 AC_SUBST(libc_cv_have_ksh)
1160
1161 AC_PROG_AWK
1162 AC_PATH_PROG(PERL, perl, no)
1163 if test "$PERL" != no &&
1164    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
1165   PERL=no
1166 fi
1167 AC_PATH_PROG(INSTALL_INFO, install-info, no,
1168              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
1169 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
1170
1171 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
1172 echo '#include <stddef.h>
1173 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
1174 if eval "$ac_cpp conftest.c 2>/dev/null" \
1175 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
1176   libc_cv_signed_size_t=no
1177 else
1178   libc_cv_signed_size_t=yes
1179 fi
1180 rm -f conftest*])
1181 if test $libc_cv_signed_size_t = yes; then
1182   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
1183   cat >> confdefs.h <<\EOF
1184 #undef __SIZE_TYPE__
1185 #define __SIZE_TYPE__ unsigned
1186 EOF
1187 fi
1188
1189 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
1190 AC_TRY_COMPILE(dnl
1191 [#define __need_size_t
1192 #define __need_wchar_t
1193 #include <stddef.h>
1194 #define __need_NULL
1195 #include <stddef.h>], [size_t size; wchar_t wchar;
1196 #ifdef offsetof
1197 #error stddef.h ignored __need_*
1198 #endif
1199 if (&size == NULL || &wchar == NULL) abort ();],
1200                libc_cv_friendly_stddef=yes,
1201                libc_cv_friendly_stddef=no)])
1202 if test $libc_cv_friendly_stddef = yes; then
1203   config_vars="$config_vars
1204 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
1205 fi
1206
1207 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
1208                libc_cv_need_minus_P, [dnl
1209 cat > conftest.S <<EOF
1210 #include "confdefs.h"
1211 /* Nothing whatsoever.  */
1212 EOF
1213 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
1214   libc_cv_need_minus_P=no
1215 else
1216   libc_cv_need_minus_P=yes
1217 fi
1218 rm -f conftest*])
1219 if test $libc_cv_need_minus_P = yes; then
1220   config_vars="$config_vars
1221 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
1222 fi
1223
1224 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1225 cat > conftest.s <<EOF
1226 ${libc_cv_dot_text}
1227 foo:
1228 .set glibc_conftest_frobozz,foo
1229 $libc_cv_asm_global_directive glibc_conftest_frobozz
1230 EOF
1231 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1232 # (but it doesn't work), so we must do a linking check to be sure.
1233 cat > conftest1.c <<\EOF
1234 extern int glibc_conftest_frobozz;
1235 void _start() { glibc_conftest_frobozz = 1; }
1236 EOF
1237 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1238             -nostartfiles -nostdlib \
1239             -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1240   libc_cv_asm_set_directive=yes
1241 else
1242   libc_cv_asm_set_directive=no
1243 fi
1244 rm -f conftest*])
1245 if test $libc_cv_asm_set_directive = yes; then
1246   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1247 fi
1248
1249 AC_CACHE_CHECK(for assembler gnu_unique_object symbol type,
1250                libc_cv_asm_unique_object, [dnl
1251 cat > conftest.s <<EOF
1252 ${libc_cv_dot_text}
1253 _sym:
1254 .type _sym, ${libc_cv_asm_type_prefix}gnu_unique_object
1255 EOF
1256 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1257   libc_cv_asm_unique_object=yes
1258 else
1259   libc_cv_asm_unique_object=no
1260 fi
1261 rm -f conftest*])
1262 if test $libc_cv_asm_unique_object = yes; then
1263   AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
1264 fi
1265
1266 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1267 [cat > conftest.s <<EOF
1268 ${libc_cv_dot_text}
1269 _sym:
1270 .symver _sym,sym@VERS
1271 EOF
1272 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1273   libc_cv_asm_symver_directive=yes
1274 else
1275   libc_cv_asm_symver_directive=no
1276 fi
1277 rm -f conftest*])
1278 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1279 if test $libc_cv_asm_symver_directive = yes; then
1280   cat > conftest.s <<EOF
1281 ${libc_cv_dot_text}
1282 _sym:
1283 .symver _sym,sym@VERS
1284 EOF
1285   cat > conftest.map <<EOF
1286 VERS_1 {
1287         global: sym;
1288 };
1289
1290 VERS_2 {
1291         global: sym;
1292 } VERS_1;
1293 EOF
1294   if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1295     if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1296                                 -o conftest.so conftest.o
1297                                 -nostartfiles -nostdlib
1298                                 -Wl,--version-script,conftest.map
1299                        1>&AS_MESSAGE_LOG_FD]);
1300     then
1301       libc_cv_ld_version_script_option=yes
1302     else
1303       libc_cv_ld_version_script_option=no
1304     fi
1305   else
1306     libc_cv_ld_version_script_option=no
1307   fi
1308 else
1309   libc_cv_ld_version_script_option=no
1310 fi
1311 rm -f conftest*])
1312 if test $shared != no &&
1313    test $libc_cv_asm_symver_directive = yes &&
1314    test $libc_cv_ld_version_script_option = yes &&
1315    test $enable_versioning = yes; then
1316   VERSIONING=yes
1317   AC_DEFINE(DO_VERSIONING)
1318 else
1319   VERSIONING=no
1320 fi
1321 AC_SUBST(VERSIONING)
1322
1323 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1324   echo "\
1325 *** WARNING: You should not compile GNU libc without versioning. Not using
1326 *** versioning will introduce incompatibilities so that old binaries
1327 *** will not run anymore.
1328 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1329 fi
1330 if test $elf = yes; then
1331   AC_CACHE_CHECK(for .previous assembler directive,
1332                  libc_cv_asm_previous_directive, [dnl
1333   cat > conftest.s <<EOF
1334 .section foo_section
1335 .previous
1336 EOF
1337   if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1338     libc_cv_asm_previous_directive=yes
1339   else
1340     libc_cv_asm_previous_directive=no
1341   fi
1342   rm -f conftest*])
1343   if test $libc_cv_asm_previous_directive = yes; then
1344     AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1345   else
1346     AC_CACHE_CHECK(for .popsection assembler directive,
1347                    libc_cv_asm_popsection_directive, [dnl
1348     cat > conftest.s <<EOF
1349 .pushsection foo_section
1350 .popsection
1351 EOF
1352     if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1353       libc_cv_asm_popsection_directive=yes
1354     else
1355       libc_cv_asm_popsection_directive=no
1356     fi
1357     rm -f conftest*])
1358     if test $libc_cv_asm_popsection_directive = yes; then
1359       AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1360     fi
1361   fi
1362   AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1363                  libc_cv_asm_protected_directive, [dnl
1364   cat > conftest.s <<EOF
1365 .protected foo
1366 foo:
1367 .hidden bar
1368 bar:
1369 EOF
1370   if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1371     libc_cv_asm_protected_directive=yes
1372   else
1373     AC_MSG_ERROR(assembler support for symbol visibility is required)
1374   fi
1375   rm -f conftest*])
1376
1377   if test $libc_cv_asm_protected_directive = yes; then
1378     AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1379                  libc_cv_visibility_attribute,
1380                  [cat > conftest.c <<EOF
1381                   int foo __attribute__ ((visibility ("hidden"))) = 1;
1382                   int bar __attribute__ ((visibility ("protected"))) = 1;
1383 EOF
1384                   libc_cv_visibility_attribute=no
1385                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1386                     if grep '\.hidden.*foo' conftest.s >/dev/null; then
1387                       if grep '\.protected.*bar' conftest.s >/dev/null; then
1388                         libc_cv_visibility_attribute=yes
1389                       fi
1390                     fi
1391                   fi
1392                   rm -f conftest.{c,s}
1393                  ])
1394     if test $libc_cv_visibility_attribute != yes; then
1395       AC_MSG_ERROR(compiler support for visibility attribute is required)
1396     fi
1397   fi
1398
1399   if test $libc_cv_visibility_attribute = yes; then
1400     AC_CACHE_CHECK(for broken __attribute__((visibility())),
1401                  libc_cv_broken_visibility_attribute,
1402                  [cat > conftest.c <<EOF
1403                   int foo (int x);
1404                   int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1405                   int bar (int x) { return x; }
1406 EOF
1407                   libc_cv_broken_visibility_attribute=yes
1408                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1409 changequote(,)dnl
1410                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1411 changequote([,])dnl
1412                       libc_cv_broken_visibility_attribute=no
1413                     fi
1414                   fi
1415                   rm -f conftest.c conftest.s
1416                  ])
1417     if test $libc_cv_broken_visibility_attribute = yes; then
1418       AC_MSG_ERROR(working compiler support for visibility attribute is required)
1419     fi
1420   fi
1421
1422   AC_CACHE_CHECK(for broken __attribute__((alias())),
1423                  libc_cv_broken_alias_attribute,
1424                  [cat > conftest.c <<EOF
1425                   extern int foo (int x) __asm ("xyzzy");
1426                   int bar (int x) { return x; }
1427                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1428                   extern int dfoo;
1429                   extern __typeof (dfoo) dfoo __asm ("abccb");
1430                   int dfoo = 1;
1431 EOF
1432                   libc_cv_broken_alias_attribute=yes
1433                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1434                     if grep 'xyzzy' conftest.s >/dev/null &&
1435                        grep 'abccb' conftest.s >/dev/null; then
1436                       libc_cv_broken_alias_attribute=no
1437                     fi
1438                   fi
1439                   rm -f conftest.c conftest.s
1440                  ])
1441   if test $libc_cv_broken_alias_attribute = yes; then
1442     AC_MSG_ERROR(working alias attribute support required)
1443   fi
1444
1445   if test $libc_cv_visibility_attribute = yes; then
1446     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1447                  libc_cv_have_sdata_section,
1448                  [echo "int i;" > conftest.c
1449                   libc_cv_have_sdata_section=no
1450                   if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1451                      | grep '\.sdata' >/dev/null; then
1452                     libc_cv_have_sdata_section=yes
1453                   fi
1454                   rm -f conftest.c conftest.so
1455                  ])
1456     if test $libc_cv_have_sdata_section = yes; then
1457       AC_DEFINE(HAVE_SDATA_SECTION)
1458     fi
1459   fi
1460
1461   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1462                  libc_cv_initfini_array, [dnl
1463   cat > conftest.c <<EOF
1464 int _start (void) { return 0; }
1465 int __start (void) { return 0; }
1466 int foo (void) { return 1; }
1467 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1468 EOF
1469   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1470                      -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1471   then
1472     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1473       libc_cv_initfini_array=yes
1474     else
1475       libc_cv_initfini_array=no
1476     fi
1477   else
1478     libc_cv_initfini_array=no
1479   fi
1480   rm -f conftest*])
1481   if test $libc_cv_initfini_array != yes; then
1482     AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
1483   fi
1484
1485   AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
1486                  libc_cv_ctors_header, [dnl
1487   if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&AS_MESSAGE_LOG_FD]); then
1488     libc_cv_ctors_header=no
1489   else
1490     libc_cv_ctors_header=yes
1491   fi])
1492
1493   if test $libc_cv_ctors_header = no; then
1494     AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
1495   fi
1496
1497   AC_CACHE_CHECK(for libunwind-support in compiler,
1498                  libc_cv_cc_with_libunwind, [
1499     cat > conftest.c <<EOF
1500 int main (void) { return 0; }
1501 EOF
1502     if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1503        conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1504       libc_cv_cc_with_libunwind=yes
1505     else
1506       libc_cv_cc_with_libunwind=no
1507     fi
1508     rm -f conftest*])
1509   AC_SUBST(libc_cv_cc_with_libunwind)
1510   if test $libc_cv_cc_with_libunwind = yes; then
1511     AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1512   fi
1513
1514   AC_CACHE_CHECK(for -z nodelete option,
1515                  libc_cv_z_nodelete, [dnl
1516   cat > conftest.c <<EOF
1517 int _start (void) { return 42; }
1518 EOF
1519   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1520                      -fPIC -shared -o conftest.so conftest.c
1521                      -nostartfiles -nostdlib
1522                      -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1523   then
1524     libc_cv_z_nodelete=yes
1525   else
1526     AC_MSG_ERROR(linker with -z nodelete support required)
1527   fi
1528   rm -f conftest*])
1529
1530   AC_CACHE_CHECK(for -z nodlopen option,
1531                  libc_cv_z_nodlopen, [dnl
1532   cat > conftest.c <<EOF
1533 int _start (void) { return 42; }
1534 EOF
1535   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1536                         -fPIC -shared -o conftest.so conftest.c
1537                         -nostartfiles -nostdlib
1538                         -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1539   then
1540     libc_cv_z_nodlopen=yes
1541   else
1542     AC_MSG_ERROR(linker with -z nodlopen support required)
1543   fi
1544   rm -f conftest*])
1545
1546   AC_CACHE_CHECK(for -z initfirst option,
1547                  libc_cv_z_initfirst, [dnl
1548   cat > conftest.c <<EOF
1549 int _start (void) { return 42; }
1550 EOF
1551   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1552                         -fPIC -shared -o conftest.so conftest.c
1553                         -nostartfiles -nostdlib
1554                         -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1555   then
1556     libc_cv_z_initfirst=yes
1557   else
1558     AC_MSG_ERROR(linker with -z initfirst support required)
1559   fi
1560   rm -f conftest*])
1561
1562   case "$base_machine" in
1563 changequote(,)dnl
1564     i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*)
1565 changequote([,])dnl
1566       AC_CACHE_CHECK(for -z relro option,
1567                      libc_cv_z_relro, [dnl
1568   libc_cv_z_relro=no
1569   if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1570   then
1571     if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1572     then
1573       libc_cv_z_relro=yes
1574     fi
1575   fi])
1576       if test "$libc_cv_z_relro" = no; then
1577         AC_MSG_ERROR(linker with -z relro support required)
1578       fi
1579       ;;
1580     *) ;;
1581    esac
1582
1583   AC_CACHE_CHECK(for -Bgroup option,
1584                  libc_cv_Bgroup, [dnl
1585   cat > conftest.c <<EOF
1586 int _start (void) { return 42; }
1587 EOF
1588   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1589                               -fPIC -shared -o conftest.so conftest.c
1590                               -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1591   then
1592     libc_cv_Bgroup=yes
1593   else
1594     libc_cv_Bgroup=no
1595   fi
1596   rm -f conftest*])
1597   AC_SUBST(libc_cv_Bgroup)
1598
1599   AC_CACHE_CHECK(for libgcc_s suffix,
1600                  libc_cv_libgcc_s_suffix, [dnl
1601   cat > conftest.c <<EOF
1602 int main (void) { return 0; }
1603 EOF
1604 changequote(,)dnl
1605   libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1606                            -fPIC -shared -shared-libgcc -o conftest.so \
1607                            conftest.c -v 2>&1 >/dev/null \
1608                            | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1609 changequote([,])dnl
1610   rm -f conftest*])
1611   AC_SUBST(libc_cv_libgcc_s_suffix)
1612
1613   AC_CACHE_CHECK(for --as-needed option,
1614                  libc_cv_as_needed, [dnl
1615   cat > conftest.c <<EOF
1616 int main (void) { return 0; }
1617 EOF
1618   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1619                               -fPIC -shared -o conftest.so conftest.c
1620                               -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1621                               -nostdlib 1>&AS_MESSAGE_LOG_FD])
1622   then
1623     libc_cv_as_needed=yes
1624   else
1625     libc_cv_as_needed=no
1626   fi
1627   rm -f conftest*])
1628   AC_SUBST(libc_cv_as_needed)
1629
1630   ASFLAGS_config=
1631   AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1632                  libc_cv_as_noexecstack, [dnl
1633   cat > conftest.c <<EOF
1634 void foo (void) { }
1635 EOF
1636   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1637                      -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1638      && grep -q .note.GNU-stack conftest.s \
1639      && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
1640                        -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1641   then
1642     libc_cv_as_noexecstack=yes
1643   else
1644     libc_cv_as_noexecstack=no
1645   fi
1646   rm -f conftest*])
1647   if test $libc_cv_as_noexecstack = yes; then
1648     ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1649   fi
1650   AC_SUBST(ASFLAGS_config)
1651
1652   AC_CACHE_CHECK(for -z combreloc,
1653                  libc_cv_z_combreloc, [dnl
1654   cat > conftest.c <<EOF
1655 extern int bar (int);
1656 extern int mumble;
1657 int foo (void) { return bar (mumble); }
1658 EOF
1659   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1660                         -fPIC -shared -o conftest.so conftest.c
1661                         -nostdlib -nostartfiles
1662                         -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1663   then
1664 dnl The following test is a bit weak.  We must use a tool which can test
1665 dnl cross-platform since the gcc used can be a cross compiler.  Without
1666 dnl introducing new options this is not easily doable.  Instead use a tool
1667 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1668 dnl look for a section named .rel.dyn.
1669     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1670       libc_cv_z_combreloc=yes
1671     else
1672       libc_cv_z_combreloc=no
1673     fi
1674   else
1675     libc_cv_z_combreloc=no
1676   fi
1677   rm -f conftest*])
1678   if test "$libc_cv_z_combreloc" = yes; then
1679     AC_DEFINE(HAVE_Z_COMBRELOC)
1680   fi
1681   AC_SUBST(libc_cv_z_combreloc)
1682
1683   AC_CACHE_CHECK(for -z execstack,
1684                  libc_cv_z_execstack, [dnl
1685   cat > conftest.c <<EOF
1686 int _start (void) { return 42; }
1687 EOF
1688   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1689                               -fPIC -shared -o conftest.so conftest.c
1690                               -Wl,-z,execstack -nostdlib
1691                               1>&AS_MESSAGE_LOG_FD])
1692   then
1693     libc_cv_z_execstack=yes
1694   else
1695     libc_cv_z_execstack=no
1696   fi
1697   rm -f conftest*])
1698   AC_SUBST(libc_cv_z_execstack)
1699
1700   AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1701   cat > conftest.c <<EOF
1702 int foo;
1703 main () { return 0;}
1704 EOF
1705   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1706                               -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1707   then
1708     libc_cv_fpie=yes
1709   else
1710     libc_cv_fpie=no
1711   fi
1712   rm -f conftest*])
1713
1714   AC_SUBST(libc_cv_fpie)
1715
1716   AC_CACHE_CHECK(for --hash-style option,
1717                  libc_cv_hashstyle, [dnl
1718   cat > conftest.c <<EOF
1719 int _start (void) { return 42; }
1720 EOF
1721   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1722                               -fPIC -shared -o conftest.so conftest.c
1723                               -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
1724   then
1725     libc_cv_hashstyle=yes
1726   else
1727     libc_cv_hashstyle=no
1728   fi
1729   rm -f conftest*])
1730   AC_SUBST(libc_cv_hashstyle)
1731 fi
1732
1733 AC_CACHE_CHECK(for -fno-toplevel-reorder -fno-section-anchors, libc_cv_fno_toplevel_reorder, [dnl
1734 cat > conftest.c <<EOF
1735 int foo;
1736 EOF
1737 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-anchors
1738                             conftest.c 1>&AS_MESSAGE_LOG_FD])
1739 then
1740   libc_cv_fno_toplevel_reorder=yes
1741 else
1742   libc_cv_fno_toplevel_reorder=no
1743 fi
1744 rm -f conftest*])
1745 if test $libc_cv_fno_toplevel_reorder = yes; then
1746   fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
1747 else
1748   fno_unit_at_a_time=-fno-unit-at-a-time
1749 fi
1750 AC_SUBST(fno_unit_at_a_time)
1751
1752 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1753 cat > conftest.c <<EOF
1754 int foo;
1755 main () { return 0;}
1756 EOF
1757 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Werror -fstack-protector
1758                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1759 then
1760   libc_cv_ssp=yes
1761 else
1762   libc_cv_ssp=no
1763 fi
1764 rm -f conftest*])
1765 AC_SUBST(libc_cv_ssp)
1766
1767 AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
1768 cat > conftest.c <<EOF
1769 int foo;
1770 #ifdef __GNUC_GNU_INLINE__
1771 main () { return 0;}
1772 #else
1773 #error
1774 #endif
1775 EOF
1776 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
1777                             -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD])
1778 then
1779   libc_cv_gnu89_inline=yes
1780 else
1781   libc_cv_gnu89_inline=no
1782 fi
1783 rm -f conftest*])
1784 if test $libc_cv_gnu89_inline = yes; then
1785   gnu89_inline=-fgnu89-inline
1786 else
1787   gnu89_inline=
1788 fi
1789 AC_SUBST(gnu89_inline)
1790
1791 if test $elf != yes; then
1792   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1793                  [AC_TRY_COMPILE(, [asm (".section .init");
1794                                     asm (".section .fini");
1795                                     asm ("${libc_cv_dot_text}");],
1796                                  libc_cv_have_initfini=yes,
1797                                  libc_cv_have_initfini=no)])
1798   AC_SUBST(libc_cv_have_initfini)dnl
1799   if test $libc_cv_have_initfini = yes; then
1800     AC_DEFINE(HAVE_INITFINI)
1801   fi
1802 fi
1803
1804 if test $elf = yes; then
1805   AC_CACHE_CHECK(whether cc puts quotes around section names,
1806                  libc_cv_have_section_quotes,
1807                  [cat > conftest.c <<EOF
1808                   static const int foo
1809                   __attribute__ ((section ("bar"))) = 1;
1810 EOF
1811                   if ${CC-cc} -S conftest.c -o conftest.s; then
1812                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1813                       libc_cv_have_section_quotes=yes
1814                     else
1815                       libc_cv_have_section_quotes=no
1816                     fi
1817                   else
1818                     libc_cv_have_section_quotes=unknown
1819                   fi
1820                   rm -f conftest.{c,s}
1821                  ])
1822   if test $libc_cv_have_section_quotes = yes; then
1823     AC_DEFINE(HAVE_SECTION_QUOTES)
1824   fi
1825 fi
1826
1827 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1828 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1829 [cat > conftest.$ac_ext <<EOF
1830 dnl This sometimes fails to find confdefs.h, for some reason.
1831 dnl [#]line $LINENO "[$]0"
1832 [#]line $LINENO "configure"
1833 #include "confdefs.h"
1834 void underscore_test(void) {
1835 return; }
1836 EOF
1837 if AC_TRY_EVAL(ac_compile); then
1838   if grep _underscore_test conftest* >/dev/null; then
1839     ifelse([$1], , :, [rm -f conftest*
1840     $1])
1841   else
1842     ifelse([$2], , , [rm -f conftest*
1843     $2])
1844   fi
1845 else
1846   echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1847   cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1848   ifelse([$2], , , [rm -f conftest*
1849   $2])
1850 fi
1851 rm -f conftest*])
1852
1853 if test $elf = yes; then
1854   libc_cv_asm_underscores=no
1855 else
1856   if test $ac_cv_prog_cc_works = yes; then
1857     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1858                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1859                                 libc_cv_asm_underscores=yes,
1860                                 libc_cv_asm_underscores=no)])
1861   else
1862     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1863                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1864                                             libc_cv_asm_underscores=no)])
1865   fi
1866 fi
1867 if test $libc_cv_asm_underscores = no; then
1868   AC_DEFINE(NO_UNDERSCORES)
1869 fi
1870
1871 if test $elf = yes; then
1872   libc_cv_weak_symbols=yes
1873 fi
1874
1875 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1876                [dnl
1877 cat > conftest.s <<EOF
1878 ${libc_cv_dot_text}
1879 ${libc_cv_asm_global_directive} foo
1880 foo:
1881 .weak foo
1882 .weak bar; bar = foo
1883 EOF
1884 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1885   libc_cv_asm_weak_directive=yes
1886 else
1887   libc_cv_asm_weak_directive=no
1888 fi
1889 rm -f conftest*])
1890
1891 if test $libc_cv_asm_weak_directive = no; then
1892   AC_CACHE_CHECK(for assembler .weakext directive,
1893                  libc_cv_asm_weakext_directive,
1894                  [dnl
1895 cat > conftest.s <<EOF
1896 ${libc_cv_dot_text}
1897 ${libc_cv_asm_global_directive} foo
1898 foo:
1899 .weakext bar foo
1900 .weakext baz
1901 ${libc_cv_asm_global_directive} baz
1902 baz:
1903 EOF
1904   if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1905     libc_cv_asm_weakext_directive=yes
1906   else
1907     libc_cv_asm_weakext_directive=no
1908   fi
1909   rm -f conftest*])
1910
1911 fi # no .weak
1912
1913 if test $libc_cv_asm_weak_directive = yes; then
1914   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1915 elif test $libc_cv_asm_weakext_directive = yes; then
1916   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1917 fi
1918
1919 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1920 case $machine in
1921   sparc/sparc64*) cfi_offset=2047;;
1922   *) cfi_offset=0;;
1923 esac
1924 cat > conftest.s <<EOF
1925         .text
1926         .type   func,%function
1927 func:
1928         .cfi_startproc
1929         .cfi_remember_state
1930         .cfi_rel_offset 1, $cfi_offset
1931         .cfi_endproc
1932 EOF
1933 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1934   libc_cv_asm_cfi_directives=yes
1935 else
1936   libc_cv_asm_cfi_directives=no
1937 fi
1938 rm -f conftest*])
1939 if test $libc_cv_asm_cfi_directives = yes; then
1940   AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1941 fi
1942
1943 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1944 cat > conftest.c <<\EOF
1945 _start () {}
1946 int __eh_pc;
1947 __throw () {}
1948 EOF
1949 dnl No \ in command here because it ends up inside ''.
1950 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1951                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1952                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1953   libc_cv_ld_no_whole_archive=yes
1954 else
1955   libc_cv_ld_no_whole_archive=no
1956 fi
1957 rm -f conftest*])
1958 if test $libc_cv_ld_no_whole_archive = yes; then
1959   no_whole_archive=-Wl,--no-whole-archive
1960 fi
1961 AC_SUBST(no_whole_archive)dnl
1962
1963 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1964 cat > conftest.c <<\EOF
1965 _start () {}
1966 int __eh_pc;
1967 __throw () {}
1968 EOF
1969 dnl No \ in command here because it ends up inside ''.
1970 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1971                             -nostdlib -nostartfiles -fexceptions
1972                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1973   libc_cv_gcc_exceptions=yes
1974 else
1975   libc_cv_gcc_exceptions=no
1976 fi
1977 rm -f conftest*])
1978 if test $libc_cv_gcc_exceptions = yes; then
1979   exceptions=-fexceptions
1980 fi
1981 AC_SUBST(exceptions)dnl
1982
1983 if test "$host_cpu" = powerpc ; then
1984 # Check for a bug present in at least versions 2.8.x of GCC
1985 # and versions 1.0.x of EGCS.
1986 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1987 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1988                libc_cv_c_asmcr0_bug='no',
1989                libc_cv_c_asmcr0_bug='yes')])
1990 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1991   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1992 fi
1993 fi
1994
1995 dnl Check whether compiler understands __builtin_expect.
1996 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1997 [cat > conftest.c <<EOF
1998 #line $LINENO "configure"
1999 int foo (int a)
2000 {
2001   a = __builtin_expect (a, 10);
2002   return a == 10 ? 0 : 1;
2003 }
2004 EOF
2005 dnl No \ in command here because it ends up inside ''.
2006 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
2007                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
2008   libc_cv_gcc_builtin_expect=yes
2009 else
2010   libc_cv_gcc_builtin_expect=no
2011 fi
2012 rm -f conftest*])
2013 if test "$libc_cv_gcc_builtin_expect" = yes; then
2014   AC_DEFINE(HAVE_BUILTIN_EXPECT)
2015 fi
2016
2017 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
2018 cat > conftest.c <<\EOF
2019 void zero (void *x)
2020 {
2021   __builtin_memset (x, 0, 1000);
2022 }
2023 EOF
2024 dnl
2025 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
2026 then
2027   libc_cv_gcc_builtin_memset=no
2028 else
2029   libc_cv_gcc_builtin_memset=yes
2030 fi
2031 rm -f conftest* ])
2032 if test "$libc_cv_gcc_builtin_memset" = yes ; then
2033   AC_DEFINE(HAVE_BUILTIN_MEMSET)
2034 fi
2035
2036 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
2037 cat > conftest.c <<\EOF
2038 extern char *strstr (const char *, const char *) __asm ("my_strstr");
2039 char *foo (const char *a, const char *b)
2040 {
2041   return __builtin_strstr (a, b);
2042 }
2043 EOF
2044 dnl
2045 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
2046 then
2047   libc_cv_gcc_builtin_redirection=yes
2048 else
2049   libc_cv_gcc_builtin_redirection=no
2050 fi
2051 rm -f conftest* ])
2052 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
2053   AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
2054 fi
2055
2056 dnl Check whether the compiler supports the __thread keyword.
2057 if test "x$use__thread" != xno; then
2058   AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
2059   [cat > conftest.c <<\EOF
2060 __thread int a = 42;
2061 EOF
2062   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
2063     libc_cv_gcc___thread=yes
2064   else
2065     libc_cv_gcc___thread=no
2066   fi
2067   rm -f conftest*])
2068   if test "$libc_cv_gcc___thread" = yes; then
2069     AC_DEFINE(HAVE___THREAD)
2070   fi
2071 else
2072   libc_cv_gcc___thread=no
2073 fi
2074
2075 if test "$libc_cv_gcc___thread" = yes; then
2076   dnl Check whether the compiler supports the tls_model attribute.
2077   AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
2078   cat > conftest.c <<\EOF
2079 extern __thread int a __attribute__((tls_model ("initial-exec")));
2080 EOF
2081   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
2082     libc_cv_gcc_tls_model_attr=yes
2083   else
2084     libc_cv_gcc_tls_model_attr=no
2085   fi
2086   rm -f conftest*])
2087   if test "$libc_cv_gcc_tls_model_attr" = yes; then
2088     AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
2089   fi
2090 fi
2091
2092 if test -n "$submachine"; then
2093   AC_CACHE_CHECK([for compiler option for CPU variant],
2094                  libc_cv_cc_submachine, [dnl
2095   libc_cv_cc_submachine=no
2096   for opt in "-march=$submachine" "-mcpu=$submachine"; do
2097     if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then
2098       libc_cv_cc_submachine="$opt"
2099       break
2100     fi
2101   done])
2102   if test "x$libc_cv_cc_submachine" = xno; then
2103     AC_MSG_ERROR([${CC-cc} does not support $submachine])
2104   fi
2105 fi
2106 AC_SUBST(libc_cv_cc_submachine)
2107
2108 dnl Check whether we have the gd library available.
2109 AC_MSG_CHECKING(for libgd)
2110 if test "$with_gd" != "no"; then
2111   old_CFLAGS="$CFLAGS"
2112   CFLAGS="$CFLAGS $libgd_include"
2113   old_LDFLAGS="$LDFLAGS"
2114   LDFLAGS="$LDFLAGS $libgd_ldflags"
2115   old_LIBS="$LIBS"
2116   LIBS="$LIBS -lgd -lpng -lz -lm"
2117   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
2118   CFLAGS="$old_CFLAGS"
2119   LDFLAGS="$old_LDFLAGS"
2120   LIBS="$old_LIBS"
2121 else
2122   LIBGD=no
2123 fi
2124 AC_MSG_RESULT($LIBGD)
2125 AC_SUBST(LIBGD)
2126
2127 # SELinux detection
2128 if test x$with_selinux = xno ; then
2129   have_selinux=no;
2130 else
2131   # See if we have the SELinux library
2132   AC_CHECK_LIB(selinux, is_selinux_enabled,
2133                have_selinux=yes, have_selinux=no)
2134   # See if we have the SELinux header with the NSCD permissions in it.
2135   if test x$have_selinux = xyes ; then
2136     AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
2137     AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
2138                     [#ifdef NSCD__SHMEMHOST
2139                      return 0;
2140                      #else
2141                      #error NSCD__SHMEMHOST not defined
2142                      #endif],
2143                     have_selinux=yes, have_selinux=no)
2144     AC_MSG_RESULT($have_selinux)
2145   fi
2146
2147   if test x$with_selinux = xyes ; then
2148     if test x$have_selinux = xno ; then
2149       AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
2150     fi
2151   fi
2152 fi
2153 # Check if we're building with SELinux support.
2154 if test "x$have_selinux" = xyes; then
2155   AC_DEFINE(HAVE_SELINUX, 1, [SELinux support])
2156
2157   # See if we have the libaudit library
2158   AC_CHECK_LIB(audit, audit_log_user_avc_message,
2159                have_libaudit=yes, have_libaudit=no)
2160   if test "x$have_libaudit" = xyes; then
2161     AC_DEFINE(HAVE_LIBAUDIT, 1, [SELinux libaudit support])
2162   fi
2163   AC_SUBST(have_libaudit)
2164
2165   # See if we have the libcap library
2166   AC_CHECK_LIB(cap, cap_init, have_libcap=yes, have_libcap=no)
2167   if test "x$have_libcap" = xyes; then
2168     AC_DEFINE(HAVE_LIBCAP, 1, [SELinux libcap support])
2169   fi
2170   AC_SUBST(have_libcap)
2171 fi
2172 AC_SUBST(have_selinux)
2173
2174 dnl check for the size of 'long double'.
2175 AC_CHECK_SIZEOF(long double, 0)
2176 sizeof_long_double=$ac_cv_sizeof_long_double
2177 AC_SUBST(sizeof_long_double)
2178
2179 ### End of automated tests.
2180 ### Now run sysdeps configure fragments.
2181
2182 # They also can set these variables.
2183 use_ldconfig=no
2184 ldd_rewrite_script=no
2185 libc_cv_sysconfdir=$sysconfdir
2186 libc_cv_gcc_unwind_find_fde=no
2187 libc_cv_idn=no
2188
2189 # Iterate over all the sysdep directories we will use, running their
2190 # configure fragments.
2191 for dir in $sysnames; do
2192   case $dir in
2193     /*) dest=$dir ;;
2194     *)  dest=$srcdir/$dir ;;
2195   esac
2196   if test -r $dest/configure; then
2197     AC_MSG_RESULT(running configure fragment for $dir)
2198     . $dest/configure
2199   fi
2200 done
2201
2202 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2203   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2204 fi
2205 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2206
2207 dnl This is tested by existing code and it's simpler to avoid changing it.
2208 AC_DEFINE(USE_IN_LIBIO)
2209
2210 # Test for old glibc 2.0.x headers so that they can be removed properly
2211 # Search only in includedir.
2212 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2213 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2214 then
2215   old_glibc_headers=yes
2216 else
2217   old_glibc_headers=no
2218 fi
2219 AC_MSG_RESULT($old_glibc_headers)
2220 if test ${old_glibc_headers} = yes; then
2221   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2222   AC_MSG_WARN(*** be removed.)
2223 fi
2224 AC_SUBST(old_glibc_headers)
2225
2226 AC_SUBST(libc_cv_slibdir)
2227 AC_SUBST(libc_cv_localedir)
2228 AC_SUBST(libc_cv_sysconfdir)
2229 AC_SUBST(libc_cv_rootsbindir)
2230 AC_SUBST(libc_cv_forced_unwind)
2231
2232 dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
2233 AC_SUBST(libc_cv_cpp_asm_debuginfo)
2234 AC_SUBST(libc_cv_cc_sse4)
2235 AC_SUBST(libc_cv_cc_avx)
2236 AC_SUBST(libc_cv_cc_novzeroupper)
2237 AC_SUBST(libc_cv_as_i686)
2238
2239 AC_SUBST(use_ldconfig)
2240 AC_SUBST(ldd_rewrite_script)
2241
2242 AC_SUBST(elf) AC_SUBST(xcoff)
2243 if test $elf = yes; then
2244   AC_DEFINE(HAVE_ELF)
2245 fi
2246 if test $xcoff = yes; then
2247   AC_DEFINE(HAVE_XCOFF)
2248 fi
2249
2250 AC_SUBST(static)
2251 AC_SUBST(shared)
2252 if test $shared = default; then
2253   shared=$elf
2254 fi
2255
2256 AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
2257 [libc_cv_pic_default=yes
2258 cat > conftest.c <<EOF
2259 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2260 # error PIC is default.
2261 #endif
2262 EOF
2263 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2264   libc_cv_pic_default=no
2265 fi
2266 rm -f conftest.*])
2267 AC_SUBST(libc_cv_pic_default)
2268
2269 AC_SUBST(profile)
2270 AC_SUBST(omitfp)
2271 AC_SUBST(bounded)
2272 AC_SUBST(static_nss)
2273 AC_SUBST(nopic_initfini)
2274
2275 AC_SUBST(DEFINES)
2276
2277 dnl See sysdeps/mach/configure.in for this variable.
2278 AC_SUBST(mach_interface_list)
2279
2280 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2281   config_makefile=
2282 else
2283   config_makefile=Makefile
2284 fi
2285
2286 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2287 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2288 AC_SUBST(VERSION)
2289 AC_SUBST(RELEASE)
2290
2291 AC_CONFIG_FILES([config.make ${config_makefile}])
2292 AC_CONFIG_COMMANDS([default],[[
2293 case $CONFIG_FILES in *config.make*)
2294 echo "$config_vars" >> config.make;;
2295 esac
2296 test -d bits || mkdir bits]],[[config_vars='$config_vars']])
2297 AC_OUTPUT