1dnl Process this file with autoconf to produce a configure script. 2dnl 3AC_PREREQ(2.57) 4AC_INIT(ar.c) 5 6AC_CANONICAL_SYSTEM 7AC_ISC_POSIX 8 9changequote(,)dnl 10BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` 11changequote([,])dnl 12AM_INIT_AUTOMAKE(binutils, ${BFD_VERSION}) 13 14AC_PROG_CC 15AC_GNU_SOURCE 16AC_PROG_LIBTOOL 17 18AC_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 ;; 25esac])dnl 26AC_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]) ;; 32esac])dnl 33 34AM_BINUTILS_WARNINGS 35 36AM_CONFIG_HEADER(config.h:config.in) 37 38if test -z "$target" ; then 39 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 40fi 41if test -z "$host" ; then 42 AC_MSG_ERROR(Unrecognized host system type; please check config.sub.) 43fi 44 45AC_PROG_YACC 46AM_PROG_LEX 47 48ALL_LINGUAS="fr tr ja es sv da zh_CN ru ro rw zh_TW fi vi" 49ZW_GNU_GETTEXT_SISTER_DIR 50AM_PO_SUBDIRS 51 52AM_MAINTAINER_MODE 53AM_CONDITIONAL(GENINSRC_NEVER, false) 54AC_EXEEXT 55if test -n "$EXEEXT"; then 56 AC_DEFINE(HAVE_EXECUTABLE_SUFFIX, 1, 57 [Does the platform use an executable suffix?]) 58fi 59AC_DEFINE_UNQUOTED(EXECUTABLE_SUFFIX, "${EXEEXT}", 60 [Suffix used for executables, if any.]) 61 62# host-specific stuff: 63 64HDEFINES= 65 66. ${srcdir}/../bfd/configure.host 67 68AC_SUBST(HDEFINES) 69AR=${AR-ar} 70AC_SUBST(AR) 71AC_PROG_RANLIB 72AC_PROG_INSTALL 73 74BFD_CC_FOR_BUILD 75 76DEMANGLER_NAME=c++filt 77case "${host}" in 78 *-*-go32* | *-*-msdos*) 79 DEMANGLER_NAME=cxxfilt 80esac 81AC_SUBST(DEMANGLER_NAME) 82 83AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h limits.h sys/param.h) 84AC_HEADER_SYS_WAIT 85AC_FUNC_ALLOCA 86AC_CHECK_FUNCS(sbrk utimes setmode getc_unlocked strcoll) 87AC_CHECK_FUNC([mkstemp], 88 AC_DEFINE([HAVE_MKSTEMP], 1, 89 [Define to 1 if you have the `mkstemp' function.])) 90AC_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 96AC_MSG_CHECKING([for fopen64]) 97AC_CACHE_VAL(bu_cv_have_fopen64, 98[AC_TRY_LINK([#include <stdio.h>], [FILE *f = fopen64 ("/tmp/foo","r");], 99bu_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");], 103bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE", 104bu_cv_have_fopen64=no) 105 CPPFLAGS=$saved_CPPFLAGS])]) 106AC_MSG_RESULT($bu_cv_have_fopen64) 107if test "$bu_cv_have_fopen64" != no; then 108 AC_DEFINE([HAVE_FOPEN64], 1, 109 [Is fopen64 available?]) 110fi 111AC_MSG_CHECKING([for stat64]) 112AC_CACHE_VAL(bu_cv_have_stat64, 113[AC_TRY_LINK([#include <sys/stat.h>], [struct stat64 st; stat64 ("/tmp/foo", &st);], 114bu_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);], 118bu_cv_have_stat64="need -D_LARGEFILE64_SOURCE", 119bu_cv_have_stat64=no) 120 CPPFLAGS=$saved_CPPFLAGS])]) 121AC_MSG_RESULT($bu_cv_have_stat64) 122if test "$bu_cv_have_stat64" != no; then 123 AC_DEFINE([HAVE_STAT64], 1, 124 [Is stat64 available?]) 125fi 126if 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" 131fi 132 133# Some systems have frexp only in -lm, not in -lc. 134AC_SEARCH_LIBS(frexp, m) 135 136AC_MSG_CHECKING(for time_t in time.h) 137AC_CACHE_VAL(bu_cv_decl_time_t_time_h, 138[AC_TRY_COMPILE([#include <time.h>], [time_t i;], 139bu_cv_decl_time_t_time_h=yes, bu_cv_decl_time_t_time_h=no)]) 140AC_MSG_RESULT($bu_cv_decl_time_t_time_h) 141if 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>?]) 144fi 145 146AC_MSG_CHECKING(for time_t in sys/types.h) 147AC_CACHE_VAL(bu_cv_decl_time_t_types_h, 148[AC_TRY_COMPILE([#include <sys/types.h>], [time_t i;], 149bu_cv_decl_time_t_types_h=yes, bu_cv_decl_time_t_types_h=no)]) 150AC_MSG_RESULT($bu_cv_decl_time_t_types_h) 151if 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>?]) 154fi 155 156AC_MSG_CHECKING(for a known getopt prototype in unistd.h) 157AC_CACHE_VAL(bu_cv_decl_getopt_unistd_h, 158[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);], 159bu_cv_decl_getopt_unistd_h=yes, bu_cv_decl_getopt_unistd_h=no)]) 160AC_MSG_RESULT($bu_cv_decl_getopt_unistd_h) 161if 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?]) 164fi 165 166# Under Next 3.2 <utime.h> apparently does not define struct utimbuf 167# by default. 168AC_MSG_CHECKING([for utime.h]) 169AC_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;], 176bu_cv_header_utime_h=yes, bu_cv_header_utime_h=no)]) 177AC_MSG_RESULT($bu_cv_header_utime_h) 178if test $bu_cv_header_utime_h = yes; then 179 AC_DEFINE(HAVE_GOOD_UTIME_H, 1, [Does <utime.h> define struct utimbuf?]) 180fi 181 182AC_CHECK_DECLS([fprintf, stpcpy, strstr, sbrk, getenv, environ, getc_unlocked, 183 snprintf, vsnprintf]) 184 185BFD_BINARY_FOPEN 186 187# target-specific stuff: 188 189# Canonicalize the secondary target names. 190if 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 201fi 202 203AC_CHECK_HEADER(iconv.h) 204AM_ICONV 205 206all_targets=false 207BUILD_NLMCONV= 208NLMCONV_DEFS= 209BUILD_SRCONV= 210BUILD_DLLTOOL= 211DLLTOOL_DEFS= 212DLLTOOL_DEFAULT= 213BUILD_WINDRES= 214BUILD_WINDMC= 215BUILD_DLLWRAP= 216BUILD_MISC= 217BUILD_INSTALL_MISC= 218OBJDUMP_DEFS= 219 220for targ in $target $canon_targets 221do 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 230changequote(,)dnl 231 i[3-7]86*-*-netware*) 232changequote([,])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 ;; 299changequote(,)dnl 300 i[3-7]86-*-pe* | i[3-7]86-*-cygwin* | i[3-7]86-*-mingw32** | i[3-7]86-*-netbsdpe*) 301changequote([,])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 ;; 311changequote(,)dnl 312 i[3-7]86-*-interix) 313changequote([,])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 ;; 320changequote(,)dnl 321 powerpc*-aix5.[01]) 322changequote([,])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 381done 382 383DLLTOOL_DEFS="$DLLTOOL_DEFS $DLLTOOL_DEFAULT" 384 385if test "${with_windres+set}" = set; then 386 BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' 387fi 388 389if test "${with_windmc+set}" = set; then 390 BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' 391fi 392 393AC_SUBST(NLMCONV_DEFS) 394AC_SUBST(BUILD_NLMCONV) 395AC_SUBST(BUILD_SRCONV) 396AC_SUBST(BUILD_DLLTOOL) 397AC_SUBST(DLLTOOL_DEFS) 398AC_SUBST(BUILD_WINDRES) 399AC_SUBST(BUILD_WINDMC) 400AC_SUBST(BUILD_DLLWRAP) 401AC_SUBST(BUILD_MISC) 402AC_SUBST(BUILD_INSTALL_MISC) 403AC_SUBST(OBJDUMP_DEFS) 404 405AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.]) 406 407targ=$target 408. $srcdir/../bfd/config.bfd 409if test "x$targ_underscore" = "xyes"; then 410 UNDERSCORE=1 411else 412 UNDERSCORE=0 413fi 414AC_DEFINE_UNQUOTED(TARGET_PREPENDS_UNDERSCORE, $UNDERSCORE, 415 [Define to 1 if user symbol names have a leading underscore, 0 if not.]) 416 417# Emulation 418for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` 419do 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 432done 433 434AC_SUBST(EMULATION) 435AC_SUBST(EMULATION_VECTOR) 436 437# Required for html and install-html 438AC_SUBST(datarootdir) 439AC_SUBST(docdir) 440AC_SUBST(htmldir) 441 442AC_OUTPUT(Makefile doc/Makefile po/Makefile.in:po/Make-in) 443