Home | History | Annotate | Download | only in libiberty
      1 dnl Process this file with autoconf to produce a configure script
      2 
      3 AC_PREREQ(2.64)
      4 AC_INIT
      5 AC_CONFIG_SRCDIR([xmalloc.c])
      6 
      7 # This works around the fact that libtool configuration may change LD
      8 # for this particular configuration, but some shells, instead of
      9 # keeping the changes in LD private, export them just because LD is
     10 # exported.  We don't use libtool yet, but some day we might, so...
     11 ORIGINAL_LD_FOR_MULTILIBS=$LD
     12 
     13 dnl We use these options to decide which functions to include.
     14 AC_ARG_WITH(target-subdir,
     15 [  --with-target-subdir=SUBDIR      Configuring in a subdirectory for target])
     16 AC_ARG_WITH(build-subdir,
     17 [  --with-build-subdir=SUBDIR       Configuring in a subdirectory for build])
     18 AC_ARG_WITH(cross-host,
     19 [  --with-cross-host=HOST           Configuring with a cross compiler])
     20 AC_ARG_WITH(newlib,
     21 [  --with-newlib                    Configuring with newlib])
     22 
     23 if test "${srcdir}" = "."; then
     24   if test -n "${with_build_subdir}"; then
     25     libiberty_topdir="${srcdir}/../.."
     26     with_target_subdir=
     27   elif test -z "${with_target_subdir}"; then
     28     libiberty_topdir="${srcdir}/.."
     29   else
     30     if test "${with_target_subdir}" != "."; then
     31       libiberty_topdir="${srcdir}/${with_multisrctop}../.."
     32     else
     33       libiberty_topdir="${srcdir}/${with_multisrctop}.."
     34     fi
     35   fi
     36 else
     37   libiberty_topdir="${srcdir}/.."
     38 fi
     39 AC_SUBST(libiberty_topdir)
     40 AC_CONFIG_AUX_DIR($libiberty_topdir)
     41 
     42 dnl Very limited version of automake's enable-maintainer-mode
     43 
     44 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
     45   dnl maintainer-mode is disabled by default
     46   AC_ARG_ENABLE(maintainer-mode,
     47 [  --enable-maintainer-mode
     48                           enable make rules and dependencies not useful
     49                           (and sometimes confusing) to the casual installer],
     50       maintainer_mode=$enableval,
     51       maintainer_mode=no)
     52 
     53 AC_MSG_RESULT($maintainer_mode)
     54 
     55 if test "$maintainer_mode" = "yes"; then
     56   MAINT=''
     57   NOTMAINT='#'
     58 else
     59   MAINT='#'
     60   NOTMAINT=''
     61 fi
     62 AC_SUBST(MAINT)dnl
     63 AC_SUBST(NOTMAINT)dnl
     64 
     65 # Do we have a single-tree copy of texinfo?  Even if we do, we can't
     66 # rely on it - libiberty is built before texinfo.
     67 AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
     68 if test "x$MAKEINFO" = "x"; then
     69     MAKEINFO="@echo makeinfo missing; true"
     70     BUILD_INFO=
     71 else
     72     BUILD_INFO=info
     73     case "$MAKEINFO" in
     74       */missing\ makeinfo*)
     75 	BUILD_INFO=
     76 	AC_MSG_WARN([
     77 *** Makeinfo is missing. Info documentation will not be built.])
     78         ;;
     79       *)
     80 	case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
     81 	  x*\ [[1-3]].* )
     82 	    MAKEINFO="@echo $MAKEINFO is too old, 4.0 or newer required; true"
     83 	    BUILD_INFO=
     84 	    AC_MSG_WARN([
     85 *** Makeinfo is too old. Info documentation will not be built.])
     86 	  ;;
     87 	esac
     88 	;;
     89     esac
     90 fi
     91 AC_SUBST(MAKEINFO)
     92 AC_SUBST(BUILD_INFO)
     93 
     94 AC_CHECK_PROG(PERL, perl, perl, )
     95 if test x"$PERL" = x""; then
     96   HAVE_PERL='#'
     97 else
     98   HAVE_PERL=''
     99 fi
    100 AC_SUBST(HAVE_PERL)
    101 
    102 AC_CANONICAL_HOST
    103 
    104 dnl When we start using automake:
    105 dnl AM_INIT_AUTOMAKE(libiberty, 1.0)
    106 
    107 dnl These must be called before AM_PROG_LIBTOOL, because it may want
    108 dnl to call AC_CHECK_PROG.
    109 AC_CHECK_TOOL(AR, ar)
    110 AC_CHECK_TOOL(RANLIB, ranlib, :)
    111 
    112 dnl When switching to automake, replace the following with AM_ENABLE_MULTILIB.
    113 # Add --enable-multilib to configure.
    114 # Default to --enable-multilib
    115 AC_ARG_ENABLE(multilib,
    116 [  --enable-multilib       build many library versions (default)],
    117 [case "$enableval" in
    118   yes) multilib=yes ;;
    119   no)  multilib=no ;;
    120   *)   AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
    121  esac],
    122 	      [multilib=yes])
    123 
    124 # Even if the default multilib is not a cross compilation,
    125 # it may be that some of the other multilibs are.
    126 if test $cross_compiling = no && test $multilib = yes \
    127    && test "x${with_multisubdir}" != x ; then
    128    cross_compiling=maybe
    129 fi
    130 
    131 # We may wish to install the target headers somewhere.
    132 AC_MSG_CHECKING([whether to install libiberty headers and static library])
    133 dnl install-libiberty is disabled by default
    134 
    135 AC_ARG_ENABLE(install-libiberty,
    136 [  --enable-install-libiberty       Install headers and library for end users],
    137 enable_install_libiberty=$enableval,
    138 enable_install_libiberty=no)dnl
    139 
    140 # Option parsed, now set things appropriately.
    141 case x"$enable_install_libiberty" in
    142   xyes|x)
    143     target_header_dir=libiberty
    144     ;;
    145   xno)   
    146     target_header_dir=
    147     ;;
    148   *) 
    149     # This could be sanity-checked in various ways...
    150     target_header_dir="${enable_install_libiberty}"
    151     ;;
    152 esac
    153 AC_MSG_RESULT($enable_install_libiberty)
    154 AC_MSG_NOTICE([target_header_dir = $target_header_dir])
    155 
    156 GCC_NO_EXECUTABLES
    157 AC_PROG_CC
    158 AC_SYS_LARGEFILE
    159 AC_PROG_CPP_WERROR
    160 
    161 ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wc++-compat \
    162 			  -Wstrict-prototypes], [ac_libiberty_warn_cflags])
    163 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([], [ac_libiberty_warn_cflags])
    164 
    165 AC_PROG_CC_C_O
    166 # autoconf is lame and doesn't give us any substitution variable for this.
    167 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
    168   NO_MINUS_C_MINUS_O=yes
    169 else
    170   OUTPUT_OPTION='-o $@'
    171 fi
    172 AC_SUBST(NO_MINUS_C_MINUS_O)
    173 AC_SUBST(OUTPUT_OPTION)
    174 
    175 AC_C_CONST
    176 AC_C_INLINE
    177 AC_C_BIGENDIAN
    178 
    179 dnl When we start using libtool:
    180 dnl Default to a non shared library.  This may be overridden by the
    181 dnl configure option --enable-shared.
    182 dnl AM_DISABLE_SHARED
    183 
    184 dnl When we start using libtool:
    185 dnl AM_PROG_LIBTOOL
    186 
    187 dnl When we start using automake:
    188 dnl AM_CONFIG_HEADER(config.h:config.in)
    189 AC_CONFIG_HEADER(config.h:config.in)
    190 
    191 dnl When we start using automake:
    192 dnl AM_MAINTAINER_MODE
    193 dnl AC_EXEEXT
    194 
    195 dnl When we start using automake:
    196 dnl AM_PROG_INSTALL
    197 AC_PROG_INSTALL
    198 
    199 # Don't build the shared library for build.
    200 if [[ -n "${with_build_subdir}" ]]; then
    201   enable_shared=no
    202 fi
    203 
    204 frag=
    205 case "${host}" in
    206   rs6000-ibm-aix3.1 | rs6000-ibm-aix)
    207                         frag=mh-aix ;;
    208   *-*-cxux7*)		frag=mh-cxux7 ;;
    209   *-*-freebsd2.1.*)	frag=mh-fbsd21 ;;
    210   *-*-freebsd2.2.[[012]])	frag=mh-fbsd21 ;;
    211   i370-*-opened*)       frag=mh-openedition ;;
    212   i[[34567]]86-*-windows*)	frag=mh-windows ;;
    213 esac
    214 
    215 if [[ -n "${frag}" ]]; then
    216   frag=${libiberty_topdir}/libiberty/config/$frag
    217 fi
    218 
    219 GCC_PICFLAG
    220 
    221 # If they didn't specify --enable-shared, don't generate shared libs.
    222 case "${enable_shared}" in
    223   yes) shared=yes ;;
    224   no) shared=no ;;
    225   "") shared=no ;;
    226   *) shared=yes ;;
    227 esac
    228 
    229 # ...unless --enable-host-shared was passed from top-level config:
    230 if [[ "${enable_host_shared}" = "yes" ]]; then
    231   shared=yes
    232 fi
    233 
    234 if [[ "${shared}" != "yes" ]]; then
    235   PICFLAG=
    236 fi
    237 AC_SUBST(PICFLAG)
    238 
    239 NOASANFLAG=
    240 case " ${CFLAGS} " in
    241   *\ -fsanitize=address\ *) NOASANFLAG=-fno-sanitize=address ;;
    242 esac
    243 AC_SUBST(NOASANFLAG)
    244 
    245 echo "# Warning: this fragment is automatically generated" > temp-frag
    246 
    247 if [[ -n "${frag}" ]] && [[ -f "${frag}" ]]; then
    248   echo "Appending ${frag} to xhost-mkfrag"
    249   echo "# Following fragment copied from ${frag}" >> temp-frag
    250   cat ${frag} >> temp-frag
    251 fi
    252 
    253 # record if we want to build shared libs.
    254 if [[ "${shared}" = "yes" ]]; then
    255   echo enable_shared = yes >> temp-frag
    256 else
    257   echo enable_shared = no >> temp-frag
    258 fi
    259 
    260 frag=xhost-mkfrag
    261 ${CONFIG_SHELL-/bin/sh} ${libiberty_topdir}/move-if-change temp-frag xhost-mkfrag
    262 
    263 host_makefile_frag=${frag}
    264 AC_SUBST_FILE(host_makefile_frag)
    265 
    266 # It's OK to check for header files.  Although the compiler may not be
    267 # able to link anything, it had better be able to at least compile
    268 # something.
    269 AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h)
    270 AC_HEADER_SYS_WAIT
    271 AC_HEADER_TIME
    272 
    273 libiberty_AC_DECLARE_ERRNO
    274 
    275 # Determine sizes of some types.
    276 AC_CHECK_SIZEOF([int])
    277 AC_CHECK_SIZEOF([long])
    278 
    279 # Check for presense of long long
    280 AC_CHECK_TYPE([long long],
    281   [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the `long long' type.]) AC_CHECK_SIZEOF([long long])],
    282   [])
    283 
    284 # Look for a 64-bit type.
    285 AC_MSG_CHECKING([for a 64-bit type])
    286 AC_CACHE_VAL(liberty_cv_uint64,
    287 [AC_TRY_COMPILE(
    288 [#ifdef HAVE_STDINT_H
    289 #include <stdint.h>
    290 #endif],
    291 [extern uint64_t foo;],
    292 liberty_cv_uint64=uint64_t,
    293 [AC_TRY_COMPILE(
    294 [#ifdef HAVE_LIMITS_H
    295 #include <limits.h>
    296 #endif
    297 #ifndef CHAR_BIT
    298 #define CHAR_BIT 8
    299 #endif],
    300 [extern char foo[sizeof(long) * CHAR_BIT >= 64 ? 1 : -1];],
    301 liberty_cv_uint64="unsigned long",
    302 [AC_TRY_COMPILE(
    303 [#ifdef HAVE_LIMITS_H
    304 #include <limits.h>
    305 #endif
    306 #ifndef CHAR_BIT
    307 #define CHAR_BIT 8
    308 #endif],
    309 [extern char foo[sizeof(long long) * CHAR_BIT >= 64 ? 1 : -1];],
    310 liberty_cv_uint64="unsigned long long", liberty_cv_uint64=none)])])])
    311 AC_MSG_RESULT($liberty_cv_uint64)
    312 if test "$liberty_cv_uint64" != none; then
    313   AC_DEFINE_UNQUOTED(UNSIGNED_64BIT_TYPE, $liberty_cv_uint64,
    314                      [Define to an unsigned 64-bit type available in the compiler.])
    315 fi
    316 
    317 AC_TYPE_INTPTR_T
    318 AC_TYPE_UINTPTR_T
    319 AC_TYPE_SSIZE_T
    320 
    321 # Given the above check, we always have uintptr_t or a fallback
    322 # definition.  So define HAVE_UINTPTR_T in case any imported code
    323 # relies on it.
    324 AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
    325 
    326 AC_TYPE_PID_T
    327 
    328 # This is the list of functions which libiberty will provide if they
    329 # are not available on the host.
    330 
    331 funcs="asprintf"
    332 funcs="$funcs atexit"
    333 funcs="$funcs basename"
    334 funcs="$funcs bcmp"
    335 funcs="$funcs bcopy"
    336 funcs="$funcs bsearch"
    337 funcs="$funcs bzero"
    338 funcs="$funcs calloc"
    339 funcs="$funcs clock"
    340 funcs="$funcs ffs"
    341 funcs="$funcs getcwd"
    342 funcs="$funcs getpagesize"
    343 funcs="$funcs gettimeofday"
    344 funcs="$funcs index"
    345 funcs="$funcs insque"
    346 funcs="$funcs memchr"
    347 funcs="$funcs memcmp"
    348 funcs="$funcs memcpy"
    349 funcs="$funcs memmem"
    350 funcs="$funcs memmove"
    351 funcs="$funcs mempcpy"
    352 funcs="$funcs memset"
    353 funcs="$funcs mkstemps"
    354 funcs="$funcs putenv"
    355 funcs="$funcs random"
    356 funcs="$funcs rename"
    357 funcs="$funcs rindex"
    358 funcs="$funcs setenv"
    359 funcs="$funcs snprintf"
    360 funcs="$funcs sigsetmask"
    361 funcs="$funcs stpcpy"
    362 funcs="$funcs stpncpy"
    363 funcs="$funcs strcasecmp"
    364 funcs="$funcs strchr"
    365 funcs="$funcs strdup"
    366 funcs="$funcs strncasecmp"
    367 funcs="$funcs strndup"
    368 funcs="$funcs strnlen"
    369 funcs="$funcs strrchr"
    370 funcs="$funcs strstr"
    371 funcs="$funcs strtod"
    372 funcs="$funcs strtol"
    373 funcs="$funcs strtoul"
    374 funcs="$funcs strtoll"
    375 funcs="$funcs strtoull"
    376 funcs="$funcs strverscmp"
    377 funcs="$funcs tmpnam"
    378 funcs="$funcs vasprintf"
    379 funcs="$funcs vfprintf"
    380 funcs="$funcs vprintf"
    381 funcs="$funcs vsnprintf"
    382 funcs="$funcs vsprintf"
    383 funcs="$funcs waitpid"
    384 funcs="$funcs setproctitle"
    385 
    386 # Also in the old function.def file: alloca, vfork, getopt.
    387 
    388 vars="sys_errlist sys_nerr sys_siglist"
    389 
    390 checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \
    391  getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \
    392  realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \
    393  sysmp table times wait3 wait4"
    394 
    395 # These are neither executed nor required, but they help keep
    396 # autoheader happy without adding a bunch of text to acconfig.h.
    397 if test "x" = "y"; then
    398   AC_CHECK_FUNCS(asprintf atexit \
    399     basename bcmp bcopy bsearch bzero \
    400     calloc canonicalize_file_name clock \
    401     dup3 \
    402     ffs __fsetlocking \
    403     getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
    404     index insque \
    405     memchr memcmp memcpy memmem memmove memset mkstemps \
    406     on_exit \
    407     psignal pstat_getdynamic pstat_getstatic putenv \
    408     random realpath rename rindex \
    409     sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
    410      stpcpy stpncpy strcasecmp strchr strdup \
    411      strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \
    412      strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \
    413     table times tmpnam \
    414     vasprintf vfprintf vprintf vsprintf \
    415     wait3 wait4 waitpid)
    416   AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull])
    417   AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
    418   AC_DEFINE(HAVE_SYS_NERR,    1, [Define if you have the sys_nerr variable.])
    419   AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
    420 fi
    421 
    422 # For each of these functions, if the host does not provide the
    423 # function we want to put FN.o in LIBOBJS, and if the host does
    424 # provide the function, we want to define HAVE_FN in config.h.
    425 
    426 setobjs=
    427 CHECK=
    428 if test -n "${with_target_subdir}"; then
    429 
    430   # We are being configured as a target library.  AC_REPLACE_FUNCS
    431   # may not work correctly, because the compiler may not be able to
    432   # link executables.  Note that we may still be being configured
    433   # native.
    434 
    435   # If we are being configured for newlib, we know which functions
    436   # newlib provide and which ones we will be expected to provide.
    437 
    438   if test "x${with_newlib}" = "xyes"; then
    439     AC_LIBOBJ([asprintf])
    440     AC_LIBOBJ([basename])
    441     AC_LIBOBJ([insque])
    442     AC_LIBOBJ([random])
    443     AC_LIBOBJ([strdup])
    444     AC_LIBOBJ([vasprintf])
    445 
    446     for f in $funcs; do
    447       case "$f" in
    448 	asprintf | basename | insque | random | strdup | vasprintf)
    449 	  ;;
    450 	*)
    451 	  n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    452 	  AC_DEFINE_UNQUOTED($n)
    453 	  ;;
    454       esac
    455     done
    456 
    457     # newlib doesnt provide any of the variables in $vars, so we
    458     # dont have to check them here.
    459 
    460     # Of the functions in $checkfuncs, newlib only has strerror.
    461     AC_DEFINE(HAVE_STRERROR)
    462 
    463     setobjs=yes
    464 
    465   fi
    466 
    467   # If we are being configured for Mingw, we know which functions
    468   # Mingw provides and which ones we will be expected to provide.
    469 
    470   case "${host}" in
    471   *-*-mingw*)
    472     AC_LIBOBJ([asprintf])
    473     AC_LIBOBJ([basename])
    474     AC_LIBOBJ([bcmp])
    475     AC_LIBOBJ([bcopy])
    476     AC_LIBOBJ([bzero])
    477     AC_LIBOBJ([clock])
    478     AC_LIBOBJ([ffs])
    479     AC_LIBOBJ([getpagesize])
    480     AC_LIBOBJ([index])
    481     AC_LIBOBJ([insque])
    482     AC_LIBOBJ([mempcpy])
    483     AC_LIBOBJ([mkstemps])
    484     AC_LIBOBJ([random])
    485     AC_LIBOBJ([rindex])
    486     AC_LIBOBJ([sigsetmask])
    487     AC_LIBOBJ([stpcpy])
    488     AC_LIBOBJ([stpncpy])
    489     AC_LIBOBJ([strndup])
    490     AC_LIBOBJ([strnlen])
    491     AC_LIBOBJ([strverscmp])
    492     AC_LIBOBJ([vasprintf])
    493     AC_LIBOBJ([waitpid])
    494 
    495     for f in $funcs; do
    496       case "$f" in
    497 	asprintf | basename | bcmp | bcopy | bzero | clock | ffs | getpagesize | index | insque | mempcpy | mkstemps | random | rindex | sigsetmask | stpcpy | stpncpy | strdup | strndup | strnlen | strverscmp | vasprintf | waitpid)
    498 	  ;;
    499 	*)
    500 	  n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    501 	  AC_DEFINE_UNQUOTED($n)
    502 	  ;;
    503       esac
    504     done
    505 
    506     # Mingw doesnt provide any of the variables in $vars, so we
    507     # dont have to check them here.
    508 
    509     # Of the functions in $checkfuncs, Mingw only has strerror.
    510     AC_DEFINE(HAVE_STRERROR)
    511 
    512     setobjs=yes
    513     ;;
    514 
    515   *-*-msdosdjgpp)
    516     AC_LIBOBJ([vasprintf])
    517     AC_LIBOBJ([vsnprintf])
    518     AC_LIBOBJ([snprintf])
    519     AC_LIBOBJ([asprintf])
    520 
    521     for f in atexit basename bcmp bcopy bsearch bzero calloc clock ffs \
    522              getcwd getpagesize getrusage gettimeofday \
    523              index insque memchr memcmp memcpy memmove memset psignal \
    524              putenv random rename rindex sbrk setenv stpcpy strcasecmp \
    525              strchr strdup strerror strncasecmp strrchr strstr strtod \
    526              strtol strtoul sysconf times tmpnam vfprintf vprintf \
    527              vsprintf waitpid
    528     do
    529       n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    530       AC_DEFINE_UNQUOTED($n)
    531     done
    532 
    533 
    534     setobjs=yes
    535     ;;
    536 
    537   esac
    538 
    539 else
    540 
    541    # Not a target library, so we set things up to run the test suite.
    542    CHECK=really-check
    543 
    544 fi
    545 
    546 AC_SUBST(CHECK)
    547 AC_SUBST(target_header_dir)
    548 
    549 case "${host}" in
    550   *-*-cygwin* | *-*-mingw*)
    551     AC_DEFINE(HAVE_SYS_ERRLIST)
    552     AC_DEFINE(HAVE_SYS_NERR)
    553     ;;
    554 esac
    555 
    556 if test -z "${setobjs}"; then
    557   case "${host}" in
    558 
    559   *-*-vxworks*)
    560     # Handle VxWorks configuration specially, since on VxWorks the
    561     # libraries are actually on the target board, not in the file
    562     # system.
    563     AC_LIBOBJ([basename])
    564     AC_LIBOBJ([getpagesize])
    565     AC_LIBOBJ([insque])
    566     AC_LIBOBJ([random])
    567     AC_LIBOBJ([strcasecmp])
    568     AC_LIBOBJ([strncasecmp])
    569     AC_LIBOBJ([strdup])
    570     AC_LIBOBJ([vfork])
    571     AC_LIBOBJ([waitpid])
    572     AC_LIBOBJ([vasprintf])
    573     for f in $funcs; do
    574       case "$f" in
    575 	basename | getpagesize | insque | random | strcasecmp)
    576 	  ;;
    577 	strncasecmp | strdup | vfork | waitpid | vasprintf)
    578 	  ;;
    579 	*)
    580 	  n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    581 	  AC_DEFINE_UNQUOTED($n)
    582 	  ;;
    583       esac
    584     done
    585 
    586     # VxWorks doesn't provide any of the variables in $vars, so we
    587     # don't have to check them here.
    588 
    589     # Of the functions in $checkfuncs, VxWorks only has strerror.
    590     AC_DEFINE(HAVE_STRERROR)
    591 
    592     setobjs=yes
    593     ;;
    594 
    595   esac
    596 fi
    597 
    598 if test -z "${setobjs}"; then
    599 
    600   case "${host}" in
    601 
    602   *-*-mingw32*)
    603     # Under mingw32, sys_nerr and sys_errlist exist, but they are
    604     # macros, so the test below won't find them.
    605     libiberty_cv_var_sys_nerr=yes
    606     libiberty_cv_var_sys_errlist=yes
    607     ;;
    608 
    609   *-*-msdosdjgpp*)
    610     # vfork and fork are stubs.
    611     ac_cv_func_vfork_works=no
    612     ;;
    613 
    614   *-*-uwin*)
    615     # Under some versions of uwin, vfork is notoriously buggy and the test 
    616     # can hang configure; on other versions, vfork exists just as a stub.
    617     # FIXME: This should be removed once vfork in uwin's runtime is fixed.
    618     ac_cv_func_vfork_works=no
    619     # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
    620     # macros (actually, these are imported from a DLL, but the end effect 
    621     # is the same), so the test below won't find them.
    622     libiberty_cv_var_sys_nerr=yes
    623     libiberty_cv_var_sys_errlist=yes
    624     ;;
    625 
    626   *-*-*vms*)
    627     # Under VMS, vfork works very different than on Unix. The standard test 
    628     # won't work, and it isn't easily adaptable. It makes more sense to
    629     # just force it.
    630     ac_cv_func_vfork_works=yes
    631     ;;
    632 
    633   esac
    634 
    635   # We haven't set the list of objects yet.  Use the standard autoconf
    636   # tests.  This will only work if the compiler works.
    637   AC_ISC_POSIX
    638   AC_REPLACE_FUNCS($funcs)
    639   libiberty_AC_FUNC_C_ALLOCA
    640   AC_FUNC_FORK
    641   if test $ac_cv_func_vfork_works = no; then
    642     AC_LIBOBJ([vfork])
    643   fi
    644   # We only need _doprnt if we might use it to implement v*printf.
    645   if test $ac_cv_func_vprintf != yes \
    646      || test $ac_cv_func_vfprintf != yes \
    647      || test $ac_cv_func_vsprintf != yes; then
    648     AC_REPLACE_FUNCS(_doprnt)
    649   else
    650     AC_CHECK_FUNCS(_doprnt)
    651   fi
    652 
    653   for v in $vars; do
    654     AC_MSG_CHECKING([for $v])
    655     AC_CACHE_VAL(libiberty_cv_var_$v,
    656       [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])],
    657 		      [eval "libiberty_cv_var_$v=yes"],
    658 		      [eval "libiberty_cv_var_$v=no"])])
    659     if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
    660       AC_MSG_RESULT(yes)
    661       n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
    662       AC_DEFINE_UNQUOTED($n)
    663     else
    664       AC_MSG_RESULT(no)
    665     fi
    666   done
    667 
    668   # special check for _system_configuration because AIX <4.3.2 do not
    669   # contain the `physmem' member.
    670   AC_MSG_CHECKING([for external symbol _system_configuration])
    671   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/systemcfg.h>]],
    672 			[[double x = _system_configuration.physmem;]])],
    673     [AC_MSG_RESULT([yes])
    674     AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
    675 	      [Define if you have the _system_configuration variable.])],
    676     [AC_MSG_RESULT([no])])
    677 
    678   AC_CHECK_FUNCS($checkfuncs)
    679   AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf])
    680   AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc, sbrk])
    681   AC_CHECK_DECLS([strverscmp])
    682   libiberty_NEED_DECLARATION(canonicalize_file_name)
    683 fi
    684 
    685 # Figure out which version of pexecute to use.
    686 case "${host}" in
    687      *-*-mingw* | *-*-winnt*)	pexecute=pex-win32  ;;
    688      *-*-msdosdjgpp*)		pexecute=pex-djgpp  ;;
    689      *-*-msdos*)		pexecute=pex-msdos  ;;
    690      *)				pexecute=pex-unix   ;;
    691 esac
    692 AC_SUBST(pexecute)
    693 
    694 libiberty_AC_FUNC_STRNCMP
    695 
    696 # Install a library built with a cross compiler in $(tooldir) rather
    697 # than $(libdir).
    698 if test -z "${with_cross_host}"; then
    699   INSTALL_DEST=libdir
    700 else
    701   INSTALL_DEST=tooldir
    702 fi
    703 AC_SUBST(INSTALL_DEST)
    704 
    705 m4_pattern_allow(LIBOBJS)
    706 L=""
    707 for l in x $LIBOBJS; do
    708   case $l in
    709     x) ;;
    710     *) L="$L ./$l" ;;
    711   esac
    712 done
    713 LIBOBJS="$L"
    714 
    715 dnl Required by html and install-html
    716 AC_SUBST(datarootdir)
    717 AC_SUBST(docdir)
    718 AC_SUBST(htmldir)
    719 
    720 # We need multilib support, but only if configuring for the target.
    721 AC_CONFIG_FILES([Makefile testsuite/Makefile])
    722 AC_CONFIG_COMMANDS([default],
    723   [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
    724 if test -n "$CONFIG_FILES"; then
    725   if test -n "${with_target_subdir}"; then
    726     # FIXME: We shouldn't need to set ac_file
    727     ac_file=Makefile
    728     LD="${ORIGINAL_LD_FOR_MULTILIBS}"
    729     . ${libiberty_topdir}/config-ml.in
    730   fi
    731 fi]],
    732 [[srcdir=${srcdir}
    733 host=${host}
    734 target=${target}
    735 with_target_subdir=${with_target_subdir}
    736 with_multisubdir=${with_multisubdir}
    737 ac_configure_args="--enable-multilib ${ac_configure_args}"
    738 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
    739 ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
    740 libiberty_topdir=${libiberty_topdir}
    741 ]])
    742 AC_OUTPUT
    743