
1: dnl Process this file with autoconf to produce a configure script. 2: dnl 3: AC_PREREQ(2.57) 4: AC_INIT(ar.c) 5: 6: AC_CANONICAL_SYSTEM 7: AC_ISC_POSIX 8: 9: changequote(,)dnl 10: BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` 11: changequote([,])dnl 12: AM_INIT_AUTOMAKE(binutils, ${BFD_VERSION}) 13: 14: AC_PROG_CC 15: AC_GNU_SOURCE 16: AC_PROG_LIBTOOL 17: 18: AC_ARG_ENABLE(targets, 19: [ --enable-targets alternative target configurations], 20: [case "${enableval}" in 21: yes | "") AC_ERROR(enable-targets option must specify target names or 'all') 22: ;; 23: no) enable_targets= ;; 24: *) enable_targets=$enableval ;; 25: esac])dnl 26: AC_ARG_ENABLE(commonbfdlib, 27: [ --enable-commonbfdlib build shared BFD/opcodes/libiberty library], 28: [case "${enableval}" in 29: yes) commonbfdlib=true ;; 30: no) commonbfdlib=false ;; 31: *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;; 32: esac])dnl 33: 34: AM_BINUTILS_WARNINGS 35: 36: AM_CONFIG_HEADER(config.h:config.in) 37: 38: if test -z "$target" ; then 39: AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 40: fi 41: if test -z "$host" ; then 42: AC_MSG_ERROR(Unrecognized host system type; please check config.sub.) 43: fi 44: 45: AC_PROG_YACC 46: AM_PROG_LEX 47: 48: ALL_LINGUAS="fr tr ja es sv da zh_CN ru ro rw zh_TW fi vi uk" 49: ZW_GNU_GETTEXT_SISTER_DIR 50: AM_PO_SUBDIRS 51: 52: AM_MAINTAINER_MODE 53: AM_CONDITIONAL(GENINSRC_NEVER, false) 54: AC_EXEEXT 55: if test -n "$EXEEXT"; then 56: AC_DEFINE(HAVE_EXECUTABLE_SUFFIX, 1, 57: [Does the platform use an executable suffix?]) 58: fi 59: AC_DEFINE_UNQUOTED(EXECUTABLE_SUFFIX, "${EXEEXT}", 60: [Suffix used for executables, if any.]) 61: 62: # host-specific stuff: 63: 64: HDEFINES= 65: 66: . ${srcdir}/../bfd/configure.host 67: 68: AC_SUBST(HDEFINES) 69: AR=${AR-ar} 70: AC_SUBST(AR) 71: AC_PROG_RANLIB 72: AC_PROG_INSTALL 73: 74: BFD_CC_FOR_BUILD 75: 76: DEMANGLER_NAME=c++filt 77: case "${host}" in 78: *-*-go32* | *-*-msdos*) 79: DEMANGLER_NAME=cxxfilt 80: esac 81: AC_SUBST(DEMANGLER_NAME) 82: 83: AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h limits.h sys/param.h) 84: AC_HEADER_SYS_WAIT 85: AC_FUNC_ALLOCA 86: AC_CHECK_FUNCS(sbrk utimes setmode getc_unlocked strcoll) 87: AC_CHECK_FUNC([mkstemp], 88: AC_DEFINE([HAVE_MKSTEMP], 1, 89: [Define to 1 if you have the `mkstemp' function.])) 90: AC_CHECK_FUNC([mkdtemp], 91: AC_DEFINE([HAVE_MKDTEMP], 1, 92: [Define to 1 if you have the `mkdtemp' function.])) 93: 94: # Check whether fopen64 is available and whether _LARGEFILE64_SOURCE 95: # needs to be defined for it 96: AC_MSG_CHECKING([for fopen64]) 97: AC_CACHE_VAL(bu_cv_have_fopen64, 98: [AC_TRY_LINK([#include <stdio.h>], [FILE *f = fopen64 ("/tmp/foo","r");], 99: bu_cv_have_fopen64=yes, 100: [saved_CPPFLAGS=$CPPFLAGS 101: CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" 102: AC_TRY_LINK([#include <stdio.h>], [FILE *f = fopen64 ("/tmp/foo","r");], 103: bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE", 104: bu_cv_have_fopen64=no) 105: CPPFLAGS=$saved_CPPFLAGS])]) 106: AC_MSG_RESULT($bu_cv_have_fopen64) 107: if test "$bu_cv_have_fopen64" != no; then 108: AC_DEFINE([HAVE_FOPEN64], 1, 109: [Is fopen64 available?]) 110: fi 111: AC_MSG_CHECKING([for stat64]) 112: AC_CACHE_VAL(bu_cv_have_stat64, 113: [AC_TRY_LINK([#include <sys/stat.h>], [struct stat64 st; stat64 ("/tmp/foo", &st);], 114: bu_cv_have_stat64=yes, 115: [saved_CPPFLAGS=$CPPFLAGS 116: CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" 117: AC_TRY_LINK([#include <sys/stat.h>], [struct stat64 st; stat64 ("/tmp/foo", &st);], 118: bu_cv_have_stat64="need -D_LARGEFILE64_SOURCE", 119: bu_cv_have_stat64=no) 120: CPPFLAGS=$saved_CPPFLAGS])]) 121: AC_MSG_RESULT($bu_cv_have_stat64) 122: if test "$bu_cv_have_stat64" != no; then 123: AC_DEFINE([HAVE_STAT64], 1, 124: [Is stat64 available?]) 125: fi 126: if test "$bu_cv_have_fopen64" = "need -D_LARGEFILE64_SOURCE" \ 127: || test "$bu_cv_have_stat64" = "need -D_LARGEFILE64_SOURCE"; then 128: AC_DEFINE([_LARGEFILE64_SOURCE], 1, 129: [Enable LFS]) 130: CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" 131: fi 132: 133: # Some systems have frexp only in -lm, not in -lc. 134: AC_SEARCH_LIBS(frexp, m) 135: 136: AC_MSG_CHECKING(for time_t in time.h) 137: AC_CACHE_VAL(bu_cv_decl_time_t_time_h, 138: [AC_TRY_COMPILE([#include <time.h>], [time_t i;], 139: bu_cv_decl_time_t_time_h=yes, bu_cv_decl_time_t_time_h=no)]) 140: AC_MSG_RESULT($bu_cv_decl_time_t_time_h) 141: if test $bu_cv_decl_time_t_time_h = yes; then 142: AC_DEFINE([HAVE_TIME_T_IN_TIME_H], 1, 143: [Is the type time_t defined in <time.h>?]) 144: fi 145: 146: AC_MSG_CHECKING(for time_t in sys/types.h) 147: AC_CACHE_VAL(bu_cv_decl_time_t_types_h, 148: [AC_TRY_COMPILE([#include <sys/types.h>], [time_t i;], 149: bu_cv_decl_time_t_types_h=yes, bu_cv_decl_time_t_types_h=no)]) 150: AC_MSG_RESULT($bu_cv_decl_time_t_types_h) 151: if test $bu_cv_decl_time_t_types_h = yes; then 152: AC_DEFINE([HAVE_TIME_T_IN_TYPES_H], 1, 153: [Is the type time_t defined in <sys/types.h>?]) 154: fi 155: 156: AC_MSG_CHECKING(for a known getopt prototype in unistd.h) 157: AC_CACHE_VAL(bu_cv_decl_getopt_unistd_h, 158: [AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);], 159: bu_cv_decl_getopt_unistd_h=yes, bu_cv_decl_getopt_unistd_h=no)]) 160: AC_MSG_RESULT($bu_cv_decl_getopt_unistd_h) 161: if test $bu_cv_decl_getopt_unistd_h = yes; then 162: AC_DEFINE([HAVE_DECL_GETOPT], 1, 163: [Is the prototype for getopt in <unistd.h> in the expected format?]) 164: fi 165: 166: # Under Next 3.2 <utime.h> apparently does not define struct utimbuf 167: # by default. 168: AC_MSG_CHECKING([for utime.h]) 169: AC_CACHE_VAL(bu_cv_header_utime_h, 170: [AC_TRY_COMPILE([#include <sys/types.h> 171: #ifdef HAVE_TIME_H 172: #include <time.h> 173: #endif 174: #include <utime.h>], 175: [struct utimbuf s;], 176: bu_cv_header_utime_h=yes, bu_cv_header_utime_h=no)]) 177: AC_MSG_RESULT($bu_cv_header_utime_h) 178: if test $bu_cv_header_utime_h = yes; then 179: AC_DEFINE(HAVE_GOOD_UTIME_H, 1, [Does <utime.h> define struct utimbuf?]) 180: fi 181: 182: AC_CHECK_DECLS([fprintf, stpcpy, strstr, sbrk, getenv, environ, getc_unlocked, 183: snprintf, vsnprintf]) 184: 185: BFD_BINARY_FOPEN 186: 187: # target-specific stuff: 188: 189: # Canonicalize the secondary target names. 190: if test -n "$enable_targets"; then 191: for targ in `echo $enable_targets | sed 's/,/ /g'` 192: do 193: result=`$ac_config_sub $targ 2>/dev/null` 194: if test -n "$result"; then 195: canon_targets="$canon_targets $result" 196: else 197: # Allow targets that config.sub doesn't recognize, like "all". 198: canon_targets="$canon_targets $targ" 199: fi 200: done 201: fi 202: 203: AC_CHECK_HEADER(iconv.h) 204: AM_ICONV 205: 206: all_targets=false 207: BUILD_NLMCONV= 208: NLMCONV_DEFS= 209: BUILD_SRCONV= 210: BUILD_DLLTOOL= 211: DLLTOOL_DEFS= 212: DLLTOOL_DEFAULT= 213: BUILD_WINDRES= 214: BUILD_WINDMC= 215: BUILD_DLLWRAP= 216: BUILD_MISC= 217: BUILD_INSTALL_MISC= 218: OBJDUMP_DEFS= 219: 220: for targ in $target $canon_targets 221: do 222: if test "x$targ" = "xall"; then 223: all_targets=true 224: BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' 225: BUILD_SRCONV='$(SRCONV_PROG)' 226: NLMCONV_DEFS="-DNLMCONV_I386 -DNLMCONV_ALPHA -DNLMCONV_POWERPC -DNLMCONV_SPARC" 227: BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)' 228: else 229: case $targ in 230: changequote(,)dnl 231: i[3-7]86*-*-netware*) 232: changequote([,])dnl 233: BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' 234: NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386" 235: ;; 236: alpha*-*-netware*) 237: BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' 238: NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_ALPHA" 239: ;; 240: powerpc*-*-netware*) 241: BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' 242: NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_POWERPC" 243: ;; 244: sparc*-*-netware*) 245: BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' 246: NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_SPARC" 247: ;; 248: esac 249: case $targ in 250: *-*-hms*) BUILD_SRCONV='$(SRCONV_PROG)' ;; 251: esac 252: case $targ in 253: arm-epoc-pe*) 254: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 255: if test -z "$DLLTOOL_DEFAULT"; then 256: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_EPOC" 257: fi 258: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_EPOC -DDLLTOOL_ARM" 259: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 260: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 261: ;; 262: arm-wince-pe* | arm-*-wince) 263: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 264: if test -z "$DLLTOOL_DEFAULT"; then 265: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE" 266: fi 267: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_WINCE -DDLLTOOL_ARM" 268: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 269: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 270: ;; 271: arm-*-pe*) 272: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 273: if test -z "$DLLTOOL_DEFAULT"; then 274: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM" 275: fi 276: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM" 277: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 278: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 279: ;; 280: thumb-*-pe*) 281: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 282: if test -z "$DLLTOOL_DEFAULT"; then 283: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM" 284: fi 285: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM" 286: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 287: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 288: ;; 289: x86_64-*-mingw*) 290: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 291: if test -z "$DLLTOOL_DEFAULT"; then 292: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MX86_64" 293: fi 294: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MX86_64" 295: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 296: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 297: BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' 298: ;; 299: changequote(,)dnl 300: i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*) 301: changequote([,])dnl 302: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 303: if test -z "$DLLTOOL_DEFAULT"; then 304: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386" 305: fi 306: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386" 307: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 308: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 309: BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' 310: ;; 311: changequote(,)dnl 312: i[3-7]86-*-interix) 313: changequote([,])dnl 314: BUILD_DLLTOOL='$(DLLTOOL_PROG)' 315: if test -z "$DLLTOOL_DEFAULT"; then 316: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386" 317: fi 318: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386" 319: ;; 320: changequote(,)dnl 321: powerpc*-aix5.[01]) 322: changequote([,])dnl 323: ;; 324: powerpc*-aix5.*) 325: OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT" 326: ;; 327: powerpc*-*-pe* | powerpc*-*-cygwin*) 328: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 329: if test -z "$DLLTOOL_DEFAULT"; then 330: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_PPC" 331: fi 332: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_PPC" 333: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 334: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 335: ;; 336: powerpc*-*-linux* | powerpc*-*-elf*) 337: BUILD_INSTALL_MISC="${BUILD_INSTALL_MISC} embedspu" 338: ;; 339: sh*-*-pe) 340: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 341: if test -z "$DLLTOOL_DEFAULT"; then 342: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_SH" 343: fi 344: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_SH" 345: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 346: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 347: ;; 348: spu-*-*) 349: BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)' 350: ;; 351: mips*-*-pe) 352: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 353: if test -z "$DLLTOOL_DEFAULT"; then 354: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MIPS" 355: fi 356: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MIPS" 357: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 358: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 359: ;; 360: mcore-*-pe) 361: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 362: if test -z "$DLLTOOL_DEFAULT"; then 363: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE" 364: fi 365: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE" 366: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 367: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 368: ;; 369: mcore-*-elf) 370: BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' 371: if test -z "$DLLTOOL_DEFAULT"; then 372: DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_MCORE_ELF" 373: fi 374: DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_MCORE_ELF" 375: ;; 376: mep-*) 377: OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0" 378: ;; 379: esac 380: fi 381: done 382: 383: DLLTOOL_DEFS="$DLLTOOL_DEFS $DLLTOOL_DEFAULT" 384: 385: if test "${with_windres+set}" = set; then 386: BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 387: fi 388: 389: if test "${with_windmc+set}" = set; then 390: BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 391: fi 392: 393: AC_SUBST(NLMCONV_DEFS) 394: AC_SUBST(BUILD_NLMCONV) 395: AC_SUBST(BUILD_SRCONV) 396: AC_SUBST(BUILD_DLLTOOL) 397: AC_SUBST(DLLTOOL_DEFS) 398: AC_SUBST(BUILD_WINDRES) 399: AC_SUBST(BUILD_WINDMC) 400: AC_SUBST(BUILD_DLLWRAP) 401: AC_SUBST(BUILD_MISC) 402: AC_SUBST(BUILD_INSTALL_MISC) 403: AC_SUBST(OBJDUMP_DEFS) 404: 405: AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.]) 406: 407: targ=$target 408: . $srcdir/../bfd/config.bfd 409: if test "x$targ_underscore" = "xyes"; then 410: UNDERSCORE=1 411: else 412: UNDERSCORE=0 413: fi 414: AC_DEFINE_UNQUOTED(TARGET_PREPENDS_UNDERSCORE, $UNDERSCORE, 415: [Define to 1 if user symbol names have a leading underscore, 0 if not.]) 416: 417: # Emulation 418: for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` 419: do 420: # Canonicalize the secondary target names. 421: result=`$ac_config_sub $targ_alias 2>/dev/null` 422: if test -n "$result"; then 423: targ=$result 424: else 425: targ=$targ_alias 426: fi 427: 428: . ${srcdir}/configure.tgt 429: 430: EMULATION=$targ_emul 431: EMULATION_VECTOR=$targ_emul_vector 432: done 433: 434: AC_SUBST(EMULATION) 435: AC_SUBST(EMULATION_VECTOR) 436: 437: # Required for html and install-html 438: AC_SUBST(datarootdir) 439: AC_SUBST(docdir) 440: AC_SUBST(htmldir) 441: 442: AC_OUTPUT(Makefile doc/Makefile po/Makefile.in:po/Make-in)