diff options
author | Roland McGrath <roland@gnu.org> | 2006-02-28 07:11:04 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-02-28 07:11:04 +0000 |
commit | e0a3ed4ff95ec2e422c1211b35ddf7bf6fbc0a5a (patch) | |
tree | 9ee2ada7a666b14f1e47aa183012ddf59de3fb73 /configure | |
parent | 0f284e58375992e42d7e9b3f1ea14963cfa4462b (diff) | |
download | glibc-e0a3ed4ff95ec2e422c1211b35ddf7bf6fbc0a5a.zip glibc-e0a3ed4ff95ec2e422c1211b35ddf7bf6fbc0a5a.tar.gz glibc-e0a3ed4ff95ec2e422c1211b35ddf7bf6fbc0a5a.tar.bz2 |
* Makefile (subdir-target-args): New variable.
($(all-subdirs-targets)): Use it in place of -C option.
* Rules: Use $(..) instead of ../ if it's already defined.
* Makeconfig (subdir-srcdirs): New variable.
* csu/Makefile (all-Banner-files): Use it.
* configure.in (--enable-add-ons): Set to "yes" by default.
Handle absolute add-on directory names when looking for configure
fragments. Also look for sysdeps/*/preconfigure fragments in add-ons.
Require add-on configure to set $libc_add_on_canonical, use
that in $add_ons_sfx. Substitute add_on_subdirs with computed list
of subdir names each add-on configure set in libc_add_on_subdirs.
* configure: Regenerated.
* Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
* config.make.in (add-on-subdirs): New substituted variable.
* Makeconfig (all-subdirs): Include $(add-on-subdirs).
Remove $(add-ons), $(sysdep-subdirs).
Don't filter out $(sysdep-inhibit-subdirs).
($(common-objpfx)sysd-dirs): Target removed. Don't include it.
($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
files together to gen-sorted.awk, and $(subdirs) via -v.
(subdirs): Remove magic reordering for mach and hurd.
* scripts/gen-sorted.awk: Use subdirs from command line.
Process Subdirs and Depend files directly.
Let Subdirs files use "first dir" and "inhibit dir".
Always move elf to the end of the list.
* hurd/Depend: New file.
* sysdeps/mach/Subdirs: Use "first mach".
* Makefile (dist-separate): Remove linuxthreads.
(dist-separate-linuxthreads): Variable removed.
(glibc-%.tar rule): Use $(sysdeps-add-ons).
* Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
not $(all-subdirs).
(sysdep-makefiles): Use $(sysdirs).
(sysdirs): Remove export.
($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
$(config-sysdirs).
(+sysdir_pfx): Variable removed.
(sysd-rules): Use $(common-objpfx) in place of it.
(sysdirs): Variable moved to ...
* Makeconfig (sysdirs): ... here.
Handle absolute directory names in $(config-sysdirs).
(full_config_sysdirs): Variable removed.
* csu/Makefile: Use $(sysdirs) in vpath directive.
* math/Makefile (ulps-file): Use $(sysdirs).
* sysdeps/gnu/Makefile (errlist-c): Likewise.
($(objpfx)errlist-compat.c): Likewise.
* Makeconfig (all-Subdirs-files): Likewise.
($(common-objpfx)config.status): Likewise.
* configure.in (sysnames): Handle absolute add-on directory names.
(sysdeps_add_ons): New variable, AC_SUBST it.
Compute which add-ons contributed sysdeps directories.
* configure: Regenerated.
* config.make.in (sysdeps-add-ons): New substituted variable.
* Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
* Makeconfig: ... to here.
(+sysdep_dirs): Append $(sysdeps-add-ons) here.
(+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
Remove $(includes).
(sysdep-makeconfigs): Use $(+sysdep_dirs).
($(common-objpfx)shlib-versions.v.i): Likewise.
* Makeconfig: Remove hair to set Makeconfig-add-on.
* sysdeps/unix/Makefile (sysdirs): Remove export.
(asm_CPP): Variable removed.
($(common-objpfx)sysd-syscalls): Pass them directly for the script.
* sysdeps/posix/Makefile: New file.
* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
values here with ?=.
* stdlib/gen-mpn-copy: File removed.
* stdlib/Makefile (distribute): Remove it.
* configure.in: Don't grok --with-gmp.
* configure: Regenerated.
* configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
* configure: Regenerated.
* bare: Directory removed, saved in ports repository.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 232 |
1 files changed, 166 insertions, 66 deletions
@@ -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 @@ -2065,8 +2110,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 @@ -2076,17 +2121,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 @@ -2096,19 +2151,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 @@ -2195,6 +2237,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 @@ -2234,6 +2280,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. @@ -7565,13 +7670,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 @@ -8259,9 +8357,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 |