configure.ac revision 1.1.1.2.8.1
1dnl Process this file with autoconf to produce a configure script. 2 3AC_PREREQ(2.59) 4 5AC_INIT(gold, 0.1) 6AC_CONFIG_SRCDIR(gold.cc) 7 8AC_CANONICAL_TARGET 9 10AM_INIT_AUTOMAKE([no-dist parallel-tests]) 11 12AM_CONFIG_HEADER(config.h:config.in) 13 14# PR 14072 15AH_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 23AC_ARG_WITH(sysroot, 24[ --with-sysroot[=DIR] search for usr/lib et al within DIR], 25[sysroot=$withval], [sysroot=no]) 26 27if test "$sysroot" = "yes"; then 28 sysroot='${exec_prefix}/${target_alias}/sys-root' 29elif test "$sysroot" = "no"; then 30 sysroot= 31fi 32 33sysroot_relocatable=0 34if 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 43fi 44 45AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT, "$sysroot", 46 [System root for target files]) 47AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT_RELOCATABLE, $sysroot_relocatable, 48 [Whether the system root can be relocated]) 49 50dnl "install_as_default" is true if the linker to be installed as the 51dnl default linker, ld. 52dnl "installed_linker" is the installed gold linker name. 53 54default_ld= 55AC_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 ;; 61esac]) 62 63AC_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]) 80AC_SUBST(install_as_default) 81AC_SUBST(installed_linker) 82 83dnl For now threads are a configure time option. 84AC_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]) 92if test "$threads" = "yes"; then 93 AC_DEFINE(ENABLE_THREADS, 1, 94 [Define to do multi-threaded linking]) 95fi 96AM_CONDITIONAL(THREADS, test "$threads" = "yes") 97 98AC_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]) 106if test "$plugins" = "yes"; then 107 AC_DEFINE(ENABLE_PLUGINS, 1, 108 [Define to enable linker plugins]) 109fi 110AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes") 111 112AC_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 ;; 124esac], 125[# For now, enable all targets by default 126 enable_targets=all 127]) 128 129# Canonicalize the enabled targets. 130if 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 140fi 141 142# See which specific instantiations we need. 143targetobjs= 144all_targets= 145default_machine= 146default_size= 147default_big_endian= 148default_osabi=ELFOSABI_NONE 149targ_32_little= 150targ_32_big= 151targ_64_little= 152targ_64_big= 153for 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 205done 206 207# Remove any duplicates. 208to="" 209for t in $targetobjs; do 210 case " $to " in 211 *" $t "*) ;; 212 *) to="$to $t" ;; 213 esac 214done 215targetobjs=$to 216 217if test -n "$targ_32_little"; then 218 AC_DEFINE(HAVE_TARGET_32_LITTLE, 1, 219 [Define to support 32-bit little-endian targets]) 220fi 221if test -n "$targ_32_big"; then 222 AC_DEFINE(HAVE_TARGET_32_BIG, 1, 223 [Define to support 32-bit big-endian targets]) 224fi 225if test -n "$targ_64_little"; then 226 AC_DEFINE(HAVE_TARGET_64_LITTLE, 1, 227 [Define to support 64-bit little-endian targets]) 228fi 229if test -n "$targ_64_big"; then 230 AC_DEFINE(HAVE_TARGET_64_BIG, 1, 231 [Define to support 64-bit big-endian targets]) 232fi 233 234if test -n "$all_targets"; then 235 TARGETOBJS='$(ALL_TARGETOBJS)' 236else 237 TARGETOBJS="$targetobjs" 238fi 239AC_SUBST(TARGETOBJS) 240 241AC_DEFINE_UNQUOTED(GOLD_DEFAULT_MACHINE, $default_machine, 242 [Default machine code]) 243AC_DEFINE_UNQUOTED(GOLD_DEFAULT_SIZE, $default_size, 244 [Default size (32 or 64)]) 245AC_DEFINE_UNQUOTED(GOLD_DEFAULT_BIG_ENDIAN, $default_big_endian, 246 [Default big endian (true or false)]) 247AC_DEFINE_UNQUOTED(GOLD_DEFAULT_OSABI, $default_osabi, 248 [Default OSABI code]) 249 250AC_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::"']) 258AC_DEFINE_UNQUOTED(LIB_PATH, $LIB_PATH, 259 [Default library search path]) 260if 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]) 262fi 263 264AC_CHECK_TOOL(NM, nm) 265 266AC_PROG_CC 267AC_PROG_CXX 268AC_PROG_YACC 269AC_PROG_RANLIB 270AC_PROG_INSTALL 271AC_PROG_LN_S 272 273AC_GNU_SOURCE 274 275ZW_GNU_GETTEXT_SISTER_DIR 276AM_PO_SUBDIRS 277 278AC_C_BIGENDIAN 279 280AC_EXEEXT 281 282AM_CONDITIONAL(NATIVE_LINKER, 283 test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias") 284AM_CONDITIONAL(GCC, test "$GCC" = yes) 285 286AM_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 289dnl Test for whether static linking is supported. Some systems do not 290dnl install static libraries. This only affects the set of tests that 291dnl we run. 292AC_CACHE_CHECK([whether static linking works], [gold_cv_lib_static], 293[LDFLAGS_hold=$LDFLAGS 294LDFLAGS="$LDFLAGS -static" 295AC_LINK_IFELSE([ 296AC_LANG_PROGRAM([[void f() { }]])], 297[gold_cv_lib_static=yes], [gold_cv_lib_static=no]) 298LDFLAGS=$LDFLAGS_hold]) 299AM_CONDITIONAL(HAVE_STATIC, test "$gold_cv_lib_static" = "yes") 300 301dnl Some architectures do not support taking pointers of functions 302dnl defined in shared libraries except in -fPIC mode. We need to 303dnl tell the unittest framework if we're compiling for one of those 304dnl targets, so it doesn't try to run the tests that do that. 305AM_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 313dnl Test for gcc 4.1 or later. Full support for -mcmodel=medium is 314dnl only available in gcc 4.1. 315AC_CACHE_CHECK([for gcc >= 4.1], [gold_cv_prog_gcc41], 316[AC_COMPILE_IFELSE([ 317#if !defined __GNUC__ 318error 319#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) 320error 321#endif 322], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])]) 323 324save_CFLAGS="$CFLAGS" 325CFLAGS="$CFLAGS -mcmodel=medium" 326AC_COMPILE_IFELSE([int i;], [have_mcmodel_medium=yes], [have_mcmodel_medium=no]) 327CFLAGS="$save_CFLAGS" 328dnl Whether we can test -mcmodel=medium. 329AM_CONDITIONAL(MCMODEL_MEDIUM, 330[test "$target_cpu" = "x86_64" -a "$have_mcmodel_medium" = "yes" -a "$gold_cv_prog_gcc41" = "yes"]) 331 332dnl Test for __thread support. 333AC_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 337AM_CONDITIONAL(TLS, test "$gold_cv_c_thread" = "yes") 338 339dnl On GNU/Linux TLS in static programs only works when using glibc 340dnl 2.4 or later. 341AC_CACHE_CHECK([for glibc >= 2.4], [gold_cv_lib_glibc24], 342[AC_COMPILE_IFELSE([ 343#include <features.h> 344#if !defined __GLIBC__ 345error 346#elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4) 347error 348#endif 349], [gold_cv_lib_glibc24=yes], [gold_cv_lib_glibc24=no])]) 350 351AM_CONDITIONAL(STATIC_TLS, test "$gold_cv_lib_glibc24" = "yes") 352 353dnl Test for #pragma omp threadprivate 354AC_CACHE_CHECK([for omp support], [gold_cv_c_threadprivate], 355[save_CFLAGS="$CFLAGS" 356CFLAGS="$CFLAGS -fopenmp" 357AC_COMPILE_IFELSE([ 358#include <omp.h> 359int i; 360#pragma omp threadprivate (i) 361], [gold_cv_c_threadprivate=yes], [gold_cv_c_threadprivate=no]) 362CFLAGS="$save_CFLAGS"]) 363if test "$gold_cv_c_threadprivate" = "yes"; then 364 AC_DEFINE(HAVE_OMP_SUPPORT, 1, 365 [Define if compiler supports #pragma omp threadprivate]) 366fi 367AM_CONDITIONAL(OMP_SUPPORT, test "$gold_cv_c_threadprivate" = "yes") 368 369dnl Test for the -ftls-dialect=gnu2 option. 370save_CFLAGS="$CFLAGS" 371CFLAGS="$CFLAGS -fpic -mtls-dialect=gnu2" 372AC_COMPILE_IFELSE([ 373__thread int i; 374void foo (void) 375{ 376 i = 10; 377} 378], [have_tls_gnu2=yes], [have_tls_gnu2=no]) 379CFLAGS="$save_CFLAGS" 380AM_CONDITIONAL(TLS_GNU2_DIALECT, test "$have_tls_gnu2" = "yes") 381 382dnl On GNU/Linux TLS descriptors are supported by the dynamic loader 383dnl only with glibc 2.9 or later. 384AC_CACHE_CHECK([for glibc >= 2.9], [gold_cv_lib_glibc29], 385[AC_COMPILE_IFELSE([ 386#include <features.h> 387#if !defined __GLIBC__ 388error 389#elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 9) 390error 391#endif 392], [gold_cv_lib_glibc29=yes], [gold_cv_lib_glibc29=no])]) 393 394AM_CONDITIONAL(TLS_DESCRIPTORS, test "$gold_cv_lib_glibc29" = "yes") 395 396dnl Test for the -frandom-seed option. 397AC_CACHE_CHECK([for -frandom-seed support], [gold_cv_c_random_seed], 398[save_CFLAGS="$CFLAGS" 399CFLAGS="$CFLAGS -frandom-seed=foo" 400AC_COMPILE_IFELSE([int i;], [gold_cv_c_random_seed=yes], 401[gold_cv_c_random_seed=no]) 402CFLAGS="$save_CFLAGS"]) 403if 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=\$@ 407fi 408AC_SUBST(RANDOM_SEED_CFLAGS) 409 410dnl On GNU/Linux ifunc is supported by the dynamic linker in glibc 411dnl 2.11 or later, and by binutils 2.20.1 or later. 412AC_CACHE_CHECK([for glibc ifunc support], [gold_cv_lib_glibc_ifunc], 413[save_LDFLAGS="$LDFLAGS" 414LDFLAGS="$LDFLAGS -static" 415AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 416#include <features.h> 417#if !defined __GLIBC__ 418error 419#elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 11) 420error 421#endif 422void func (void) { } 423void invoke (void); 424__asm__(".type invoke, %gnu_indirect_function"); 425typedef void (*funcptr) (void); 426funcptr dispatch (void) __asm__ ("invoke"); 427funcptr dispatch (void) { return &func; }]], 428[[invoke();]]) 429], [ 430if ${NM} conftest$EXEEXT | grep "__rela\?_iplt_start" >/dev/null 2>&1; then 431 gold_cv_lib_glibc_ifunc=both 432else 433 gold_cv_lib_glibc_ifunc=dyn 434fi], [gold_cv_lib_glibc_ifunc=no]) 435LDFLAGS="$save_LDFLAGS"]) 436 437AM_CONDITIONAL(IFUNC, test "$gold_cv_lib_glibc_ifunc" != "no") 438AM_CONDITIONAL(IFUNC_STATIC, test "$gold_cv_lib_glibc_ifunc" = "both") 439 440AM_BINUTILS_WARNINGS 441 442WARN_CXXFLAGS=`echo ${WARN_CFLAGS} | sed -e 's/-Wstrict-prototypes//' -e 's/-Wmissing-prototypes//' -e 's/-Wshadow//'` 443AC_SUBST(WARN_CXXFLAGS) 444 445AC_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=]) 453AC_SUBST(GOLD_LDFLAGS) 454 455AC_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=]) 463AC_SUBST(GOLD_LDADD) 464 465dnl Force support for large files by default. This may need to be 466dnl host dependent. If build == host, we can check getconf LFS_CFLAGS. 467LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" 468AC_SUBST(LFS_CFLAGS) 469 470AC_CHECK_HEADERS(sys/mman.h) 471AC_CHECK_FUNCS(chsize mmap) 472AC_REPLACE_FUNCS(pread ftruncate ffsll) 473 474AC_CACHE_CHECK([mremap with MREMAP_MAYMOVE], [gold_cv_lib_mremap_maymove], 475[AC_LINK_IFELSE([ 476AC_LANG_PROGRAM([[ 477#include <sys/mman.h> 478void f() { mremap (0, 0, 0, MREMAP_MAYMOVE); } 479]])], [gold_cv_lib_mremap_maymove=yes], [gold_cv_lib_mremap_maymove=no])]) 480if 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]) 483else 484 AC_LIBOBJ(mremap) 485fi 486 487# Link in zlib if we can. This allows us to write compressed sections. 488AM_ZLIB 489AM_CONDITIONAL(HAVE_ZLIB, test "$ac_cv_header_zlib_h" = "yes") 490 491dnl We have to check these in C, not C++, because autoconf generates 492dnl tests which have no type information, and current glibc provides 493dnl multiple declarations of functions like basename when compiling 494dnl with C++. 495AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp]) 496 497AC_LANG_PUSH(C++) 498 499AC_CHECK_HEADERS(tr1/unordered_set tr1/unordered_map) 500AC_CHECK_HEADERS(ext/hash_map ext/hash_set) 501AC_CHECK_HEADERS(byteswap.h) 502AC_CHECK_FUNCS(mallinfo posix_fallocate fallocate readv sysconf times) 503AC_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. 507AC_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> 511void bar() { ::std::tr1::unordered_map<int, int> x; x.rehash(10); } 512]])], [gold_cv_unordered_map_rehash=yes], [gold_cv_unordered_map_rehash=no])]) 513if 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]) 516fi 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. 520AC_CACHE_CHECK([whether std::tr1::hash<off_t> is defined], 521[gold_cv_hash_off_t], 522[CXXFLAGS_hold=$CXXFLAGS 523CXXFLAGS="$CXXFLAGS $LFS_CFLAGS" 524AC_COMPILE_IFELSE([ 525#include <sys/types.h> 526#include <tr1/unordered_map> 527std::tr1::hash<off_t> h; 528], 529[gold_cv_hash_off_t=yes], 530[gold_cv_hash_off_t=no]) 531CXXFLAGS=$CFLAGS_hold]) 532if 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]) 535fi 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. 540AC_CACHE_CHECK([whether we can use attributes with template functions], 541[gold_cv_template_attribute], 542[AC_COMPILE_IFELSE([ 543template<typename T> extern void foo(const char*, ...) 544 __attribute__ ((__format__ (__printf__, 1, 2))); 545template<typename T> void foo(const char* format, ...) {} 546void bar() { foo<int>("%s\n", "foo"); } 547], [gold_cv_template_attribute=yes], [gold_cv_template_attribute=no])]) 548if test "$gold_cv_template_attribute" = "yes"; then 549 AC_DEFINE(HAVE_TEMPLATE_ATTRIBUTES, 1, 550 [Define if attributes work on C++ templates]) 551fi 552 553dnl Check if the system has struct stat::st_mtim. 554AC_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> 558long 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])]) 560if 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]) 563fi 564 565dnl Check if gcc supports the -gpubnames option. 566save_CXXFLAGS="$CXXFLAGS" 567CXXFLAGS="$CXXFLAGS -gpubnames" 568AC_COMPILE_IFELSE([int i;], [have_pubnames=yes], [have_pubnames=no]) 569CXXFLAGS="$save_CXXFLAGS" 570AM_CONDITIONAL(HAVE_PUBNAMES, test "$have_pubnames" = "yes") 571 572AC_LANG_POP(C++) 573 574AC_CHECK_HEADERS(locale.h) 575AC_CHECK_FUNCS(setlocale) 576AM_LC_MESSAGES 577 578AM_MAINTAINER_MODE 579 580AC_OUTPUT(Makefile testsuite/Makefile po/Makefile.in:po/Make-in) 581