[BACK]Return to configure.ac CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils.old / dist / gold

Annotation of src/external/gpl3/binutils.old/dist/gold/configure.ac, Revision 1.1

1.1     ! christos    1: dnl Process this file with autoconf to produce a configure script.
        !             2:
        !             3: AC_PREREQ(2.59)
        !             4:
        !             5: AC_INIT(gold, 0.1)
        !             6: AC_CONFIG_SRCDIR(gold.cc)
        !             7:
        !             8: AC_CANONICAL_TARGET
        !             9:
        !            10: AM_INIT_AUTOMAKE([no-dist parallel-tests])
        !            11:
        !            12: AM_CONFIG_HEADER(config.h:config.in)
        !            13:
        !            14: # PR 14072
        !            15: AH_VERBATIM([00_CONFIG_H_CHECK],
        !            16: [/* Check that config.h is #included before system headers
        !            17:    (this works only for glibc, but that should be enough).  */
        !            18: #if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
        !            19: #  error config.h must be #included before system headers
        !            20: #endif
        !            21: #define __CONFIG_H__ 1])
        !            22:
        !            23: AC_ARG_WITH(sysroot,
        !            24: [  --with-sysroot[=DIR]    search for usr/lib et al within DIR],
        !            25: [sysroot=$withval], [sysroot=no])
        !            26:
        !            27: if test "$sysroot" = "yes"; then
        !            28:   sysroot='${exec_prefix}/${target_alias}/sys-root'
        !            29: elif test "$sysroot" = "no"; then
        !            30:   sysroot=
        !            31: fi
        !            32:
        !            33: sysroot_relocatable=0
        !            34: if test -n "$sysroot"; then
        !            35:   case "sysroot" in
        !            36:     "${prefix}" | "${prefix}/"* | \
        !            37:     "${exec_prefix}" | "${exec_prefix}/"* | \
        !            38:     '${prefix}' | '${prefix}/'*| \
        !            39:     '${exec_prefix}' | '${exec_prefix}/'*)
        !            40:       sysroot_relocatable=1
        !            41:       ;;
        !            42:   esac
        !            43: fi
        !            44:
        !            45: AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT, "$sysroot",
        !            46:   [System root for target files])
        !            47: AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT_RELOCATABLE, $sysroot_relocatable,
        !            48:   [Whether the system root can be relocated])
        !            49:
        !            50: dnl "install_as_default" is true if the linker to be installed as the
        !            51: dnl default linker, ld.
        !            52: dnl "installed_linker" is the installed gold linker name.
        !            53:
        !            54: default_ld=
        !            55: AC_ARG_ENABLE(ld,
        !            56: [[  --enable-ld[=ARG]     build ld [ARG={default,yes,no}]]],
        !            57: [case "${enableval}" in
        !            58:   default)
        !            59:     default_ld=ld.bfd
        !            60:     ;;
        !            61: esac])
        !            62:
        !            63: AC_ARG_ENABLE(gold,
        !            64: [[  --enable-gold[=ARG]     build gold [ARG={default,yes,no}]]],
        !            65: [case "${enableval}" in
        !            66:  yes|default)
        !            67:    if test x${default_ld} = x; then
        !            68:      install_as_default=yes
        !            69:    fi
        !            70:    installed_linker=ld.gold
        !            71:    ;;
        !            72:  no)
        !            73:    ;;
        !            74:  *)
        !            75:    AC_MSG_ERROR([invalid --enable-gold argument])
        !            76:    ;;
        !            77:  esac],
        !            78: [install_as_default=no
        !            79:  installed_linker=ld.gold])
        !            80: AC_SUBST(install_as_default)
        !            81: AC_SUBST(installed_linker)
        !            82:
        !            83: dnl For now threads are a configure time option.
        !            84: AC_ARG_ENABLE([threads],
        !            85: [  --enable-threads        multi-threaded linking],
        !            86: [case "${enableval}" in
        !            87:   yes | "") threads=yes ;;
        !            88:   no) threads=no ;;
        !            89:   *) threads=yes ;;
        !            90:  esac],
        !            91: [threads=no])
        !            92: if test "$threads" = "yes"; then
        !            93:   AC_DEFINE(ENABLE_THREADS, 1,
        !            94:            [Define to do multi-threaded linking])
        !            95: fi
        !            96: AM_CONDITIONAL(THREADS, test "$threads" = "yes")
        !            97:
        !            98: AC_ARG_ENABLE([plugins],
        !            99: [  --enable-plugins        linker plugins],
        !           100: [case "${enableval}" in
        !           101:   yes | "") plugins=yes ;;
        !           102:   no) plugins=no ;;
        !           103:   *) plugins=yes ;;
        !           104:  esac],
        !           105: [plugins=no])
        !           106: if test "$plugins" = "yes"; then
        !           107:   AC_DEFINE(ENABLE_PLUGINS, 1,
        !           108:            [Define to enable linker plugins])
        !           109: fi
        !           110: AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
        !           111:
        !           112: AC_ARG_ENABLE([targets],
        !           113: [  --enable-targets        alternative target configurations],
        !           114: [case "${enableval}" in
        !           115:   yes | "")
        !           116:     AC_MSG_ERROR([--enable-targets option must specify target names or 'all'])
        !           117:     ;;
        !           118:   no)
        !           119:     enable_targets=
        !           120:     ;;
        !           121:   *)
        !           122:     enable_targets=$enableval
        !           123:     ;;
        !           124: esac],
        !           125: [# For now, enable all targets by default
        !           126:  enable_targets=all
        !           127: ])
        !           128:
        !           129: # Canonicalize the enabled targets.
        !           130: if test -n "$enable_targets"; then
        !           131:   for targ in `echo $enable_targets | sed -e 's/,/ /g'`; do
        !           132:     result=`$ac_config_sub $targ 2>/dev/null`
        !           133:     if test -n "$result"; then
        !           134:       canon_targets="$canon_targets $result"
        !           135:     else
        !           136:       # Permit unrecognized target names, like "all".
        !           137:       canon_targets="$canon_targets $targ"
        !           138:     fi
        !           139:   done
        !           140: fi
        !           141:
        !           142: # See which specific instantiations we need.
        !           143: targetobjs=
        !           144: all_targets=
        !           145: default_machine=
        !           146: default_size=
        !           147: default_big_endian=
        !           148: default_osabi=ELFOSABI_NONE
        !           149: targ_32_little=
        !           150: targ_32_big=
        !           151: targ_64_little=
        !           152: targ_64_big=
        !           153: for targ in $target $canon_targets; do
        !           154:   if test "$targ" = "all"; then
        !           155:     targ_32_little=yes
        !           156:     targ_32_big=yes
        !           157:     targ_64_little=yes
        !           158:     targ_64_big=yes
        !           159:     all_targets=yes
        !           160:   else
        !           161:     . ${srcdir}/configure.tgt
        !           162:
        !           163:     if test "$targ_obj" = "UNKNOWN"; then
        !           164:       AC_MSG_ERROR("unsupported target $targ")
        !           165:     else
        !           166:       targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
        !           167:       if test "$targ_extra_obj" != ""; then
        !           168:         targetobjs="$targetobjs ${targ_extra_obj}.\$(OBJEXT)"
        !           169:       fi
        !           170:       if test "$targ_size" = "32" -o "$targ_extra_size" = "32"; then
        !           171:          if test "$targ_big_endian" = "true" \
        !           172:              -o "$targ_extra_big_endian" = "true"; then
        !           173:              targ_32_big=yes
        !           174:          fi
        !           175:          if test "$targ_big_endian" = "false" \
        !           176:              -o "$targ_extra_big_endian" = "false"; then
        !           177:              targ_32_little=yes
        !           178:          fi
        !           179:       fi
        !           180:       if test "$targ_size" = "64" -o "$targ_extra_size" = "64"; then
        !           181:          if test "$targ_big_endian" = "true" \
        !           182:              -o "$targ_extra_big_endian" = "true"; then
        !           183:              targ_64_big=yes
        !           184:          fi
        !           185:          if test "$targ_big_endian" = "false" \
        !           186:              -o "$targ_extra_big_endian" = "false"; then
        !           187:              targ_64_little=yes
        !           188:          fi
        !           189:       fi
        !           190:
        !           191:       if test "$target" = "$targ"; then
        !           192:         default_machine=$targ_machine
        !           193:        default_size=$targ_size
        !           194:        default_big_endian=$targ_big_endian
        !           195:        default_osabi=$targ_osabi
        !           196:
        !           197:        AM_CONDITIONAL(DEFAULT_TARGET_ARM, test "$targ_obj" = "arm")
        !           198:        AM_CONDITIONAL(DEFAULT_TARGET_I386, test "$targ_obj" = "i386")
        !           199:        AM_CONDITIONAL(DEFAULT_TARGET_POWERPC, test "$targ_obj" = "powerpc")
        !           200:        AM_CONDITIONAL(DEFAULT_TARGET_SPARC, test "$targ_obj" = "sparc")
        !           201:        AM_CONDITIONAL(DEFAULT_TARGET_X86_64, test "$targ_obj" = "x86_64")
        !           202:       fi
        !           203:     fi
        !           204:   fi
        !           205: done
        !           206:
        !           207: # Remove any duplicates.
        !           208: to=""
        !           209: for t in $targetobjs; do
        !           210:   case " $to " in
        !           211:   *" $t "*) ;;
        !           212:   *) to="$to $t" ;;
        !           213:   esac
        !           214: done
        !           215: targetobjs=$to
        !           216:
        !           217: if test -n "$targ_32_little"; then
        !           218:   AC_DEFINE(HAVE_TARGET_32_LITTLE, 1,
        !           219:              [Define to support 32-bit little-endian targets])
        !           220: fi
        !           221: if test -n "$targ_32_big"; then
        !           222:   AC_DEFINE(HAVE_TARGET_32_BIG, 1,
        !           223:              [Define to support 32-bit big-endian targets])
        !           224: fi
        !           225: if test -n "$targ_64_little"; then
        !           226:   AC_DEFINE(HAVE_TARGET_64_LITTLE, 1,
        !           227:              [Define to support 64-bit little-endian targets])
        !           228: fi
        !           229: if test -n "$targ_64_big"; then
        !           230:   AC_DEFINE(HAVE_TARGET_64_BIG, 1,
        !           231:              [Define to support 64-bit big-endian targets])
        !           232: fi
        !           233:
        !           234: if test -n "$all_targets"; then
        !           235:   TARGETOBJS='$(ALL_TARGETOBJS)'
        !           236: else
        !           237:   TARGETOBJS="$targetobjs"
        !           238: fi
        !           239: AC_SUBST(TARGETOBJS)
        !           240:
        !           241: AC_DEFINE_UNQUOTED(GOLD_DEFAULT_MACHINE, $default_machine,
        !           242:                   [Default machine code])
        !           243: AC_DEFINE_UNQUOTED(GOLD_DEFAULT_SIZE, $default_size,
        !           244:                   [Default size (32 or 64)])
        !           245: AC_DEFINE_UNQUOTED(GOLD_DEFAULT_BIG_ENDIAN, $default_big_endian,
        !           246:                   [Default big endian (true or false)])
        !           247: AC_DEFINE_UNQUOTED(GOLD_DEFAULT_OSABI, $default_osabi,
        !           248:                   [Default OSABI code])
        !           249:
        !           250: AC_ARG_WITH(lib-path,
        !           251: [  --with-lib-path=dir1:dir2...  set default LIB_PATH],
        !           252: [case "$withval" in
        !           253:  yes) LIB_PATH='"/lib:/usr/lib"' ;;
        !           254:  no) LIB_PATH='""' ;;
        !           255:  *) LIB_PATH='"'"$withval"'"' ;;
        !           256:  esac],
        !           257: [LIB_PATH='"::DEFAULT::"'])
        !           258: AC_DEFINE_UNQUOTED(LIB_PATH, $LIB_PATH,
        !           259:                   [Default library search path])
        !           260: if test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias"; then
        !           261:   AC_DEFINE(NATIVE_LINKER, 1, [Whether configured as a native linker])
        !           262: fi
        !           263:
        !           264: AC_CHECK_TOOL(NM, nm)
        !           265:
        !           266: AC_PROG_CC
        !           267: AC_PROG_CXX
        !           268: AC_PROG_YACC
        !           269: AC_PROG_RANLIB
        !           270: AC_PROG_INSTALL
        !           271: AC_PROG_LN_S
        !           272:
        !           273: AC_GNU_SOURCE
        !           274:
        !           275: ZW_GNU_GETTEXT_SISTER_DIR
        !           276: AM_PO_SUBDIRS
        !           277:
        !           278: AC_C_BIGENDIAN
        !           279:
        !           280: AC_EXEEXT
        !           281:
        !           282: AM_CONDITIONAL(NATIVE_LINKER,
        !           283:   test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias")
        !           284: AM_CONDITIONAL(GCC, test "$GCC" = yes)
        !           285:
        !           286: AM_CONDITIONAL(NATIVE_OR_CROSS_LINKER,
        !           287:   test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias" -o "x$host_alias" = "x$build_alias")
        !           288:
        !           289: dnl Test for whether static linking is supported.  Some systems do not
        !           290: dnl install static libraries.  This only affects the set of tests that
        !           291: dnl we run.
        !           292: AC_CACHE_CHECK([whether static linking works], [gold_cv_lib_static],
        !           293: [LDFLAGS_hold=$LDFLAGS
        !           294: LDFLAGS="$LDFLAGS -static"
        !           295: AC_LINK_IFELSE([
        !           296: AC_LANG_PROGRAM([[void f() { }]])],
        !           297: [gold_cv_lib_static=yes], [gold_cv_lib_static=no])
        !           298: LDFLAGS=$LDFLAGS_hold])
        !           299: AM_CONDITIONAL(HAVE_STATIC, test "$gold_cv_lib_static" = "yes")
        !           300:
        !           301: dnl Some architectures do not support taking pointers of functions
        !           302: dnl defined in shared libraries except in -fPIC mode.  We need to
        !           303: dnl tell the unittest framework if we're compiling for one of those
        !           304: dnl targets, so it doesn't try to run the tests that do that.
        !           305: AM_CONDITIONAL(FN_PTRS_IN_SO_WITHOUT_PIC, [
        !           306:   case $target_cpu in
        !           307:     i?86) true;;
        !           308:     x86_64) false;;
        !           309:     sparc64) false;;
        !           310:     *) true;;
        !           311:   esac])
        !           312:
        !           313: dnl Test for gcc 4.1 or later.  Full support for -mcmodel=medium is
        !           314: dnl only available in gcc 4.1.
        !           315: AC_CACHE_CHECK([for gcc >= 4.1], [gold_cv_prog_gcc41],
        !           316: [AC_COMPILE_IFELSE([
        !           317: #if !defined __GNUC__
        !           318: error
        !           319: #elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)
        !           320: error
        !           321: #endif
        !           322: ], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])])
        !           323:
        !           324: save_CFLAGS="$CFLAGS"
        !           325: CFLAGS="$CFLAGS -mcmodel=medium"
        !           326: AC_COMPILE_IFELSE([int i;], [have_mcmodel_medium=yes], [have_mcmodel_medium=no])
        !           327: CFLAGS="$save_CFLAGS"
        !           328: dnl Whether we can test -mcmodel=medium.
        !           329: AM_CONDITIONAL(MCMODEL_MEDIUM,
        !           330: [test "$target_cpu" = "x86_64" -a "$have_mcmodel_medium" = "yes" -a "$gold_cv_prog_gcc41" = "yes"])
        !           331:
        !           332: dnl Test for __thread support.
        !           333: AC_CACHE_CHECK([for thread support], [gold_cv_c_thread],
        !           334: [AC_COMPILE_IFELSE([__thread int i = 1;],
        !           335: [gold_cv_c_thread=yes], [gold_cv_c_thread=no])])
        !           336:
        !           337: AM_CONDITIONAL(TLS, test "$gold_cv_c_thread" = "yes")
        !           338:
        !           339: dnl On GNU/Linux TLS in static programs only works when using glibc
        !           340: dnl 2.4 or later.
        !           341: AC_CACHE_CHECK([for glibc >= 2.4], [gold_cv_lib_glibc24],
        !           342: [AC_COMPILE_IFELSE([
        !           343: #include <features.h>
        !           344: #if !defined __GLIBC__
        !           345: error
        !           346: #elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4)
        !           347: error
        !           348: #endif
        !           349: ], [gold_cv_lib_glibc24=yes], [gold_cv_lib_glibc24=no])])
        !           350:
        !           351: AM_CONDITIONAL(STATIC_TLS, test "$gold_cv_lib_glibc24" = "yes")
        !           352:
        !           353: dnl Test for #pragma omp threadprivate
        !           354: AC_CACHE_CHECK([for omp support], [gold_cv_c_threadprivate],
        !           355: [save_CFLAGS="$CFLAGS"
        !           356: CFLAGS="$CFLAGS -fopenmp"
        !           357: AC_COMPILE_IFELSE([
        !           358: #include <omp.h>
        !           359: int i;
        !           360: #pragma omp threadprivate (i)
        !           361: ], [gold_cv_c_threadprivate=yes], [gold_cv_c_threadprivate=no])
        !           362: CFLAGS="$save_CFLAGS"])
        !           363: if test "$gold_cv_c_threadprivate" = "yes"; then
        !           364:   AC_DEFINE(HAVE_OMP_SUPPORT, 1,
        !           365:            [Define if compiler supports #pragma omp threadprivate])
        !           366: fi
        !           367: AM_CONDITIONAL(OMP_SUPPORT, test "$gold_cv_c_threadprivate" = "yes")
        !           368:
        !           369: dnl Test for the -ftls-dialect=gnu2 option.
        !           370: save_CFLAGS="$CFLAGS"
        !           371: CFLAGS="$CFLAGS -fpic -mtls-dialect=gnu2"
        !           372: AC_COMPILE_IFELSE([
        !           373: __thread int i;
        !           374: void foo (void)
        !           375: {
        !           376:   i = 10;
        !           377: }
        !           378: ], [have_tls_gnu2=yes], [have_tls_gnu2=no])
        !           379: CFLAGS="$save_CFLAGS"
        !           380: AM_CONDITIONAL(TLS_GNU2_DIALECT, test "$have_tls_gnu2" = "yes")
        !           381:
        !           382: dnl On GNU/Linux TLS descriptors are supported by the dynamic loader
        !           383: dnl only with glibc 2.9 or later.
        !           384: AC_CACHE_CHECK([for glibc >= 2.9], [gold_cv_lib_glibc29],
        !           385: [AC_COMPILE_IFELSE([
        !           386: #include <features.h>
        !           387: #if !defined __GLIBC__
        !           388: error
        !           389: #elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 9)
        !           390: error
        !           391: #endif
        !           392: ], [gold_cv_lib_glibc29=yes], [gold_cv_lib_glibc29=no])])
        !           393:
        !           394: AM_CONDITIONAL(TLS_DESCRIPTORS, test "$gold_cv_lib_glibc29" = "yes")
        !           395:
        !           396: dnl Test for the -frandom-seed option.
        !           397: AC_CACHE_CHECK([for -frandom-seed support], [gold_cv_c_random_seed],
        !           398: [save_CFLAGS="$CFLAGS"
        !           399: CFLAGS="$CFLAGS -frandom-seed=foo"
        !           400: AC_COMPILE_IFELSE([int i;], [gold_cv_c_random_seed=yes],
        !           401: [gold_cv_c_random_seed=no])
        !           402: CFLAGS="$save_CFLAGS"])
        !           403: if test "$gold_cv_c_random_seed" = "yes"; then
        !           404:   # In Makefile, '$@' will be expanded to be the name of the file
        !           405:   # being built, providing a unique seed for each file.
        !           406:   RANDOM_SEED_CFLAGS=-frandom-seed=\$@
        !           407: fi
        !           408: AC_SUBST(RANDOM_SEED_CFLAGS)
        !           409:
        !           410: dnl On GNU/Linux ifunc is supported by the dynamic linker in glibc
        !           411: dnl 2.11 or later, and by binutils 2.20.1 or later.
        !           412: AC_CACHE_CHECK([for glibc ifunc support], [gold_cv_lib_glibc_ifunc],
        !           413: [save_LDFLAGS="$LDFLAGS"
        !           414: LDFLAGS="$LDFLAGS -static"
        !           415: AC_LINK_IFELSE([AC_LANG_PROGRAM([[
        !           416: #include <features.h>
        !           417: #if !defined __GLIBC__
        !           418: error
        !           419: #elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 11)
        !           420: error
        !           421: #endif
        !           422: void func (void) { }
        !           423: void invoke (void);
        !           424: __asm__(".type invoke, %gnu_indirect_function");
        !           425: typedef void (*funcptr) (void);
        !           426: funcptr dispatch (void) __asm__ ("invoke");
        !           427: funcptr dispatch (void) { return &func; }]],
        !           428: [[invoke();]])
        !           429: ], [
        !           430: if ${NM} conftest$EXEEXT | grep "__rela\?_iplt_start" >/dev/null 2>&1; then
        !           431:   gold_cv_lib_glibc_ifunc=both
        !           432: else
        !           433:   gold_cv_lib_glibc_ifunc=dyn
        !           434: fi], [gold_cv_lib_glibc_ifunc=no])
        !           435: LDFLAGS="$save_LDFLAGS"])
        !           436:
        !           437: AM_CONDITIONAL(IFUNC, test "$gold_cv_lib_glibc_ifunc" != "no")
        !           438: AM_CONDITIONAL(IFUNC_STATIC, test "$gold_cv_lib_glibc_ifunc" = "both")
        !           439:
        !           440: AM_BINUTILS_WARNINGS
        !           441:
        !           442: WARN_CXXFLAGS=`echo ${WARN_CFLAGS} | sed -e 's/-Wstrict-prototypes//' -e 's/-Wmissing-prototypes//' -e 's/-Wshadow//'`
        !           443: AC_SUBST(WARN_CXXFLAGS)
        !           444:
        !           445: AC_ARG_WITH(gold-ldflags,
        !           446: [  --with-gold-ldflags=FLAGS  additional link flags for gold],
        !           447: [if test "$withval" = "no" -o "$withval" = "yes"; then
        !           448:    GOLD_LDFLAGS=
        !           449:  else
        !           450:    GOLD_LDFLAGS=$withval
        !           451:  fi],
        !           452: [GOLD_LDFLAGS=])
        !           453: AC_SUBST(GOLD_LDFLAGS)
        !           454:
        !           455: AC_ARG_WITH(gold-ldadd,
        !           456: [  --with-gold-ldadd=LIBS     additional libraries for gold],
        !           457: [if test "$withval" = "no" -o "$withval" = "yes"; then
        !           458:    GOLD_LDADD=
        !           459:  else
        !           460:    GOLD_LDADD=$withval
        !           461:  fi],
        !           462: [GOLD_LDADD=])
        !           463: AC_SUBST(GOLD_LDADD)
        !           464:
        !           465: dnl Force support for large files by default.  This may need to be
        !           466: dnl host dependent.  If build == host, we can check getconf LFS_CFLAGS.
        !           467: LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
        !           468: AC_SUBST(LFS_CFLAGS)
        !           469:
        !           470: AC_CHECK_HEADERS(sys/mman.h)
        !           471: AC_CHECK_FUNCS(chsize mmap)
        !           472: AC_REPLACE_FUNCS(pread ftruncate ffsll)
        !           473:
        !           474: AC_CACHE_CHECK([mremap with MREMAP_MAYMOVE], [gold_cv_lib_mremap_maymove],
        !           475: [AC_LINK_IFELSE([
        !           476: AC_LANG_PROGRAM([[
        !           477: #include <sys/mman.h>
        !           478: void f() { mremap (0, 0, 0, MREMAP_MAYMOVE); }
        !           479: ]])], [gold_cv_lib_mremap_maymove=yes], [gold_cv_lib_mremap_maymove=no])])
        !           480: if test "$gold_cv_lib_mremap_maymove" = "yes"; then
        !           481:   AC_DEFINE(HAVE_MREMAP, 1,
        !           482:     [Define to 1 if you have the mremap function with MREMAP_MAYMOVE support])
        !           483: else
        !           484:   AC_LIBOBJ(mremap)
        !           485: fi
        !           486:
        !           487: # Link in zlib if we can.  This allows us to write compressed sections.
        !           488: AM_ZLIB
        !           489: AM_CONDITIONAL(HAVE_ZLIB, test "$ac_cv_header_zlib_h" = "yes")
        !           490:
        !           491: dnl We have to check these in C, not C++, because autoconf generates
        !           492: dnl tests which have no type information, and current glibc provides
        !           493: dnl multiple declarations of functions like basename when compiling
        !           494: dnl with C++.
        !           495: AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp])
        !           496:
        !           497: AC_LANG_PUSH(C++)
        !           498:
        !           499: AC_CHECK_HEADERS(tr1/unordered_set tr1/unordered_map)
        !           500: AC_CHECK_HEADERS(ext/hash_map ext/hash_set)
        !           501: AC_CHECK_HEADERS(byteswap.h)
        !           502: AC_CHECK_FUNCS(mallinfo posix_fallocate fallocate readv sysconf times)
        !           503: AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp, strndup, memmem])
        !           504:
        !           505: # Use of ::std::tr1::unordered_map::rehash causes undefined symbols
        !           506: # at link time with some versions of GCC.
        !           507: AC_CACHE_CHECK([whether ::std::tr1::unordered_map::rehash is usable.],
        !           508: [gold_cv_unordered_map_rehash],
        !           509: [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
        !           510: #include <tr1/unordered_map>
        !           511: void bar() { ::std::tr1::unordered_map<int, int> x; x.rehash(10); }
        !           512: ]])], [gold_cv_unordered_map_rehash=yes], [gold_cv_unordered_map_rehash=no])])
        !           513: if test "$gold_cv_unordered_map_rehash" = "yes"; then
        !           514:   AC_DEFINE(HAVE_TR1_UNORDERED_MAP_REHASH, 1,
        !           515:            [Define if ::std::tr1::unordered_map::rehash is usable])
        !           516: fi
        !           517:
        !           518: # Use of tr1/unordered_map with off_t as a key is not supported on GCC
        !           519: # 4.1.xx when compiling in 32-bit mode with a 64-bit off_t type.
        !           520: AC_CACHE_CHECK([whether std::tr1::hash<off_t> is defined],
        !           521: [gold_cv_hash_off_t],
        !           522: [CXXFLAGS_hold=$CXXFLAGS
        !           523: CXXFLAGS="$CXXFLAGS $LFS_CFLAGS"
        !           524: AC_COMPILE_IFELSE([
        !           525: #include <sys/types.h>
        !           526: #include <tr1/unordered_map>
        !           527: std::tr1::hash<off_t> h;
        !           528: ],
        !           529: [gold_cv_hash_off_t=yes],
        !           530: [gold_cv_hash_off_t=no])
        !           531: CXXFLAGS=$CFLAGS_hold])
        !           532: if test "$gold_cv_hash_off_t" = "yes"; then
        !           533:    AC_DEFINE(HAVE_TR1_HASH_OFF_T, 1,
        !           534:             [Define if std::tr1::hash<off_t> is usable])
        !           535: fi
        !           536:
        !           537: # gcc 4.3.0 doesn't recognize the printf attribute on a template
        !           538: # function.  Check for that.  This is gcc bug 35546.  This test can
        !           539: # probably be removed after the bug has been fixed for a while.
        !           540: AC_CACHE_CHECK([whether we can use attributes with template functions],
        !           541: [gold_cv_template_attribute],
        !           542: [AC_COMPILE_IFELSE([
        !           543: template<typename T> extern void foo(const char*, ...)
        !           544:   __attribute__ ((__format__ (__printf__, 1, 2)));
        !           545: template<typename T> void foo(const char* format, ...) {}
        !           546: void bar() { foo<int>("%s\n", "foo"); }
        !           547: ], [gold_cv_template_attribute=yes], [gold_cv_template_attribute=no])])
        !           548: if test "$gold_cv_template_attribute" = "yes"; then
        !           549:   AC_DEFINE(HAVE_TEMPLATE_ATTRIBUTES, 1,
        !           550:            [Define if attributes work on C++ templates])
        !           551: fi
        !           552:
        !           553: dnl Check if the system has struct stat::st_mtim.
        !           554: AC_CACHE_CHECK([for struct stat::st_mtim.],
        !           555: [gold_cv_stat_st_mtim],
        !           556: [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
        !           557: #include <sys/stat.h>
        !           558: long bar() { struct stat s; return (long)(s.st_mtim.tv_sec + s.st_mtim.tv_sec);}
        !           559: ]])], [gold_cv_stat_st_mtim=yes], [gold_cv_stat_st_mtim=no])])
        !           560: if test "$gold_cv_stat_st_mtim" = "yes"; then
        !           561:   AC_DEFINE(HAVE_STAT_ST_MTIM, 1,
        !           562:            [Define if struct stat has a field st_mtim with timespec for mtime])
        !           563: fi
        !           564:
        !           565: dnl Check if gcc supports the -gpubnames option.
        !           566: save_CXXFLAGS="$CXXFLAGS"
        !           567: CXXFLAGS="$CXXFLAGS -gpubnames"
        !           568: AC_COMPILE_IFELSE([int i;], [have_pubnames=yes], [have_pubnames=no])
        !           569: CXXFLAGS="$save_CXXFLAGS"
        !           570: AM_CONDITIONAL(HAVE_PUBNAMES, test "$have_pubnames" = "yes")
        !           571:
        !           572: AC_LANG_POP(C++)
        !           573:
        !           574: AC_CHECK_HEADERS(locale.h)
        !           575: AC_CHECK_FUNCS(setlocale)
        !           576: AM_LC_MESSAGES
        !           577:
        !           578: AM_MAINTAINER_MODE
        !           579:
        !           580: AC_OUTPUT(Makefile testsuite/Makefile po/Makefile.in:po/Make-in)

CVSweb <webmaster@jp.NetBSD.org>