(linenum→info "unix/slp.c:2238")

glibc/2.7/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: if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
   10:   AC_MSG_ERROR([you must configure in a separate build directory])
   11: fi
   12: 
   13: # This will get text that should go into config.make.
   14: config_vars=
   15: 
   16: # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
   17: AC_ARG_WITH([gd],
   18:             AC_HELP_STRING([--with-gd=DIR],
   19:                            [find libgd include dir and library with prefix DIR]),
   20:             [dnl
   21: case "$with_gd" in
   22: yes|''|no) ;;
   23: *) libgd_include="-I$withval/include"
   24:    libgd_ldflags="-L$withval/lib" ;;
   25: esac
   26: ])
   27: AC_ARG_WITH([gd-include],
   28:             AC_HELP_STRING([--with-gd-include=DIR],
   29:                            [find libgd include files in DIR]),
   30:             [dnl
   31: case "$with_gd_include" in
   32: ''|no) ;;
   33: *) libgd_include="-I$withval" ;;
   34: esac
   35: ])
   36: AC_ARG_WITH([gd-lib],
   37:             AC_HELP_STRING([--with-gd-lib=DIR],
   38:                            [find libgd library files in DIR]),
   39:             [dnl
   40: case "$with_gd_lib" in
   41: ''|no) ;;
   42: *) libgd_ldflags="-L$withval" ;;
   43: esac
   44: ])
   45: 
   46: if test -n "$libgd_include"; then
   47:   config_vars="$config_vars
   48: CFLAGS-memusagestat.c = $libgd_include"
   49: fi
   50: if test -n "$libgd_ldflags"; then
   51:   config_vars="$config_vars
   52: libgd-LDFLAGS = $libgd_ldflags"
   53: fi
   54: 
   55: dnl Arguments to specify presence of other packages/features.
   56: AC_ARG_WITH([fp],
   57:             AC_HELP_STRING([--with-fp],
   58:                            [if using floating-point hardware @<:@default=yes@:>@]),
   59:             [with_fp=$withval],
   60:             [with_fp=yes])
   61: AC_SUBST(with_fp)
   62: AC_ARG_WITH([binutils],
   63:             AC_HELP_STRING([--with-binutils=PATH],
   64:                            [specify location of binutils (as and ld)]),
   65:             [path_binutils=$withval],
   66:             [path_binutils=''])
   67: AC_ARG_WITH([elf],
   68:             AC_HELP_STRING([--with-elf],
   69:                            [if using the ELF object format]),
   70:             [elf=$withval],
   71:             [elf=no])
   72: AC_ARG_WITH([selinux],
   73:             AC_HELP_STRING([--with-selinux],
   74:                            [if building with SELinux support]),
   75:             [with_selinux=$withval],
   76:             [with_selinux=auto])
   77: AC_ARG_WITH([xcoff],
   78:             AC_HELP_STRING([--with-xcoff],
   79:                            [if using the XCOFF object format]),
   80:             [xcoff=$withval],
   81:             [xcoff=no])
   82: AC_ARG_WITH([cvs],
   83:             AC_HELP_STRING([--without-cvs],
   84:                            [if CVS should not be used]),
   85:             [with_cvs=$withval],
   86:             [with_cvs=yes])
   87: if test "$with_cvs" = yes; then
   88:   if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
   89:   then
   90:     with_cvs=no
   91:   fi
   92: fi
   93: AC_SUBST(with_cvs)
   94: 
   95: AC_ARG_WITH([headers],
   96:             AC_HELP_STRING([--with-headers=PATH],
   97:                            [location of system headers to use
   98:                             (for example /usr/src/linux/include)
   99:                             @<:@default=compiler default@:>@]),
  100:             [sysheaders=$withval],
  101:             [sysheaders=''])
  102: 
  103: AC_ARG_ENABLE([sanity-checks],
  104:               AC_HELP_STRING([--disable-sanity-checks],
  105:                              [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
  106:               [enable_sanity=$enableval],
  107:               [enable_sanity=yes])
  108: 
  109: AC_SUBST(enable_check_abi)
  110: AC_ARG_ENABLE([check-abi],
  111:               AC_HELP_STRING([--enable-check-abi],
  112:                              [do "make check-abi" in "make check" (no/warn/yes)
  113:                               @<:@default=no@:>@]),
  114:               [enable_check_abi=$enableval],
  115:               [enable_check_abi=no])
  116: 
  117: dnl Arguments to enable or disable building the static, shared, profiled,
  118: dnl and -fomit-frame-pointer libraries.
  119: dnl I've disabled this for now since we cannot build glibc without static
  120: dnl libraries built in the moment.
  121: dnl AC_ARG_ENABLE([static],
  122: dnl               AC_HELP_STRING([--enable-static],
  123: dnl                              [build static library @<:@default=yes@:>@]),
  124: dnl               [static=$enableval],
  125: dnl               [static=yes])
  126: static=yes
  127: AC_ARG_ENABLE([shared],
  128:               AC_HELP_STRING([--enable-shared],
  129:                              [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
  130:               [shared=$enableval],
  131:               [shared=default])
  132: AC_ARG_ENABLE([profile],
  133:               AC_HELP_STRING([--enable-profile],
  134:                              [build profiled library @<:@default=no@:>@]),
  135:               [profile=$enableval],
  136:               [profile=no])
  137: AC_ARG_ENABLE([omitfp],
  138:               AC_HELP_STRING([--enable-omitfp],
  139:                              [build undebuggable optimized library @<:@default=no@:>@]),
  140:               [omitfp=$enableval],
  141:               [omitfp=no])
  142: AC_ARG_ENABLE([bounded],
  143:               AC_HELP_STRING([--enable-bounded],
  144:                              [build with runtime bounds checking @<:@default=no@:>@]),
  145:               [bounded=$enableval],
  146:               [bounded=no])
  147: AC_ARG_ENABLE([versioning],
  148:               AC_HELP_STRING([--disable-versioning],
  149:                              [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
  150:               [enable_versioning=$enableval],
  151:               [enable_versioning=yes])
  152: 
  153: AC_ARG_ENABLE([oldest-abi],
  154:               AC_HELP_STRING([--enable-oldest-abi=ABI],
  155:                              [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
  156:               [oldest_abi=$enableval],
  157:               [oldest_abi=no])
  158: if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
  159:   oldest_abi=default
  160: else
  161:   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
  162: fi
  163: AC_SUBST(oldest_abi)
  164: 
  165: AC_ARG_ENABLE([stackguard-randomization],
  166:               AC_HELP_STRING([--enable-stackguard-randomization],
  167:                              [initialize __stack_chk_guard canary with a random number at program start]),
  168:               [enable_stackguard_randomize=$enableval],
  169:               [enable_stackguard_randomize=no])
  170: if test "$enable_stackguard_randomize" = yes; then
  171:   AC_DEFINE(ENABLE_STACKGUARD_RANDOMIZE)
  172: fi
  173: 
  174: dnl Generic infrastructure for drop-in additions to libc.
  175: AC_ARG_ENABLE([add-ons],
  176:               AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
  177:                              [configure and build add-ons in DIR1,DIR2,...
  178:                               search for add-ons if no parameter given]),
  179:                              , [enable_add_ons=yes])
  180: 
  181: dnl Let the user avoid using TLS.  Don't know why but...
  182: AC_ARG_WITH([tls],
  183:             AC_HELP_STRING([--with-tls],
  184:                            [enable support for TLS]),
  185:             [usetls=$withval],
  186:             [usetls=yes])
  187: 
  188: AC_ARG_WITH([__thread],
  189:             AC_HELP_STRING([--without-__thread],
  190:                            [do not use TLS features even when supporting them]),
  191:             [use__thread=$withval],
  192:             [use__thread=yes])
  193: 
  194: AC_ARG_ENABLE([hidden-plt],
  195:               AC_HELP_STRING([--disable-hidden-plt],
  196:                              [do not hide internal function calls to avoid PLT]),
  197:               [hidden=$enableval],
  198:               [hidden=yes])
  199: if test "x$hidden" = xno; then
  200:   AC_DEFINE(NO_HIDDEN)
  201: fi
  202: 
  203: AC_ARG_ENABLE([bind-now],
  204:               AC_HELP_STRING([--enable-bind-now],
  205:                              [disable lazy relocations in DSOs]),
  206:               [bindnow=$enableval],
  207:               [bindnow=no])
  208: AC_SUBST(bindnow)
  209: 
  210: dnl On some platforms we cannot use dynamic loading.  We must provide
  211: dnl static NSS modules.
  212: AC_ARG_ENABLE([static-nss],
  213:               AC_HELP_STRING([--enable-static-nss],
  214:                              [build static NSS modules @<:@default=no@:>@]),
  215:               [static_nss=$enableval],
  216:               [static_nss=no])
  217: dnl Enable static NSS also if we build no shared objects.
  218: if test x"$static_nss" = xyes || test x"$shared" = xno; then
  219:   static_nss=yes
  220:   AC_DEFINE(DO_STATIC_NSS)
  221: fi
  222: 
  223: AC_ARG_ENABLE([force-install],
  224:               AC_HELP_STRING([--disable-force-install],
  225:                              [don't force installation of files from this package, even if they are older than the installed files]),
  226:               [force_install=$enableval],
  227:               [force_install=yes])
  228: AC_SUBST(force_install)
  229: 
  230: dnl On some platforms we allow dropping compatibility with all kernel
  231: dnl versions.
  232: AC_ARG_ENABLE([kernel],
  233:               AC_HELP_STRING([--enable-kernel=VERSION],
  234:                              [compile for compatibility with kernel not older than VERSION]),
  235:               [minimum_kernel=$enableval],
  236:               [])
  237: dnl Prevent unreasonable values.
  238: if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
  239:   # Better nothing than this.
  240:   minimum_kernel=""
  241: else
  242:   if test "$minimum_kernel" = current; then
  243:     minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
  244:   fi
  245: fi
  246: 
  247: dnl For the development we sometimes want gcc to issue even more warnings.
  248: dnl This is not the default since many of the extra warnings are not
  249: dnl appropriate.
  250: AC_ARG_ENABLE([all-warnings],
  251:               AC_HELP_STRING([--enable-all-warnings],
  252:                              [enable all useful warnings gcc can issue]),
  253:               [all_warnings=$enableval],
  254:               [])
  255: AC_SUBST(all_warnings)
  256: 
  257: AC_CANONICAL_HOST
  258: 
  259: # The way shlib-versions is used to generate soversions.mk uses a
  260: # fairly simplistic model for name recognition that can't distinguish
  261: # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
  262: # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
  263: # tell.  This doesn't get used much beyond that, so it's fairly safe.
  264: case "$host_os" in
  265: linux*)
  266:   ;;
  267: gnu*)
  268:   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
  269:   ;;
  270: esac
  271: 
  272: # We keep the original values in `$config_*' and never modify them, so we
  273: # can write them unchanged into config.make.  Everything else uses
  274: # $machine, $vendor, and $os, and changes them whenever convenient.
  275: config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
  276: 
  277: # Don't allow vendor == "unknown"
  278: test "$config_vendor" = unknown && config_vendor=
  279: config_os="`echo $config_os | sed 's/^unknown-//'`"
  280: 
  281: # Some configurations imply other options.
  282: case "$host_os" in
  283: # i586-linuxaout is mangled into i586-pc-linux-gnuaout
  284: linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
  285:   ;;
  286: gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
  287:   # These systems (almost) always use the ELF format.
  288:   elf=yes
  289:   ;;
  290: aix*)
  291:   # These systems are always xcoff
  292:   xcoff=yes
  293:   elf=no
  294:   ;;
  295: esac
  296: 
  297: # The configure fragment of an add-on port can modify these to supplement
  298: # or override the table in the case statement below.  No fragment should
  299: # ever change the config_* variables, however.
  300: machine=$config_machine
  301: vendor=$config_vendor
  302: os=$config_os
  303: 
  304: # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
  305: # Unify this here.
  306: if test "$machine" = rs6000; then
  307:   machine="powerpc"
  308: fi
  309: 
  310: # Braindead PowerPC box with absolutely no FPU.
  311: case "$machine-$host_os" in
  312:   powerpc*-*soft)
  313:     with_fp=no
  314:     ;;
  315: esac
  316: 
  317: submachine=
  318: AC_ARG_WITH([cpu],
  319:             AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
  320:             [dnl
  321:   case "$withval" in
  322:   yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
  323:   no) ;;
  324:   *) submachine="$withval" ;;
  325:   esac
  326: ])
  327: 
  328: 
  329: # An add-on can set this when it wants to disable the sanity check below.
  330: libc_config_ok=no
  331: 
  332: dnl Having this here, though empty, makes sure that if add-ons' fragments
  333: dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
  334: dnl our AC_OUTPUT will actually use it.
  335: AC_CONFIG_SUBDIRS()
  336: 
  337: case "$enable_add_ons" in
  338: ''|no) add_ons= ;;
  339: yes|'*')
  340:  add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
  341:           sed 's@/[[^/]]*$@@' | sort | uniq`
  342:          add_ons_automatic=yes
  343:          ;;
  344: *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
  345:        add_ons_automatic=no ;;
  346: esac
  347: 
  348: configured_add_ons=
  349: add_ons_sfx=
  350: add_ons_pfx=
  351: if test x"$add_ons" != x; then
  352:   for f in $add_ons; do
  353:     # Some sanity checks
  354:     case "$f" in
  355:     crypt)
  356:       AC_MSG_ERROR([
  357: *** It seems that you're using an old \`crypt' add-on.  crypt is now
  358: *** part of glibc and using the old add-on will not work with this
  359: *** release.  Start again with fresh sources and without the old
  360: *** \`crypt' add-on.])
  361:     ;;
  362:     localedata)
  363:       AC_MSG_ERROR([
  364: *** It seems that you're using an old \`localedata' add-on.  localedata
  365: *** is now part of glibc and using the old add-on will not work with
  366: *** this release.  Start again with fresh sources and without the old
  367: *** \`localedata' add-on.])
  368:     ;;
  369:     esac
  370:   done
  371: 
  372:   # Now source each add-on's configure fragment.
  373:   # The fragments can use $srcdir/$libc_add_on to find themselves,
  374:   # and test $add_ons_automatic to see if they were explicitly requested.
  375:   # A fragment can clear (or even change) $libc_add_on to affect
  376:   # whether it goes into the list to be actually used in the build.
  377:   use_add_ons=
  378:   for libc_add_on in $add_ons; do
  379:     # Test whether such a directory really exists.
  380:     # It can be absolute, or relative to $srcdir, or relative to the build dir.
  381:     case "$libc_add_on" in
  382:     /*)
  383:       libc_add_on_srcdir=$libc_add_on
  384:       ;;
  385:     *)
  386:       test -d "$srcdir/$libc_add_on" || {
  387:         if test -d "$libc_add_on"; then
  388:           libc_add_on="`pwd`/$libc_add_on"
  389:         else
  390:           AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
  391:         fi
  392:       }
  393:       libc_add_on_srcdir=$srcdir/$libc_add_on
  394:       ;;
  395:     esac
  396: 
  397:     libc_add_on_frag=$libc_add_on_srcdir/configure
  398:     libc_add_on_canonical=
  399:     if test -r "$libc_add_on_frag"; then
  400:       AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
  401:       libc_add_on_canonical=unknown
  402:       libc_add_on_subdirs=
  403:       . "$libc_add_on_frag"
  404:       test -z "$libc_add_on" || {
  405:         configured_add_ons="$configured_add_ons $libc_add_on"
  406:         if test "x$libc_add_on_canonical" = xunknown; then
  407:           AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
  408:         fi
  409:         for d in $libc_add_on_subdirs; do
  410:           case "$libc_add_on" in
  411:           /*) subdir_srcdir="$libc_add_on" ;;
  412:           *) subdir_srcdir="\$(..)$libc_add_on" ;;
  413:           esac
  414:           case "$d" in
  415:           .)
  416:             d="${libc_add_on_canonical:-$libc_add_on}"
  417:             ;;
  418:           /*)
  419:             subdir_srcdir="$d"
  420:             ;;
  421:           *)
  422:             subdir_srcdir="$subdir_srcdir/$d"
  423:             ;;
  424:           esac
  425:           d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
  426:           add_on_subdirs="$add_on_subdirs $d"
  427:           test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
  428: $d-srcdir = $subdir_srcdir"
  429:         done
  430:       }
  431:     fi
  432:     if test -n "$libc_add_on"; then
  433:       if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
  434:       then
  435:         AC_MSG_CHECKING(add-on $libc_add_on for preconfigure fragments)
  436:         for frag in $frags; do
  437:           name=`echo "$frag" | sed 's@/[[^/]]*$@@;s@^.*/@@'`
  438:           echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
  439:           . "$frag"
  440:         done
  441:         AC_MSG_RESULT()
  442:       fi
  443:       use_add_ons="$use_add_ons $libc_add_on"
  444:       add_ons_pfx="$add_ons_pfx $libc_add_on/"
  445:       test -z "$libc_add_on_canonical" ||
  446:       add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
  447:     fi
  448:   done
  449:   # Use echo to strip excess whitespace.
  450:   add_ons="`echo $use_add_ons`"
  451: fi
  452: AC_SUBST(add_ons)
  453: AC_SUBST(add_on_subdirs)
  454: 
  455: 
  456: ###
  457: ### I put this here to prevent those annoying emails from people who cannot
  458: ### read and try to compile glibc on unsupported platforms.  --drepper
  459: ###
  460: ### By using the undocumented --enable-hacker-mode option for configure
  461: ### one can skip this test to make the configuration not fail for unsupported
  462: ### platforms.
  463: ###
  464: if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
  465:   case "$machine-$host_os" in
  466:   *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
  467:     ;;
  468:   *)
  469:     echo "*** The GNU C library is currently not available for this platform."
  470:     echo "*** So far nobody cared to port it and if there is no volunteer it"
  471:     echo "*** might never happen.  So, if you have interest to see glibc on"
  472:     echo "*** this platform visit"
  473:     echo "***   http://www.gnu.org/software/libc/porting.html"
  474:     echo "*** and join the group of porters"
  475:     exit 1
  476:     ;;
  477:   esac
  478: fi
  479: 
  480: dnl We need to use [ and ] for other purposes for a while now.
  481: changequote(,)dnl
  482: # Expand the configuration machine name into a subdirectory by architecture
  483: # type and particular chip.  If an add-on configure fragment already set
  484: # base_machine, we don't change it.
  485: test -n "$base_machine" || case "$machine" in
  486: a29k | am29000) base_machine=a29k machine=a29k ;;
  487: alpha*)         base_machine=alpha machine=alpha/$machine ;;
  488: c3[012])        base_machine=cx0 machine=cx0/c30 ;;
  489: c4[04])         base_machine=cx0 machine=cx0/c40 ;;
  490: i[34567]86)     base_machine=i386 machine=i386/$machine ;;
  491: ia64)           base_machine=ia64 machine=ia64 ;;
  492: m88???)         base_machine=m88k machine=m88k/$machine ;;
  493: m88k)           base_machine=m88k machine=m88k/m88100 ;;
  494: powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
  495: powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
  496: s390)           base_machine=s390 machine=s390/s390-32 ;;
  497: s390x)          base_machine=s390 machine=s390/s390-64 ;;
  498: sh3*)           base_machine=sh machine=sh/sh3 ;;
  499: sh4*)           base_machine=sh machine=sh/sh4 ;;
  500: sparc | sparcv[67])
  501:                 base_machine=sparc machine=sparc/sparc32 ;;
  502: sparcv8 | supersparc | hypersparc)
  503:                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
  504: sparcv8plus | sparcv8plusa | sparcv9)
  505:                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
  506: sparcv8plusb | sparcv9b)
  507:                 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
  508: sparcv9v)
  509:                 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
  510: sparc64)
  511:                 base_machine=sparc machine=sparc/sparc64 ;;
  512: sparc64b)
  513:                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
  514: sparc64v)
  515:                 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
  516: *)              base_machine=$machine ;;
  517: esac
  518: changequote([,])dnl
  519: AC_SUBST(base_machine)
  520: 
  521: if test "$base_machine" = "i386"; then
  522:   AC_DEFINE(USE_REGPARMS)
  523: fi
  524: 
  525: # Compute the list of sysdep directories for this configuration.
  526: # This can take a while to compute.
  527: sysdep_dir=$srcdir/sysdeps
  528: AC_MSG_CHECKING(sysdep dirs)
  529: dnl We need to use [ and ] for other purposes for a while now.
  530: changequote(,)dnl
  531: # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
  532: os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
  533: 
  534: case "$os" in
  535: gnu*)
  536:   base_os=mach/hurd ;;
  537: netbsd* | 386bsd* | freebsd* | bsdi*)
  538:   base_os=unix/bsd/bsd4.4 ;;
  539: osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
  540:   base_os=unix/bsd ;;
  541: sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
  542:   base_os=unix/sysv ;;
  543: irix6*)
  544:   base_os=unix/sysv/irix6/$os ;;
  545: solaris[2-9]*)
  546:   base_os=unix/sysv/sysv4 ;;
  547: hpux*)
  548:   base_os=unix/sysv/hpux/$os ;;
  549: aix4.3*)
  550:   base_os=unix/sysv/aix/aix4.3 ;;
  551: none)
  552:   base_os=standalone ;;
  553: *)
  554:   base_os='' ;;
  555: esac
  556: 
  557: # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
  558: tail=$os
  559: ostry=$os
  560: while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
  561:   ostry="$ostry /$o"
  562:   tail=$o
  563: done
  564: o=`echo $tail | sed 's/[0-9]*$//'`
  565: if test $o != $tail; then
  566:   ostry="$ostry /$o"
  567: fi
  568: # For linux-gnu, try linux-gnu, then linux.
  569: o=`echo $tail | sed 's/-.*$//'`
  570: if test $o != $tail; then
  571:   ostry="$ostry /$o"
  572: fi
  573: 
  574: # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
  575: base=
  576: tail=$base_os
  577: while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
  578:   set $b
  579:   base="$base /$1"
  580:   tail="$2"
  581: done
  582: 
  583: # For sparc/sparc32, try sparc/sparc32 and then sparc.
  584: mach=
  585: tail=$machine${submachine:+/$submachine}
  586: while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
  587:   set $m
  588:   # Prepend the machine's FPU directory unless --without-fp.
  589:   if test "$with_fp" = yes; then
  590:     mach="$mach /$1/fpu"
  591:   else
  592:     mach="$mach /$1/nofpu"
  593:   fi
  594:   mach="$mach /$1"
  595:   tail="$2"
  596: done
  597: 
  598: dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
  599: changequote([,])dnl
  600: 
  601: # Find what sysdep directories exist.
  602: sysnames_add_ons=
  603: sysnames=
  604: for b in $base ''; do
  605:   for m0 in $mach ''; do
  606:     for v in /$vendor ''; do
  607:       test "$v" = / && continue
  608:       for o in /$ostry ''; do
  609:         test "$o" = / && continue
  610:         for m in $mach ''; do
  611:           for d in $add_ons_pfx ''; do
  612:             for a in $add_ons_sfx ''; do
  613:               if test -n "$m0$m0sub$b$v$o$m$msub"; then
  614:                 try_srcdir="${srcdir}/"
  615:                 case "$d" in
  616:                 /*) try_srcdir= ;;
  617:                 esac
  618:                 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
  619:                 test -n "$enable_debug_configure" &&
  620:                 echo "$0 [DEBUG]: try $try" >&2
  621:                 if test -d "$try_srcdir$try"; then
  622:                   sysnames="$sysnames $try"
  623:                   { test -n "$o" || test -n "$b"; } && os_used=t
  624:                   { test -n "$m" || test -n "$m0"; } && machine_used=t
  625:                   case x${m0:-$m} in
  626:                   x*/$submachine) submachine_used=t ;;
  627:                   esac
  628:                   if test -n "$d"; then
  629:                     case "$sysnames_add_ons" in
  630:                     *" $d "*) ;;
  631:                     *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
  632:                     esac
  633:                   fi
  634:                 fi
  635:               fi
  636:             done
  637:           done
  638:         done
  639:       done
  640:     done
  641:   done
  642: done
  643: 
  644: if test -z "$os_used" && test "$os" != none; then
  645:   AC_MSG_ERROR(Operating system $os is not supported.)
  646: fi
  647: if test -z "$machine_used" && test "$machine" != none; then
  648:   AC_MSG_ERROR(The $machine is not supported.)
  649: fi
  650: if test -z "$submachine_used" && test -n "$submachine"; then
  651:   AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
  652: fi
  653: AC_SUBST(submachine)
  654: 
  655: # We have now validated the configuration.
  656: 
  657: 
  658: # If using ELF, look for an `elf' subdirectory of each machine directory.
  659: # We prepend these rather than inserting them whereever the machine appears
  660: # because things specified by the machine's ELF ABI should override
  661: # OS-specific things, and should always be the same for any OS on the
  662: # machine (otherwise what's the point of an ABI?).
  663: if test "$elf" = yes; then
  664:   elf_dirs=
  665:   for d in $add_ons_pfx ''; do
  666:     for m in $mach; do
  667:       if test -d $srcdir/${d}sysdeps$m/elf; then
  668:         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
  669:       fi
  670:     done
  671:   done
  672:   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
  673: fi
  674: 
  675: 
  676: # Expand the list of system names into a full list of directories
  677: # from each element's parent name and Implies file (if present).
  678: set $sysnames
  679: names=
  680: while test $# -gt 0; do
  681:   name=$1
  682:   shift
  683: 
  684:   case " $names " in *" $name "*)
  685:     # Already in the list.
  686:     continue
  687:   esac
  688: 
  689:   # Report each name as we discover it, so there is no long pause in output.
  690:   echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
  691: 
  692:   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
  693: 
  694:   case $name in
  695:     /*) xsrcdir= ;;
  696:     *)  xsrcdir=$srcdir/ ;;
  697:   esac
  698:   test -n "$enable_debug_configure" &&
  699:   echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
  700: 
  701:   if test -f $xsrcdir$name/Implies; then
  702:     # Collect more names from the `Implies' file (removing comments).
  703:     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
  704:     implied=
  705:     for x in $implied_candidate; do
  706:       found=no
  707:       if test -d $xsrcdir$name_base/$x; then
  708:         implied="$implied $name_base/$x";
  709:         found=yes
  710:       fi
  711:       for d in $add_ons_pfx ''; do
  712:         try="${d}sysdeps/$x"
  713:         case $d in
  714:          /*) try_srcdir= ;;
  715:          *) try_srcdir=$srcdir/ ;;
  716:         esac
  717:         test -n "$enable_debug_configure" &&
  718:          echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
  719:         if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
  720:         then
  721:           implied="$implied $try"
  722:           found=yes
  723:           case "$sysnames_add_ons" in
  724:           *" $d "*) ;;
  725:           *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
  726:           esac
  727:         fi
  728:       done
  729:       if test $found = no; then
  730:         AC_MSG_WARN($name/Implies specifies nonexistent $x)
  731:       fi
  732:     done
  733:   else
  734:     implied=
  735:   fi
  736: 
  737:   # Add NAME to the list of names.
  738:   names="$names $name"
  739: 
  740:   # Find the parent of NAME, using the empty string if it has none.
  741: changequote(,)dnl
  742:   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
  743: changequote([,])dnl
  744: 
  745:   # Add the names implied by NAME, and NAME's parent (if it has one), to
  746:   # the list of names to be processed (the argument list).  We prepend the
  747:   # implied names to the list and append the parent.  We want implied
  748:   # directories to come before further directories inferred from the
  749:   # configuration components; this ensures that for sysv4, unix/common
  750:   # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
  751:   # after sysv4).
  752:   sysnames="`echo $implied $* $parent`"
  753:   test -n "$sysnames" && set $sysnames
  754: done
  755: 
  756: # Add the default directories.
  757: default_sysnames=sysdeps/generic
  758: if test "$elf" = yes; then
  759:   default_sysnames="sysdeps/generic/elf $default_sysnames"
  760: fi
  761: sysnames="$names $default_sysnames"
  762: AC_SUBST(sysnames)
  763: # The other names were emitted during the scan.
  764: AC_MSG_RESULT($default_sysnames)
  765: 
  766: # Collect the list of add-ons that supply partial sysdeps trees.
  767: sysdeps_add_ons=
  768: for add_on in $add_ons; do
  769:   case "$add_on" in
  770:   /*) xsrcdir= ;;
  771:   *) xsrcdir="$srcdir/" ;;
  772:   esac
  773: 
  774:   test -d "$xsrcdir$add_on/sysdeps" || {
  775:     case "$configured_add_ons " in
  776:     *" $add_on "*) ;;
  777:     *|'')
  778:       AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
  779:       ;;
  780:     esac
  781:     continue
  782:   }
  783: 
  784:   sysdeps_add_ons="$sysdeps_add_ons $add_on"
  785:   case "$sysnames_add_ons" in
  786:   *" $add_on/ "*) ;;
  787:   *|'')
  788:     AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
  789:     continue ;;
  790:   esac
  791: 
  792:   found=no
  793:   for d in $sysnames; do
  794:     case "$d" in
  795:     $add_on/sysdeps/*) ;;
  796:     *) continue ;;
  797:     esac
  798:     (cd "$xsrcdir$d" && for f in *[[!~]]; do
  799:        case "$f" in
  800:        sys|bits)
  801:          for ff in $f/*.h; do
  802:            test -d "$ff" || { test -e "$ff" && exit 88; }
  803:          done
  804:          ;;
  805:        *)
  806:          test -d "$f" || { test -e "$f" && exit 88; }
  807:          ;;
  808:        esac
  809:      done)
  810:     if test $? -eq 88; then
  811:       found=yes
  812:       break