]> sourceware.org Git - glibc.git/blame - configure.in
Update.
[glibc.git] / configure.in
CommitLineData
f4017d20 1dnl Process this file with autoconf to produce a configure script.
ff3d7ed3 2AC_REVISION([$CVSid$])
2f512715 3AC_PREREQ(2.13)dnl dnl Minimum Autoconf version required.
5107cf1d 4AC_INIT(include/features.h)
28f540f4 5AC_CONFIG_HEADER(config.h)
5bc2f642 6AC_CONFIG_AUX_DIR(scripts)
28f540f4
RM
7
8# This will get text that should go into config.make.
9config_vars=
10
11# Check for a --with-gmp argument and set gmp-srcdir in config.make.
12AC_ARG_WITH(gmp, dnl
13 --with-gmp=DIRECTORY find GMP source code in DIRECTORY (not needed),
14 [dnl
15case "$with_gmp" in
16yes) AC_MSG_ERROR(--with-gmp requires an argument; use --with-gmp=DIRECTORY) ;;
17''|no) ;;
18*) config_vars="$config_vars
19gmp-srcdir = $withval" ;;
20esac
21])
75914335
RM
22# Check for a --with-gettext argument and set gettext-srcdir in config.make.
23AC_ARG_WITH(gettext, dnl
24 --with-gettext=DIR find GNU gettext source code in DIR (not needed),
25 [dnl
26case "$with_gettext" in
27yes)
28 AC_MSG_ERROR(--with-gettext requires an argument; use --with-gettext=DIR) ;;
29''|no) ;;
30*)
31 config_vars="$config_vars
32gettext-srcdir = $withval" ;;
33esac
34])
28f540f4 35
ff3d7ed3 36dnl Arguments to specify presence of other packages/features.
335aa320 37AC_ARG_WITH(fp, dnl
a18f587d 38[ --with-fp if using floating-point hardware [default=yes]],
335aa320 39 with_fp=$withval, with_fp=yes)
650425ce 40AC_ARG_WITH(binutils, dnl
a5a0310d 41 --with-binutils=PATH specify location of binutils (as and ld),
650425ce 42 path_binutils=$withval, path_binutils='')
28f540f4
RM
43AC_ARG_WITH(elf, dnl
44 --with-elf if using the ELF object format,
335aa320 45 elf=$withval, elf=no)
4d06461a
UD
46AC_ARG_WITH(cvs, dnl
47[ --without-cvs if CVS should not be used],
48 with_cvs=$withval, with_cvs=yes)
49AC_SUBST(with_cvs)
28f540f4 50
dbe7a0f5
UD
51AC_ARG_WITH(headers, dnl
52[ --with-headers=PATH location of system headers to use
53 [e.g. /usr/src/linux/include]
54 [default=compiler default]],
55 sysheaders=$withval, sysheaders='')
56
deab9dea
RM
57AC_ARG_ENABLE(libio, dnl
58[ --enable-libio build in GNU libio instead of GNU stdio],
f4482045
RM
59 [if test $enableval = yes; then
60 stdio=libio
61 else
62 stdio=stdio
63 fi],
64 stdio=default)
deab9dea 65
a18f587d
UD
66AC_ARG_ENABLE(sanity-checks, dnl
67[ --disable-sanity-checks really do not use threads (should not be used
68 except in special situations) [default=yes]],
69 enable_sanity=$enableval, enable_sanity=yes)
70
650425ce
UD
71dnl Arguments to enable or disable building the static, shared, profiled,
72dnl and -fomit-frame-pointer libraries.
b38bb8ca
UD
73dnl I've disabled this for now since we cannot build glibc without static
74dnl libraries built in the moment.
75dnl AC_ARG_ENABLE(static, dnl
76dnl [ --enable-static build static library [default=yes]],
77dnl static=$enableval, static=yes)
5c2a0669 78static=yes
ff3d7ed3
RM
79AC_ARG_ENABLE(shared, dnl
80[ --enable-shared build shared library [default=yes if GNU ld & ELF]],
6b3a2224 81 shared=$enableval, shared=default)
ff3d7ed3
RM
82AC_ARG_ENABLE(profile, dnl
83[ --enable-profile build profiled library [default=yes]],
6b3a2224 84 profile=$enableval, profile=yes)
ff3d7ed3 85AC_ARG_ENABLE(omitfp, dnl
6b3a2224
RM
86[ --enable-omitfp build undebuggable optimized library [default=no]],
87 omitfp=$enableval, omitfp=no)
5a97622d
UD
88AC_ARG_ENABLE(bounded, dnl
89[ --enable-bounded build with runtime bounds checking [default=no]],
90 bounded=$enableval, bounded=no)
650425ce
UD
91AC_ARG_ENABLE(versioning, dnl
92[ --disable-versioning do not include versioning information in the
93 library objects [default=yes if supported]],
94 enable_versioning=$enableval, enable_versioning=yes)
6b3a2224
RM
95
96dnl Generic infrastructure for drop-in additions to libc.
97AC_ARG_ENABLE(add-ons, dnl
73237de3
UD
98[ --enable-add-ons[=DIR1,DIR2]...
99 configure and build add-ons in DIR1,DIR2,...
100 search for add-ons if no parameter given],
61952351 101 [case "$enableval" in
9c4c0024
UD
102 yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
103 test "$add_ons" = "*" && add_ons= ;;
61952351
UD
104 *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
105 esac],
106 [add_ons=])
107
6b3a2224 108AC_CONFIG_SUBDIRS($add_ons)
57ba7bb4 109add_ons_pfx=
da74e902 110if test x"$add_ons" != x; then
57ba7bb4 111 for f in $add_ons; do
af6f3906
UD
112 # Test whether such a subdir really exists.
113 if test -d $srcdir/$f; then
114 add_ons_pfx="$add_ons_pfx $f/"
115 else
116 AC_MSG_ERROR(add-on directory \"$f\" does not exist)
117 fi
57ba7bb4
UD
118 done
119fi
ff3d7ed3 120
5107cf1d
UD
121dnl On some platforms we cannot use dynamic loading. We must provide
122dnl static NSS modules.
123AC_ARG_ENABLE(static-nss, dnl
124[ --enable-static-nss build static NSS modules [default=no]],
125 static_nss=$enableval, static_nss=no)
126if test x"$static_nss" = xyes; then
127 AC_DEFINE(DO_STATIC_NSS)
128fi
129
73237de3 130AC_ARG_ENABLE(force-install,
310b3460 131[ --disable-force-install don't force installation of files from this package,
73237de3
UD
132 even if they are older than the installed files],
133 force_install=$enableval, force_install=yes)
134AC_SUBST(force_install)
135
958f238f
UD
136dnl On some platforms we allow dropping compatibility with all kernel
137dnl versions.
138AC_ARG_ENABLE(kernel,
b5b53bdb 139[ --enable-kernel=VERSION compile for compatibility with kernel not older
958f238f
UD
140 than VERSION],
141 minimum_kernel=$enableval)
142
28f540f4 143AC_CANONICAL_HOST
8a523922
UD
144
145# The way shlib-versions is used to generate soversions.mk uses a
146# fairly simplistic model for name recognition that can't distinguish
147# i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
148# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
149# tell. This doesn't get used much beyond that, so it's fairly safe.
150case "$host_os" in
151linux*)
152 ;;
153gnu*)
154 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
155 ;;
156esac
157
28f540f4
RM
158# We keep the original values in `$config_*' and never modify them, so we
159# can write them unchanged into config.make. Everything else uses
160# $machine, $vendor, and $os, and changes them whenever convenient.
161config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
162
a2fe9c76
RM
163# Some configurations imply other options.
164case "$host_os" in
165gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
166 # These systems always use GNU tools.
c8cf0b14 167 gnu_ld=yes gnu_as=yes ;;
a2fe9c76
RM
168esac
169case "$host_os" in
7799b7b3
UD
170# i586-linuxaout is mangled into i586-pc-linux-gnuaout
171linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
3776d592 172 ;;
ba909880 173gnu* | linux* | sysv4* | solaris2* | irix6*)
3776d592
RM
174 # These systems (almost) always use the ELF format.
175 elf=yes
84724245 176 ;;
a2fe9c76
RM
177esac
178
28f540f4
RM
179machine=$config_machine
180vendor=$config_vendor
181os=$config_os
182
bdc8eb03
UD
183###
184### I put this here to prevent those annoying emails from people who cannot
185### read and try to compile glibc on unsupported platforms. --drepper
186###
187### By using the undocumented --enable-hacker-mode option for configure
188### one can skip this test to make the configuration not fail for unsupported
189### platforms.
190###
191if test -z "$enable_hacker_mode"; then
192 case "$machine-$host_os" in
193 *-linux* | *-gnu* | arm*-none*)
194 ;;
195 *)
196 echo "*** The GNU C library is currently not available for this platform."
197 echo "*** So far nobody cared to port it and if there is no volunteer it"
198 echo "*** might never happen. So, if you have interest to see glibc on"
199 echo "*** this platform visit"
200 echo "*** http://www.gnu.org/software/libc/porting.html"
201 echo "*** and join the group of porters"
202 exit 1
203 ;;
204 esac
205fi
206
28f540f4
RM
207dnl We need to use [ and ] for other purposes for a while now.
208changequote(,)dnl
209# Expand the configuration machine name into a subdirectory by architecture
210# type and particular chip.
211case "$machine" in
f0523145
RM
212a29k | am29000) base_machine=a29k machine=a29k ;;
213alpha*) base_machine=alpha machine=alpha/$machine ;;
7799b7b3 214arm*) base_machine=arm machine=arm/$machine ;;
60c96635
UD
215c3[012]) base_machine=cx0 machine=cx0/c30 ;;
216c4[04]) base_machine=cx0 machine=cx0/c40 ;;
f0523145 217hppa*) base_machine=hppa machine=hppa/$machine ;;
a8922de8 218i[3456]86) base_machine=i386 machine=i386/$machine ;;
f0523145
RM
219m680?0) base_machine=m68k machine=m68k/$machine ;;
220m68k) base_machine=m68k machine=m68k/m68020 ;;
221m88???) base_machine=m88k machine=m88k/$machine ;;
222m88k) base_machine=m88k machine=m88k/m88100 ;;
f0523145 223mips64*) base_machine=mips64 machine=mips/mips64/$machine ;;
9a97d1f7
UD
224mips*) base_machine=mips
225 case "`uname -m`" in
226 IP22) machine=mips/mips3 ;;
45b3d8ad 227 *) machine=mips/$machine ;;
9a97d1f7 228 esac ;;
ca34d7a7
UD
229sparc | sparcv[67])
230 base_machine=sparc machine=sparc/sparc32 ;;
231sparcv8 | supersparc | hypersparc)
232 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
ae6b8730
RH
233sparcv8plus | sparcv8plusa | sparcv9)
234 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
ca34d7a7
UD
235sparc64 | ultrasparc)
236 base_machine=sparc machine=sparc/sparc64 ;;
28f540f4 237esac
f0523145
RM
238changequote([,])dnl
239AC_SUBST(base_machine)
28f540f4 240
dfd2257a
UD
241if test "$base_machine" = "i386"; then
242 AC_DEFINE(USE_REGPARMS)
243fi
244
f0523145 245# Compute the list of sysdep directories for this configuration.
f332db02 246# This can take a while to compute.
f0523145 247sysdep_dir=$srcdir/sysdeps
f332db02 248AC_MSG_CHECKING(sysdep dirs)
f0523145
RM
249dnl We need to use [ and ] for other purposes for a while now.
250changequote(,)dnl
28f540f4
RM
251# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
252os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
253
254case "$os" in
255gnu*)
256 base_os=mach/hurd ;;
883bc19b 257netbsd* | 386bsd* | freebsd* | bsdi*)
28f540f4 258 base_os=unix/bsd/bsd4.4 ;;
222c4e71 259osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
28f540f4 260 base_os=unix/bsd ;;
d586354e 261sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
28f540f4 262 base_os=unix/sysv ;;
f802accb
UD
263irix6*)
264 base_os=unix/sysv/irix6/$os ;;
d586354e 265solaris[2-9]*)
28f540f4 266 base_os=unix/sysv/sysv4 ;;
908c3d5b
UD
267hpux*)
268 base_os=unix/sysv/hpux/$os ;;
28f540f4
RM
269none)
270 base_os=standalone ;;
271*)
272 base_os='' ;;
273esac
274
275# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
276tail=$os
277ostry=$os
278while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
279 ostry="$ostry /$o"
280 tail=$o
75914335 281done
28f540f4
RM
282o=`echo $tail | sed 's/[0-9]*$//'`
283if test $o != $tail; then
284 ostry="$ostry /$o"
285fi
ec4b0518
UD
286# For linux-gnu, try linux-gnu, then linux.
287o=`echo $tail | sed 's/-.*$//'`
288if test $o != $tail; then
289 ostry="$ostry /$o"
290fi
28f540f4
RM
291
292# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
293base=
294tail=$base_os
295while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
296 set $b
297 base="$base /$1"
298 tail="$2"
299done
300
ae6b8730 301# For sparc/sparc32, try sparc/sparc32 and then sparc.
28f540f4
RM
302mach=
303tail=$machine
304while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
305 set $m
10ceac89
RM
306 # Prepend the machine's FPU directory unless --without-fp.
307 if test "$with_fp" = yes; then
308 mach="$mach /$1/fpu"
82d00cab 309 fi
28f540f4
RM
310 mach="$mach /$1"
311 tail="$2"
312done
313
314dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
315changequote([,])dnl
316
317# Find what sysdep directories exist.
318sysnames=
57ba7bb4
UD
319IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
320for d in $add_ons_pfx ''; do
321 for b in $base ''; do
322 for m0 in $mach ''; do
323 for v in /$vendor ''; do
ae828bc6 324 test "$v" = / && continue
57ba7bb4 325 for o in /$ostry ''; do
ae828bc6 326 test "$o" = / && continue
57ba7bb4
UD
327 for m in $mach ''; do
328 if test "$m0$b$v$o$m"; then
329 try="${d}sysdeps$m0$b$v$o$m"
330 test -n "$enable_debug_configure" &&
331 echo "$0 [DEBUG]: try $try" >&2
9c4c0024 332 if test -d $srcdir/$try; then
57ba7bb4
UD
333 sysnames="$sysnames $try"
334 { test -n "$o" || test -n "$b"; } && os_used=t
335 { test -n "$m" || test -n "$m0"; } && machine_used=t
336 fi
337 fi
338 done
28f540f4
RM
339 done
340 done
341 done
342 done
343done
57ba7bb4 344IFS="$ac_save_ifs"
28f540f4
RM
345
346if test -z "$os_used" && test "$os" != none; then
347 AC_MSG_ERROR(Operating system $os is not supported.)
348fi
349if test -z "$machine_used" && test "$machine" != none; then
350 AC_MSG_ERROR(The $machine is not supported.)
351fi
352
353# We have now validated the configuration.
354
335aa320 355
10ceac89
RM
356# If using ELF, look for an `elf' subdirectory of each machine directory.
357# We prepend these rather than inserting them whereever the machine appears
358# because things specified by the machine's ELF ABI should override
359# OS-specific things, and should always be the same for any OS on the
360# machine (otherwise what's the point of an ABI?).
361if test "$elf" = yes; then
362 elf_dirs=
57ba7bb4 363 for d in $add_ons_pfx ''; do
57ba7bb4 364 for m in $mach; do
9c4c0024 365 if test -d $srcdir/${d}sysdeps$m/elf; then
c2bb8cab 366 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
57ba7bb4
UD
367 fi
368 done
28f540f4 369 done
57ba7bb4 370 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
28f540f4
RM
371fi
372
335aa320 373
28f540f4
RM
374# Expand the list of system names into a full list of directories
375# from each element's parent name and Implies file (if present).
376set $sysnames
e50ec9f9 377names=
28f540f4
RM
378while test $# -gt 0; do
379 name=$1
380 shift
381
e50ec9f9 382 case " $names " in *" $name "*)
f332db02
RM
383 # Already in the list.
384 continue
e50ec9f9 385 esac
f332db02
RM
386
387 # Report each name as we discover it, so there is no long pause in output.
388 echo $ac_n "$name $ac_c" >&AC_FD_MSG
389
57ba7bb4
UD
390 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
391
392 case $name in
393 /*) xsrcdir= ;;
394 *) xsrcdir=$srcdir/ ;;
395 esac
396 test -n "$enable_debug_configure" &&
397 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
398
399 if test -f $xsrcdir$name/Implies; then
28f540f4 400 # Collect more names from the `Implies' file (removing comments).
57ba7bb4
UD
401 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
402 implied=
403 for x in $implied_candidate; do
404 if test -d $xsrcdir$name_base/$x; then
405 implied="$implied $name_base/$x";
406 else
407 AC_MSG_WARN($name/Implies specifies nonexistent $x)
408 fi
28f540f4
RM
409 done
410 else
411 implied=
412 fi
413
414 # Add NAME to the list of names.
415 names="$names $name"
416
417 # Find the parent of NAME, using the empty string if it has none.
418changequote(,)dnl
57ba7bb4 419 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
28f540f4
RM
420changequote([,])dnl
421
422 # Add the names implied by NAME, and NAME's parent (if it has one), to
423 # the list of names to be processed (the argument list). We prepend the
424 # implied names to the list and append the parent. We want implied
425 # directories to come before further directories inferred from the
426 # configuration components; this ensures that for sysv4, unix/common
427 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
428 # after sysv4).
429 sysnames="`echo $implied $* $parent`"
430 test -n "$sysnames" && set $sysnames
431done
432
433# Add the default directories.
ecdc196c 434default_sysnames=sysdeps/generic
2de7874e 435if test "$elf" = yes; then
ecdc196c 436 default_sysnames="sysdeps/generic/elf $default_sysnames"
2de7874e 437fi
ecdc196c 438sysnames="$names $default_sysnames"
f332db02
RM
439AC_SUBST(sysnames)
440# The other names were emitted during the scan.
ecdc196c 441AC_MSG_RESULT($default_sysnames)
28f540f4 442
f332db02
RM
443
444### Locate tools.
28f540f4 445
28f540f4 446AC_PROG_INSTALL
2b80a372 447if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
28f540f4 448 # The makefiles need to use a different form to find it in $srcdir.
2b80a372 449 INSTALL='\$(..)./scripts/install-sh -c'
28f540f4 450fi
0e3426bb 451AC_PROG_LN_S
ae828bc6 452
63bda0c1 453# These programs are version sensitive.
4bca4c17
UD
454AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
455AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
98393660 456 [version \([egcygnustp-]*[0-9.]*\)],
464e3605 457 [egcs-2.9[1-9].*|egcs-2.90.2[789]|egcs-2.90.[3-9][0-9]|*gcc-2.9[1-9].*|pgcc-2.90.2[789]|pgcc-2.90.[3-9][0-9]|*2.8.[1-9]*|*2.9|*2.9.[0-9]*|2.9[5-9]*|cygnus-2.9[1-9].*|gcc-2.9[5-9]|gcc-2.1[0-9][0-9]],
4bca4c17 458 critic_missing=t)
63bda0c1
UD
459AC_CHECK_PROG_VER(MAKE, make gmake, --version,
460 [version \([0-9][0-9.]*\), by],
6598ac30 461 [3.75 | 3.76.[1-9]* | 3.7[789]* | 3.[89]*], critic_missing=t)
63bda0c1
UD
462
463AC_CHECK_PROG_VER(MSGFMT, msgfmt gmsgfmt, --version,
bdd421cc
UD
464 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
465 [0.[1-9][0-9].* | [1-9].*], MSGFMT=: aux_missing=t)
63bda0c1 466AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
8b7fb588 467 [GNU texinfo.* \([0-9][0-9.]*\)],
090ca000 468 [3.1[1-9] | 3.[2-9][0-9] | 1.6[89] | 1.7[0-9]], MAKEINFO=: aux_missing=t)
63bda0c1 469
4bca4c17
UD
470if test -n "$critic_missing"; then
471AC_MSG_ERROR([
63bda0c1
UD
472*** Some critical program is missing or too old.
473*** Check the INSTALL file for required versions.])
4bca4c17 474fi
63bda0c1 475
4bca4c17 476test -n "$aux_missing" && AC_MSG_WARN([
63bda0c1
UD
477*** An auxiliary program is missing or too old;
478*** some features will be disabled.
479*** Check the INSTALL file for required versions.])
28f540f4 480
ebbad4cc 481AC_PROG_CC_LOCAL
22d57dd3 482AC_CANONICAL_BUILD
072ebcef 483if test $host != $build; then
22d57dd3 484 AC_CHECK_PROGS(BUILD_CC, gcc cc)
072ebcef 485fi
779ae82e 486AC_SUBST(cross_compiling)
7c713e28 487AC_PROG_CPP
650425ce 488LIBC_PROG_BINUTILS
4bca4c17 489AC_CHECK_TOOL(MIG, mig)
28f540f4 490
dbe7a0f5
UD
491# if using special system headers, find out the compiler's sekrit
492# header directory and add that to the list. NOTE: Only does the right
493# thing on a system that doesn't need fixincludes. (Not presently a problem.)
494if test -n "$sysheaders"; then
495 ccheaders=`$CC -print-file-name=include`
496 SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
497fi
498AC_SUBST(SYSINCLUDES)
499
97a47867
UD
500# check if ranlib is necessary
501AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
502cat > conftest.c <<EOF
503int a;
504char b;
505void c(void) {}
506EOF
507$CC $CFLAGS -c conftest.c
508$AR cr conftest.a conftest.c
509cp conftest.a conftest2.a
510$RANLIB conftest.a
511if cmp -s conftest.a conftest2.a; then
512 libc_cv_ranlib_necessary=no
f38931a9 513else
97a47867
UD
514 libc_cv_ranlib_necessary=yes
515fi
516rm -rf conftest*])
517if test "$libc_cv_ranlib_necessary" = no; then
518 RANLIB=:
f38931a9 519fi
f38931a9 520
3911660e
UD
521# Test if LD_LIBRARY_PATH contains the notation for the current directory
522# since this would lead to problems installing/building glibc.
523# LD_LIBRARY_PATH contains the current directory if one of the following
524# is true:
525# - one of the terminals (":" and ";") is the first or last sign
526# - two terminals occur directly after each other
527# - the path contains an element with a dot in it
528AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
529changequote(,)dnl
530case ${LD_LIBRARY_PATH} in
531 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
b3a86ae1 532 ld_library_path_setting="contains current directory"
3911660e
UD
533 ;;
534 *)
535 ld_library_path_setting="ok"
536 ;;
537esac
538changequote([,])dnl
539AC_MSG_RESULT($ld_library_path_setting)
540if test "$ld_library_path_setting" != "ok"; then
63bda0c1
UD
541AC_MSG_ERROR([
542*** LD_LIBRARY_PATH shouldn't contain the current directory when
543*** building glibc. Please change the environment variable
544*** and run configure again.])
3911660e 545fi
8e31cf7e 546
84384f5b 547AC_PATH_PROG(BASH, bash, no)
a18f587d 548if test "$BASH" != no &&
f43ce637 549 $BASH -c 'test "$BASH_VERSINFO" \
6973fc01 550 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
84384f5b
UD
551 libc_cv_have_bash2=yes
552else
553 libc_cv_have_bash2=no
554fi
555AC_SUBST(libc_cv_have_bash2)
556
5290baf0
UD
557dnl We need a ksh compatible shell for tzselect.
558if test "$BASH" = no; then
559 AC_PATH_PROG(KSH, ksh, no)
560 if test "$KSH" = no; then
561 libc_cv_have_ksh=no
562 else
563 libc_cv_have_ksh=yes
564 fi
565else
566 KSH="$BASH"
567 AC_SUBST(KSH)
568 libc_cv_have_ksh=yes
569fi
570AC_SUBST(libc_cv_have_ksh)
571
5aa8ff62 572AC_PROG_AWK
c0016081 573AC_PATH_PROG(PERL, perl, no)
a2b08ee5 574AC_SUBST(PERL)
2f512715
AS
575AC_PATH_PROG(INSTALL_INFO, install-info, no,
576 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
c0016081
UD
577AC_SUBST(INSTALL_INFO)
578if test "$INSTALL_INFO" != "no"; then
579AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
580 [mkdir conftest.d
581 # There is a hard ^_ on the next line. I am open to better ideas.
582 (echo '\1f'
583 echo 'File: dir Node: Top This is the top of the INFO tree'
584 echo '* Menu:') >conftest.d/dir
585 (echo 'INFO-DIR-SECTION i-d-s works'
586 echo 'START-INFO-DIR-ENTRY'
587 echo '* Prog: (prog). Program.'
588 echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
589 if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AC_FD_CC 2>&1
d8cceb4f 590 then
c0016081
UD
591 if grep -s 'i-d-s works' conftest.d/dir >/dev/null
592 then libc_cv_old_debian_install_info=no
593 else libc_cv_old_debian_install_info=yes
594 fi
595 else libc_cv_old_debian_install_info=no testfailed=t
596 fi
597 rm -fr conftest.d])
598if test -n "$testfailed"
599then AC_MSG_WARN([install-info errored out, check config.log])
600fi
601OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
602fi
603AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
a2b08ee5 604
b8dc6a10 605AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
28f540f4
RM
606echo '#include <stddef.h>
607FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
608if eval "$ac_cpp conftest.c 2>/dev/null" \
609| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
610 libc_cv_signed_size_t=no
611else
612 libc_cv_signed_size_t=yes
613fi
614rm -f conftest*])
28f540f4
RM
615if test $libc_cv_signed_size_t = yes; then
616 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
617 cat >> confdefs.h <<\EOF
618#undef __SIZE_TYPE__
619#define __SIZE_TYPE__ unsigned
620EOF
621fi
622
b8dc6a10 623AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
28f540f4
RM
624AC_TRY_COMPILE(dnl
625[#define __need_size_t
626#define __need_wchar_t
627#include <stddef.h>
628#define __need_NULL
629#include <stddef.h>], [size_t size; wchar_t wchar;
630#ifdef offsetof
631#error stddef.h ignored __need_*
632#endif
633if (&size == NULL || &wchar == NULL) abort ();],
634 libc_cv_friendly_stddef=yes,
635 libc_cv_friendly_stddef=no)])
28f540f4
RM
636if test $libc_cv_friendly_stddef = yes; then
637 config_vars="$config_vars
638override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
639fi
640
b8dc6a10
RM
641AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
642 libc_cv_need_minus_P, [dnl
28f540f4
RM
643cat > conftest.S <<EOF
644#include "confdefs.h"
645/* Nothing whatsoever. */
646EOF
647if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then
648 libc_cv_need_minus_P=no
649else
650 libc_cv_need_minus_P=yes
651fi
652rm -f conftest*])
28f540f4
RM
653if test $libc_cv_need_minus_P = yes; then
654 config_vars="$config_vars
655asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
656fi
657
b8dc6a10
RM
658AC_CACHE_CHECK(for assembler global-symbol directive,
659 libc_cv_asm_global_directive, [dnl
9a70fcab 660libc_cv_asm_global_directive=UNKNOWN
908c3d5b 661for ac_globl in .globl .global .EXPORT; do
9a70fcab
UD
662 cat > conftest.s <<EOF
663.text
908c3d5b 664 ${ac_globl} foo
ae1025be 665foo:
9a70fcab
UD
666EOF
667 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
668 libc_cv_asm_global_directive=${ac_globl}
669 fi
670 rm -f conftest*
671 test $libc_cv_asm_global_directive != UNKNOWN && break
672done])
9a70fcab
UD
673if test $libc_cv_asm_global_directive = UNKNOWN; then
674 AC_MSG_ERROR(cannot determine asm global directive)
675else
676 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
677fi
678
b8dc6a10 679AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
9a70fcab 680cat > conftest.s <<EOF
e215c478 681.text
ae1025be 682foo:
df2a0c93 683.set glibc_conftest_frobozz,foo
9a70fcab 684$libc_cv_asm_global_directive glibc_conftest_frobozz
e215c478 685EOF
df2a0c93
RM
686# The alpha-dec-osf1 assembler gives only a warning for `.set'
687# (but it doesn't work), so we must do a linking check to be sure.
688cat > conftest1.c <<\EOF
689extern int glibc_conftest_frobozz;
690main () { printf ("%d\n", glibc_conftest_frobozz); }
691EOF
692if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
cb2f05ed 693 -o conftest conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
e215c478
RM
694 libc_cv_asm_set_directive=yes
695else
696 libc_cv_asm_set_directive=no
697fi
65b3cbcb 698rm -f conftest*])
e215c478
RM
699if test $libc_cv_asm_set_directive = yes; then
700 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
701fi
702
377a515b
UD
703AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
704[cat > conftest.s <<EOF
705.text
4cca6b86 706_sym:
377a515b
UD
707.symver _sym,sym@VERS
708EOF
709if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
710 libc_cv_asm_symver_directive=yes
711else
712 libc_cv_asm_symver_directive=no
713fi
714rm -f conftest*])
715AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
716if test $libc_cv_asm_symver_directive = yes; then
717 cat > conftest.s <<EOF
718.text
4cca6b86 719_sym:
377a515b
UD
720.symver _sym,sym@VERS
721EOF
722 cat > conftest.map <<EOF
f43ce637 723VERS_1 {
377a515b
UD
724 global: sym;
725};
f43ce637
UD
726
727VERS_2 {
728 global: sym;
729} VERS_1;
377a515b
UD
730EOF
731 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
5ae3e846
UD
732 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
733 -nostartfiles -nostdlib
ae1025be
UD
734 -Wl,--version-script,conftest.map
735 1>&AC_FD_CC]);
377a515b
UD
736 then
737 libc_cv_ld_version_script_option=yes
738 else
739 libc_cv_ld_version_script_option=no
740 fi
741 else
742 libc_cv_ld_version_script_option=no
743 fi
744else
745 libc_cv_ld_version_script_option=no
746fi
747rm -f conftest*])
748if test $libc_cv_asm_symver_directive = yes &&
650425ce
UD
749 test $libc_cv_ld_version_script_option = yes &&
750 test $enable_versioning = yes; then
377a515b
UD
751 VERSIONING=yes
752 AC_DEFINE(DO_VERSIONING)
753else
754 VERSIONING=no
755fi
756AC_SUBST(VERSIONING)
757
f43ce637
UD
758if test $VERSIONING = no; then
759 echo "\
f4017d20 760*** WARNING: You should not compile GNU libc without versioning. Not using
f43ce637
UD
761*** versioning will introduce incompatibilities so that old binaries
762*** will not run anymore.
50304ef0 763*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
f43ce637 764fi
fd26970f
UD
765if test $elf = yes; then
766 AC_CACHE_CHECK(for .previous assembler directive,
767 libc_cv_asm_previous_directive, [dnl
768 cat > conftest.s <<EOF
769.section foo_section
770.previous
771EOF
772 if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
773 libc_cv_asm_previous_directive=yes
774 else
775 libc_cv_asm_previous_directive=no
776 fi
777 rm -f conftest*])
778 if test $libc_cv_asm_previous_directive = yes; then
779 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
780 else
781 AC_CACHE_CHECK(for .popsection assembler directive,
782 libc_cv_asm_popsection_directive, [dnl
783 cat > conftest.s <<EOF
784.pushsection foo_section
785.popsection
786EOF
787 if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
788 libc_cv_asm_popsection_directive=yes
789 else
790 libc_cv_asm_popsection_directive=no
791 fi
792 rm -f conftest*])
793 if test $libc_cv_asm_popsection_directive = yes; then
794 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
795 fi
796 fi
797fi
798
b8dc6a10
RM
799if test $elf != yes; then
800 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
801 [AC_TRY_COMPILE(, [asm (".section .init");
84724245
RM
802 asm (".section .fini");
803 asm (".text");],
b8dc6a10
RM
804 libc_cv_have_initfini=yes,
805 libc_cv_have_initfini=no)])
806 AC_SUBST(libc_cv_have_initfini)dnl
807 if test $libc_cv_have_initfini = yes; then
808 AC_DEFINE(HAVE_INITFINI)
809 fi
810fi
e215c478 811
9a0a462c
UD
812dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
813AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
814[cat > conftest.$ac_ext <<EOF
815dnl This sometimes fails to find confdefs.h, for some reason.
816dnl [#]line __oline__ "[$]0"
817[#]line __oline__ "configure"
818#include "confdefs.h"
819void underscore_test(void) {
820return; }
821EOF
822if AC_TRY_EVAL(ac_compile); then
823 if grep _underscore_test conftest* >/dev/null; then
824 ifelse([$1], , :, [rm -f conftest*
825 $1])
826 else
827 ifelse([$2], , , [rm -f conftest*
828 $2])
829 fi
830else
831 echo "configure: failed program was:" >&AC_FD_CC
832 cat conftest.$ac_ext >&AC_FD_CC
833 ifelse([$2], , , [rm -f conftest*
834 $2])
835fi
836rm -f conftest*])
837
c224a18a
RM
838if test $elf = yes; then
839 libc_cv_asm_underscores=no
840else
9a0a462c
UD
841 if test $ac_cv_prog_cc_works = yes; then
842 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
843 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
844 libc_cv_asm_underscores=yes,
845 libc_cv_asm_underscores=no)])
846 else
847 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
848 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
849 libc_cv_asm_underscores=no)])
850 fi
c224a18a
RM
851fi
852if test $libc_cv_asm_underscores = no; then
853 AC_DEFINE(NO_UNDERSCORES)
854fi
855
856if test $elf = yes; then
857 libc_cv_weak_symbols=yes
9a97d1f7
UD
858fi
859
860AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
c224a18a
RM
861 [dnl
862cat > conftest.s <<EOF
863.text
864${libc_cv_asm_global_directive} foo
ae1025be 865foo:
c224a18a
RM
866.weak foo
867.weak bar; bar = foo
868EOF
9a97d1f7
UD
869if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
870 libc_cv_asm_weak_directive=yes
871else
872 libc_cv_asm_weak_directive=no
873fi
874rm -f conftest*])
c224a18a 875
c8cf0b14 876if test $libc_cv_asm_weak_directive = no; then
c224a18a
RM
877 AC_CACHE_CHECK(for assembler .weakext directive,
878 libc_cv_asm_weakext_directive,
879 [dnl
880cat > conftest.s <<EOF
881.text
882${libc_cv_asm_global_directive} foo
ae1025be 883foo:
f802accb
UD
884.weakext bar foo
885.weakext baz
886${libc_cv_asm_global_directive} baz
9a97d1f7 887baz:
c224a18a
RM
888EOF
889 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
890 libc_cv_asm_weakext_directive=yes
891 else
892 libc_cv_asm_weakext_directive=no
893 fi
894 rm -f conftest*])
895
9a97d1f7 896fi # no .weak
c224a18a 897
ffcf9634 898if test $libc_cv_asm_weak_directive = yes; then
c224a18a 899 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
ffcf9634 900elif test $libc_cv_asm_weakext_directive = yes; then
c224a18a
RM
901 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
902fi
903
a641835a
RM
904AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
905cat > conftest.c <<\EOF
5f0e6fc7 906_start () {}
dcf0671d
UD
907int __eh_pc;
908__throw () {}
a641835a 909EOF
dcea62dd
RM
910dnl No \ in command here because it ends up inside ''.
911if AC_TRY_COMMAND([${CC-cc} $CFLAGS
912 -nostdlib -nostartfiles -Wl,--no-whole-archive
ae1025be 913 -o conftest conftest.c 1>&AC_FD_CC]); then
a641835a
RM
914 libc_cv_ld_no_whole_archive=yes
915else
916 libc_cv_ld_no_whole_archive=no
917fi
918rm -f conftest*])
b17277cf
UD
919if test $libc_cv_ld_no_whole_archive = yes; then
920 no_whole_archive=-Wl,--no-whole-archive
921fi
922AC_SUBST(no_whole_archive)dnl
a641835a 923
dff14448 924AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
b236e99d
UD
925cat > conftest.c <<\EOF
926_start () {}
927int __eh_pc;
928__throw () {}
929EOF
930dnl No \ in command here because it ends up inside ''.
931if AC_TRY_COMMAND([${CC-cc} $CFLAGS
dff14448 932 -nostdlib -nostartfiles -fexceptions
ae1025be 933 -o conftest conftest.c 1>&AC_FD_CC]); then
dff14448 934 libc_cv_gcc_exceptions=yes
b236e99d 935else
dff14448 936 libc_cv_gcc_exceptions=no
b236e99d
UD
937fi
938rm -f conftest*])
dff14448
UD
939if test $libc_cv_gcc_exceptions = yes; then
940 exceptions=-fexceptions
b17277cf 941fi
dff14448 942AC_SUBST(exceptions)dnl
b236e99d 943
d71b808a
UD
944if test "$base_machine" = alpha ; then
945AC_CACHE_CHECK(for function ..ng prefix, libc_cv_gcc_alpha_ng_prefix, [dnl
946cat > conftest.c <<\EOF
947foo () { }
948EOF
949dnl
9756dfe1 950if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null]);
d71b808a
UD
951then
952 libc_cv_gcc_alpha_ng_prefix=yes
953else
954 libc_cv_gcc_alpha_ng_prefix=no
955fi
956rm -f conftest* ])
957if test $libc_cv_gcc_alpha_ng_prefix = yes ; then
958 AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "$")
959else
960 AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "")
961fi
962fi
963
66000494
UD
964if test "$host_cpu" = powerpc ; then
965# Check for a bug present in at least versions 2.8.x of GCC
966# and versions 1.0.x of EGCS.
967AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
968AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
969 libc_cv_c_asmcr0_bug='no',
970 libc_cv_c_asmcr0_bug='yes')])
971if test "$libc_cv_c_asmcr0_bug" != 'no'; then
972 AC_DEFINE(BROKEN_PPC_ASM_CR0)
973fi
974fi
975
650425ce
UD
976AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
977[cat > conftest.c <<EOF
978#line __oline__ "configure"
979static char __EH_FRAME_BEGIN__[];
980_start ()
981{
9756dfe1 982#ifdef CHECK__register_frame
650425ce
UD
983 __register_frame (__EH_FRAME_BEGIN__);
984 __deregister_frame (__EH_FRAME_BEGIN__);
9756dfe1
UD
985#endif
986#ifdef CHECK__register_frame_info
987 __register_frame_info (__EH_FRAME_BEGIN__);
988 __deregister_frame_info (__EH_FRAME_BEGIN__);
989#endif
650425ce
UD
990}
991int __eh_pc;
992__throw () {}
993/* FIXME: this is fragile. */
994malloc () {}
995strcmp () {}
996strlen () {}
997memcpy () {}
998memset () {}
999free () {}
1000abort () {}
dfd2257a 1001__bzero () {}
650425ce
UD
1002EOF
1003dnl No \ in command here because it ends up inside ''.
9756dfe1 1004if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
650425ce
UD
1005 -nostdlib -nostartfiles
1006 -o conftest conftest.c -lgcc >&AC_FD_CC]); then
9756dfe1 1007 libc_cv_gcc_dwarf2_unwind_info=static
650425ce
UD
1008else
1009 libc_cv_gcc_dwarf2_unwind_info=no
1010fi
9756dfe1
UD
1011if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1012 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1013 -nostdlib -nostartfiles
1014 -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1015 libc_cv_gcc_dwarf2_unwind_info=yes
1016 else
1017 libc_cv_gcc_dwarf2_unwind_info=no
1018 fi
1019fi
650425ce 1020rm -f conftest*])
9756dfe1
UD
1021case $libc_cv_gcc_dwarf2_unwind_info in
1022yes)
650425ce 1023 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
9756dfe1
UD
1024 ;;
1025static)
1026 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1027 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1028 ;;
1029esac
650425ce 1030
a8eab8b1
UD
1031dnl Check whether compiler understands __builtin_expect.
1032AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1033[cat > conftest.c <<EOF
1034#line __oline__ "configure"
1035int foo (int a)
1036{
1037 a = __builtin_expect (a, 10);
1038 return a == 10 ? 0 : 1;
1039}
1040EOF
1041dnl No \ in command here because it ends up inside ''.
1042if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1043 -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1044 libc_cv_gcc_builtin_expect=yes
1045else
1046 libc_cv_gcc_builtin_expect=no
1047fi
1048rm -f conftest*])
1049if test "$libc_cv_gcc_builtin_expect" = yes; then
1050 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1051fi
1052
3d558f4e
UD
1053dnl Check whether the compiler supports subtraction of local labels.
1054AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1055[cat > conftest.c <<EOF
1056changequote(,)dnl
1057#line __oline__ "configure"
1058int foo (int a)
1059{
1060 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1061 void *p = &&l1 + ar[a];
1062 goto *p;
1063 l1:
1064 return 1;
1065 l2:
1066 return 2;
1067}
1068changequote([,])dnl
1069EOF
1070dnl No \ in command here because it ends up inside ''.
1071if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1072 -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1073 libc_cv_gcc_subtract_local_labels=yes
1074else
1075 libc_cv_gcc_subtract_local_labels=no
1076fi
1077rm -f conftest*])
1078if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1079 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1080fi
1081
1082
c224a18a
RM
1083### End of automated tests.
1084### Now run sysdeps configure fragments.
1085
28f540f4
RM
1086# sysdeps configure fragments may set these with files to be linked below.
1087libc_link_dests=
1088libc_link_sources=
1089
cb343854
UD
1090# They also can set these variables.
1091ldd_rewrite_script=no
1092
28f540f4
RM
1093# Iterate over all the sysdep directories we will use, running their
1094# configure fragments, and looking for a uname implementation.
1095uname=
1096for dir in $sysnames; do
57ba7bb4
UD
1097 case $dir in
1098 /*) dest=$dir ;;
1099 *) dest=$srcdir/$dir ;;
1100 esac
1101 if test -r $dest/configure; then
1102 AC_MSG_RESULT(running configure fragment for $dest)
1103 . $dest/configure
28f540f4 1104 fi
4ca84cff 1105[
28f540f4 1106 if test -z "$uname"; then
e7f1f046
UD
1107 if test -r $dest/uname.c ||
1108 test -r $dest/uname.S ||
1109 { test -r $dest/syscalls.list &&
1110 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
b86199fb 1111 uname=$dir
4ca84cff 1112 fi
28f540f4 1113 fi
4ca84cff 1114]dnl
28f540f4
RM
1115done
1116
1117AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`)
1118
1119# If we will use the generic uname implementation, we must figure out what
1120# it will say by examining the system, and write the results in config-name.h.
e7f1f046 1121if test "$uname" = "sysdeps/generic"; then
28f540f4
RM
1122
1123changequote(,)dnl
1124 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1125changequote([,])dnl
1126 if test $uname_sysname != $config_os; then
1127 config_release=`echo $config_os | sed s/$uname_sysname//`
1128 fi
1129dnl
1130AC_DEFUN(LIBC_KERNEL_ID, [dnl
1131 if test -r /vmunix; then
1132 kernel_id=`strings /vmunix | grep UNIX`
1133 elif test -r /dynix; then
1134 kernel_id=`strings /dynix | grep DYNIX`
1135 else
1136 kernel_id=
1137 fi
1138])dnl
1139
b8dc6a10 1140 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
28f540f4
RM
1141AC_REQUIRE([LIBC_KERNEL_ID])dnl
1142changequote(,)dnl
1143 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1144changequote([,])dnl
1145 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1146 != x$config_release; then
1147 # The configuration release is a substring of the kernel release.
1148 libc_cv_uname_release=$kernel_release
1149 elif test x$config_release != x; then
1150 libc_cv_uname_release=$config_release
1151 elif test x$kernel_release != x; then
1152 libc_cv_uname_release=$kernel_release
1153 else
1154 libc_cv_uname_release=unknown
1155 fi])
28f540f4
RM
1156 uname_release="$libc_cv_uname_release"
1157
b8dc6a10 1158 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
28f540f4
RM
1159AC_REQUIRE([LIBC_KERNEL_ID])dnl
1160changequote(,)dnl
1161 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1162changequote([,])dnl
1163 if test -n "$kernel_version"; then
1164 libc_cv_uname_version="$kernel_version"
1165 else
1166 libc_cv_uname_version=unknown
1167 fi])
28f540f4
RM
1168 uname_version="$libc_cv_uname_version"
1169
1170AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1171 config_uname=config-name.h:config-name.in
1172else
1173 # For non-generic uname, we don't need to create config-name.h at all.
1174 config_uname=
1175fi
1176
96aa2d94
RM
1177AC_MSG_CHECKING(stdio selection)
1178AC_SUBST(stdio)
1179case $stdio in
1180libio) AC_DEFINE(USE_IN_LIBIO) ;;
1181default) stdio=stdio ;;
1182esac
1183AC_MSG_RESULT($stdio)
1184
a53bad16
UD
1185# Test for old glibc 2.0.x headers so that they can be removed properly
1186# Search only in includedir.
1187AC_MSG_CHECKING(for old glibc 2.0.x headers)
350eb336 1188if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
a53bad16
UD
1189then
1190 old_glibc_headers=yes
1191else
1192 old_glibc_headers=no
1193fi
1194AC_MSG_RESULT($old_glibc_headers)
1195if test ${old_glibc_headers} = yes; then
1196 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1197 AC_MSG_WARN(*** be removed.)
1198fi
b195f6bc 1199AC_SUBST(old_glibc_headers)
26b4d766 1200
84384f5b
UD
1201AC_SUBST(libc_cv_slibdir)
1202AC_SUBST(libc_cv_sysconfdir)
1ef32c3d
UD
1203AC_SUBST(libc_cv_rootsbindir)
1204
1205AC_SUBST(has_ldconfig)
cb343854 1206AC_SUBST(ldd_rewrite_script)
84384f5b 1207
c224a18a 1208AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf)
28f540f4
RM
1209if test $gnu_ld = yes; then
1210 AC_DEFINE(HAVE_GNU_LD)
1211fi
1212if test $gnu_as = yes; then
1213 AC_DEFINE(HAVE_GNU_AS)
1214fi
1215if test $elf = yes; then
1216 AC_DEFINE(HAVE_ELF)
1217fi
28f540f4 1218
650425ce 1219AC_SUBST(static)
ff3d7ed3
RM
1220AC_SUBST(shared)
1221if test $shared = default; then
1222 if test $gnu_ld = yes; then
1223 shared=$elf
f65fd747
UD
1224 else
1225 # For now we do not assume shared libs are available. In future more
1226 # tests might become available.
1227 shared=no
ff3d7ed3
RM
1228 fi
1229fi
cc3fa755
UD
1230
1231AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1232[pic_default=yes
1233cat > conftest.c <<EOF
9756dfe1 1234#if defined __PIC__ || defined __pic__ || defined PIC || defined pic
cc3fa755
UD
1235# error PIC is default.
1236#endif
1237EOF
1238if eval "${CC-cc} -S conftest.c 2>&AC_FD_CC 1>&AC_FD_CC"; then
1239 pic_default=no
1240fi
1241rm -f conftest.*])
1242AC_SUBST(pic_default)
1243
ff3d7ed3
RM
1244AC_SUBST(profile)
1245AC_SUBST(omitfp)
5a97622d 1246AC_SUBST(bounded)
5107cf1d 1247AC_SUBST(static_nss)
5ae3e846 1248AC_SUBST(nopic_initfini)
ff3d7ed3 1249
edf5b2d7
UD
1250AC_SUBST(DEFINES)
1251
7cabd57c
UD
1252case "$add_ons" in
1253 *door*) linux_doors=yes ;;
1254 *) linux_doors=no ;;
1255esac
1256AC_SUBST(linux_doors)
1257
28f540f4
RM
1258if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1259 config_makefile=
1260else
1261 config_makefile=Makefile
1262fi
1263
ee74a442
UD
1264VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1265RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
df4ef2ab 1266AC_SUBST(VERSION)
ee74a442 1267AC_SUBST(RELEASE)
df4ef2ab 1268
0013b2b1
UD
1269echo '*** Do NOT install this release on any production system!'
1270echo '*** It is known to be broken and will be so for quite some time.'
1271echo '*** Use the latest released version instead.'
1272
737547be
UD
1273AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, [
1274case $CONFIG_FILES in *config.make*)
1275echo "$config_vars" >> config.make;;
1276esac
1277test -d bits || mkdir bits], [config_vars='$config_vars'])
This page took 0.242095 seconds and 5 git commands to generate.