diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 361 |
1 files changed, 167 insertions, 194 deletions
diff --git a/configure b/configure index b1724255c9..557d6fa696 100755 --- a/configure +++ b/configure @@ -313,7 +313,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons base_machine submachine sysnames INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_asm_protected_directive libc_cv_cc_with_libunwind libc_cv_z_nodelete libc_cv_z_nodlopen libc_cv_z_initfirst libc_cv_z_relro libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie fno_unit_at_a_time libc_cv_ssp libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_subdirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_asm_protected_directive libc_cv_cc_with_libunwind libc_cv_z_nodelete libc_cv_z_nodlopen libc_cv_z_initfirst libc_cv_z_relro libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie fno_unit_at_a_time libc_cv_ssp libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -891,7 +891,6 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gmp=DIRECTORY find GMP source code in DIRECTORY (not needed) --with-gd=DIR find libgd include dir and library with prefix DIR --with-gd-include=DIR find libgd include files in DIR --with-gd-lib=DIR find libgd library files in DIR @@ -1406,22 +1405,6 @@ fi # This will get text that should go into config.make. config_vars= -# Check for a --with-gmp argument and set gmp-srcdir in config.make. - -# Check whether --with-gmp or --without-gmp was given. -if test "${with_gmp+set}" = set; then - withval="$with_gmp" - -case "$with_gmp" in -yes) { { echo "$as_me:$LINENO: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" >&5 -echo "$as_me: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" >&2;} - { (exit 1); exit 1; }; } ;; -''|no) ;; -*) config_vars="$config_vars -gmp-srcdir = $withval" ;; -esac - -fi; # Check for a --with-gd argument and set libgd-LDFLAGS in config.make. # Check whether --with-gd or --without-gd was given. @@ -1618,15 +1601,9 @@ fi # Check whether --enable-add-ons or --disable-add-ons was given. if test "${enable_add_ons+set}" = set; then enableval="$enable_add_ons" - case "$enableval" in - yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'` - add_ons_automatic=yes - test "$add_ons" = "*" && add_ons= ;; - *) add_ons=`echo "$enableval" | sed 's/,/ /g'` - add_ons_automatic=no ;; - esac + else - add_ons= add_ons_automatic=no + enable_add_ons=yes fi; @@ -1844,7 +1821,7 @@ echo "$as_me: error: --with-cpu requires an argument" >&2;} fi; -# An add-on can set this when it the tuple to disable the sanity check below. +# An add-on can set this when it wants to disable the sanity check below. libc_config_ok=no @@ -1852,6 +1829,18 @@ libc_config_ok=no subdirs="$subdirs " +case "$enable_add_ons" in +''|no) add_ons= ;; +yes|'*') + add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps | + sed 's@/[^/]*$@@' | sort | uniq` + add_ons_automatic=yes + ;; +*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'` + add_ons_automatic=no ;; +esac + +configured_add_ons= add_ons_sfx= add_ons_pfx= if test x"$add_ons" != x; then @@ -1885,13 +1874,6 @@ echo "$as_me: error: { (exit 1); exit 1; }; } ;; esac - - # Test whether such a subdir really exists. - test -d $srcdir/$f || { - { { echo "$as_me:$LINENO: error: add-on directory \"$f\" does not exist" >&5 -echo "$as_me: error: add-on directory \"$f\" does not exist" >&2;} - { (exit 1); exit 1; }; } - } done # Now source each add-on's configure fragment. @@ -1901,19 +1883,81 @@ echo "$as_me: error: add-on directory \"$f\" does not exist" >&2;} # whether it goes into the list to be actually used in the build. use_add_ons= for libc_add_on in $add_ons; do - libc_add_on_frag=$srcdir/$libc_add_on/configure - if test -r $libc_add_on_frag; then - echo "$as_me:$LINENO: result: running configure fragment for add-on $libc_add_on" >&5 -echo "${ECHO_T}running configure fragment for add-on $libc_add_on" >&6 - . $libc_add_on_frag - else - { echo "$as_me:$LINENO: WARNING: add-on fragment $libc_add_on_frag missing" >&5 -echo "$as_me: WARNING: add-on fragment $libc_add_on_frag missing" >&2;} + # Test whether such a directory really exists. + # It can be absolute, or relative to $srcdir, or relative to the build dir. + case "$libc_add_on" in + /*) + libc_add_on_srcdir=$libc_add_on + ;; + *) + test -d "$srcdir/$libc_add_on" || { + if test -d "$libc_add_on"; then + libc_add_on="`pwd`/$libc_add_on" + else + { { echo "$as_me:$LINENO: error: add-on directory \"$libc_add_on\" does not exist" >&5 +echo "$as_me: error: add-on directory \"$libc_add_on\" does not exist" >&2;} + { (exit 1); exit 1; }; } + fi + } + libc_add_on_srcdir=$srcdir/$libc_add_on + ;; + esac + + libc_add_on_frag=$libc_add_on_srcdir/configure + libc_add_on_canonical= + if test -r "$libc_add_on_frag"; then + { echo "$as_me:$LINENO: running configure fragment for add-on $libc_add_on" >&5 +echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;} + libc_add_on_canonical=unknown + libc_add_on_subdirs= + . "$libc_add_on_frag" + test -z "$libc_add_on" || { + configured_add_ons="$configured_add_ons $libc_add_on" + if test "x$libc_add_on_canonical" = xunknown; then + { { echo "$as_me:$LINENO: error: fragment must set \$libc_add_on_canonical" >&5 +echo "$as_me: error: fragment must set \$libc_add_on_canonical" >&2;} + { (exit 1); exit 1; }; } + fi + for d in $libc_add_on_subdirs; do + case "$libc_add_on" in + /*) subdir_srcdir="$libc_add_on" ;; + *) subdir_srcdir="\$(..)$libc_add_on" ;; + esac + case "$d" in + .) + d="${libc_add_on_canonical:-$libc_add_on}" + ;; + /*) + subdir_srcdir="$d" + ;; + *) + subdir_srcdir="$subdir_srcdir/$d" + ;; + esac + d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'` + add_on_subdirs="$add_on_subdirs $d" + test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars +$d-srcdir = $subdir_srcdir" + done + } fi if test -n "$libc_add_on"; then + if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null` + then + echo "$as_me:$LINENO: checking add-on $libc_add_on for preconfigure fragments" >&5 +echo $ECHO_N "checking add-on $libc_add_on for preconfigure fragments... $ECHO_C" >&6 + for frag in $frags; do + name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'` + echo $ECHO_N "$name $ECHO_C" >&6 + . "$frag" + done + echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6 + fi use_add_ons="$use_add_ons $libc_add_on" add_ons_pfx="$add_ons_pfx $libc_add_on/" - add_ons_sfx="$add_ons_sfx /$libc_add_on" + test -z "$libc_add_on_canonical" || + add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical" fi done # Use echo to strip excess whitespace. @@ -1922,6 +1966,7 @@ fi + ### ### I put this here to prevent those annoying emails from people who cannot ### read and try to compile glibc on unsupported platforms. --drepper @@ -1954,41 +1999,10 @@ a29k | am29000) base_machine=a29k machine=a29k ;; alpha*) base_machine=alpha machine=alpha/$machine ;; c3[012]) base_machine=cx0 machine=cx0/c30 ;; c4[04]) base_machine=cx0 machine=cx0/c40 ;; -hppa*64*) base_machine=hppa machine=hppa/hppa64 ;; -hppa*) base_machine=hppa machine=hppa/hppa1.1 ;; i[34567]86) base_machine=i386 machine=i386/$machine ;; ia64) base_machine=ia64 machine=ia64 ;; -m680?0) base_machine=m68k machine=m68k/$machine ;; -m68k) base_machine=m68k machine=m68k/m68020 ;; m88???) base_machine=m88k machine=m88k/$machine ;; m88k) base_machine=m88k machine=m88k/m88100 ;; -mips64*) base_machine=mips64 - case "$CC $CFLAGS $CPPFLAGS " in - *" -mabi=n32 "*) mips_cc_abi=n32 ;; - *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;; - *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;; - *) mips_cc_abi=default ;; - esac - case $config_os in - *abin32*) mips_config_abi=n32 ;; - *abi64*|*abin64*) mips_config_abi=64 ;; - *abi32*|*abio32*) mips_config_abi=32 ;; - *) mips_config_abi=$mips_cc_abi ;; - esac - case $mips_config_abi in - default) machine=mips/mips64/n32 mips_config_abi=n32 ;; - n32) machine=mips/mips64/n32 ;; - 64) machine=mips/mips64/n64 ;; - 32) machine=mips/mips32/kern64 ;; - esac - machine=$machine/$config_machine - if test $mips_config_abi != $mips_cc_abi; then - # This won't make it to config.make, but we want to - # set this in case configure tests depend on it. - CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi" - fi - ;; -mips*) base_machine=mips machine=mips/mips32/$machine ;; powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; s390) base_machine=s390 machine=s390/s390-32 ;; @@ -2002,7 +2016,7 @@ sparcv8 | supersparc | hypersparc) sparcv8plus | sparcv8plusa | sparcv9) base_machine=sparc machine=sparc/sparc32/sparcv9 ;; sparcv8plusb | sparcv9b) - base_machine=sparc machine=sparc/sparc32/sparcv9b ;; + base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;; sparc64) base_machine=sparc machine=sparc/sparc64 ;; sparc64b) @@ -2092,8 +2106,8 @@ done # Find what sysdep directories exist. +sysnames_add_ons= sysnames= -IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for b in $base ''; do for m0 in $mach ''; do for v in /$vendor ''; do @@ -2103,17 +2117,27 @@ for b in $base ''; do for m in $mach ''; do for d in $add_ons_pfx ''; do for a in $add_ons_sfx ''; do - if test "$m0$m0sub$b$v$o$m$msub"; then + if test -n "$m0$m0sub$b$v$o$m$msub"; then + try_srcdir="${srcdir}/" + case "$d" in + /*) try_srcdir= ;; + esac try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a" test -n "$enable_debug_configure" && echo "$0 DEBUG: try $try" >&2 - if test -d $srcdir/$try; then + if test -d "$try_srcdir$try"; then sysnames="$sysnames $try" { test -n "$o" || test -n "$b"; } && os_used=t { test -n "$m" || test -n "$m0"; } && machine_used=t case x${m0:-$m} in x*/$submachine) submachine_used=t ;; esac + if test -n "$d"; then + case "$sysnames_add_ons" in + *" $d "*) ;; + *|'') sysnames_add_ons="$sysnames_add_ons $d" ;; + esac + fi fi fi done @@ -2123,19 +2147,6 @@ for b in $base ''; do done done done -for d in $add_ons_pfx ''; do - for a in $add_ons_sfx ''; do - if test -n "$d" && test "$d" != "$a"; then - try="${d}sysdeps/generic${a}" - test -n "$enable_debug_configure" && - echo "$0 DEBUG: try $try" >&2 - if test -d $srcdir/$try; then - sysnames="$sysnames $try" - fi - fi - done -done -IFS="$ac_save_ifs" if test -z "$os_used" && test "$os" != none; then { { echo "$as_me:$LINENO: error: Operating system $os is not supported." >&5 @@ -2222,6 +2233,10 @@ while test $# -gt 0; do then implied="$implied $try" found=yes + case "$sysnames_add_ons" in + *" $d "*) ;; + *|'') sysnames_add_ons="$sysnames_add_ons $d" ;; + esac fi done if test $found = no; then @@ -2261,6 +2276,65 @@ sysnames="$names $default_sysnames" echo "$as_me:$LINENO: result: $default_sysnames" >&5 echo "${ECHO_T}$default_sysnames" >&6 +# Collect the list of add-ons that supply partial sysdeps trees. +sysdeps_add_ons= +for add_on in $add_ons; do + case "$add_on" in + /*) xsrcdir= ;; + *) xsrcdir="$srcdir/" ;; + esac + + test -d "$xsrcdir$add_on/sysdeps" || { + case "$configured_add_ons " in + *" $add_on "*) ;; + *|'') + { { echo "$as_me:$LINENO: error: add-on $add_on has no configure fragment or sysdeps tree" >&5 +echo "$as_me: error: add-on $add_on has no configure fragment or sysdeps tree" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + continue + } + + sysdeps_add_ons="$sysdeps_add_ons $add_on" + case "$sysnames_add_ons" in + *" $add_on/ "*) ;; + *|'') + { echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no sysdeps directories" >&5 +echo "$as_me: WARNING: add-on $add_on contributed no sysdeps directories" >&2;} + continue ;; + esac + + found=no + for d in $sysnames; do + case "$d" in + $add_on/sysdeps/*) ;; + *) continue ;; + esac + (cd "$xsrcdir$d" && for f in *[!~]; do + case "$f" in + sys|bits) + for ff in $f/*.h; do + test -d "$ff" || { test -e "$ff" && exit 88; } + done + ;; + *) + test -d "$f" || { test -e "$f" && exit 88; } + ;; + esac + done) + if test $? -eq 88; then + found=yes + break + fi + done + if test $found = no; then + { echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no useful sysdeps directories" >&5 +echo "$as_me: WARNING: add-on $add_on contributed no useful sysdeps directories" >&2;} + fi +done + + ### Locate tools. @@ -6295,102 +6369,6 @@ _ACEOF fi fi -echo "$as_me:$LINENO: checking for DWARF2 unwind info support" >&5 -echo $ECHO_N "checking for DWARF2 unwind info support... $ECHO_C" >&6 -if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat > conftest.c <<EOF -#line $LINENO "configure" -static char *__EH_FRAME_BEGIN__; -_start () -{ -#ifdef CHECK__register_frame - __register_frame (__EH_FRAME_BEGIN__); - __deregister_frame (__EH_FRAME_BEGIN__); -#endif -#ifdef CHECK__register_frame_info - __register_frame_info (__EH_FRAME_BEGIN__); - __deregister_frame_info (__EH_FRAME_BEGIN__); -#endif -} -int __eh_pc; -__throw () {} -/* FIXME: this is fragile. */ -malloc () {} -strcmp () {} -strlen () {} -memcpy () {} -memset () {} -free () {} -abort () {} -__bzero () {} -dl_iterate_phdr () {} -EOF -libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \ - $LDFLAGS \ - -nostdlib -nostartfiles -o conftest conftest.c \ - -lgcc" -# Some platforms' specs put -lgcc first. The second one doesn't hurt. -if { ac_try='$libc_unwind_check >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } || - { ac_try='$libc_unwind_check -lgcc_eh -lgcc >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } -then - if $libc_unwind_check -v 2>&1 >/dev/null \ - | grep -- --eh-frame-hdr 2>&1 >/dev/null; then - libc_cv_gcc_dwarf2_unwind_info=no_registry_needed - else - libc_cv_gcc_dwarf2_unwind_info=static - fi -else - libc_cv_gcc_dwarf2_unwind_info=no -fi -if test $libc_cv_gcc_dwarf2_unwind_info = no; then - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame - $LDFLAGS -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - libc_cv_gcc_dwarf2_unwind_info=yes - else - libc_cv_gcc_dwarf2_unwind_info=no - fi -fi -rm -f conftest* -fi -echo "$as_me:$LINENO: result: $libc_cv_gcc_dwarf2_unwind_info" >&5 -echo "${ECHO_T}$libc_cv_gcc_dwarf2_unwind_info" >&6 -case $libc_cv_gcc_dwarf2_unwind_info in -yes) - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO 1 -_ACEOF - - ;; -static) - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO_STATIC 1 -_ACEOF - - ;; -esac - echo "$as_me:$LINENO: checking for __builtin_expect" >&5 echo $ECHO_N "checking for __builtin_expect... $ECHO_C" >&6 if test "${libc_cv_gcc_builtin_expect+set}" = set; then @@ -7688,13 +7666,6 @@ if test $shared = default; then shared=$elf fi -if test x"$libc_cv_idn" = xyes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBIDN 1 -_ACEOF - -fi - echo "$as_me:$LINENO: checking whether -fPIC is default" >&5 echo $ECHO_N "checking whether -fPIC is default... $ECHO_C" >&6 if test "${pic_default+set}" = set; then @@ -8382,9 +8353,11 @@ s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@subdirs@,$subdirs,;t t s,@add_ons@,$add_ons,;t t +s,@add_on_subdirs@,$add_on_subdirs,;t t s,@base_machine@,$base_machine,;t t s,@submachine@,$submachine,;t t s,@sysnames@,$sysnames,;t t +s,@sysdeps_add_ons@,$sysdeps_add_ons,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t |