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