1dnl Process this file with autoconf to produce a configure script 2dnl 3AC_PREREQ(2.57) 4AC_INIT(ldmain.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(ld, ${BFD_VERSION}) 13 14AM_PROG_LIBTOOL 15 16AC_ARG_WITH(lib-path, [ --with-lib-path=dir1:dir2... set default LIB_PATH],LIB_PATH=$withval) 17AC_ARG_ENABLE(targets, 18[ --enable-targets alternative target configurations], 19[case "${enableval}" in 20 yes | "") AC_ERROR(enable-targets option must specify target names or 'all') 21 ;; 22 no) enable_targets= ;; 23 *) enable_targets=$enableval ;; 24esac])dnl 25AC_ARG_ENABLE(64-bit-bfd, 26[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], 27[case "${enableval}" in 28 yes) want64=true ;; 29 no) want64=false ;; 30 *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;; 31esac],[want64=false])dnl 32 33AC_ARG_WITH(sysroot, 34[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.], 35[ 36 case ${with_sysroot} in 37 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;; 38 *) TARGET_SYSTEM_ROOT=$with_sysroot ;; 39 esac 40 41 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' 42 use_sysroot=yes 43 44 if test "x$prefix" = xNONE; then 45 test_prefix=/usr/local 46 else 47 test_prefix=$prefix 48 fi 49 if test "x$exec_prefix" = xNONE; then 50 test_exec_prefix=$test_prefix 51 else 52 test_exec_prefix=$exec_prefix 53 fi 54 case ${TARGET_SYSTEM_ROOT} in 55 "${test_prefix}"|"${test_prefix}/"*|\ 56 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\ 57 '${prefix}'|'${prefix}/'*|\ 58 '${exec_prefix}'|'${exec_prefix}/'*) 59 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE" 60 TARGET_SYSTEM_ROOT_DEFINE="$t" 61 ;; 62 esac 63], [ 64 use_sysroot=no 65 TARGET_SYSTEM_ROOT= 66 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"' 67]) 68AC_SUBST(use_sysroot) 69AC_SUBST(TARGET_SYSTEM_ROOT) 70AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) 71 72AM_BINUTILS_WARNINGS 73 74AM_CONFIG_HEADER(config.h:config.in) 75 76if test -z "$target" ; then 77 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 78fi 79if test -z "$host" ; then 80 AC_MSG_ERROR(Unrecognized host system type; please check config.sub.) 81fi 82 83# host-specific stuff: 84 85AC_PROG_CC 86AC_PROG_INSTALL 87 88ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga" 89ZW_GNU_GETTEXT_SISTER_DIR 90AM_PO_SUBDIRS 91 92AC_EXEEXT 93 94AC_PROG_YACC 95AM_PROG_LEX 96 97AM_MAINTAINER_MODE 98AM_CONDITIONAL(GENINSRC_NEVER, false) 99 100. ${srcdir}/configure.host 101 102AC_SUBST(HDEFINES) 103AC_SUBST(HOSTING_CRT0) 104AC_SUBST(HOSTING_LIBS) 105AC_SUBST(NATIVE_LIB_DIRS) 106 107AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h limits.h sys/param.h) 108AC_CHECK_FUNCS(glob mkstemp realpath sbrk waitpid) 109AC_HEADER_DIRENT 110 111AC_MSG_CHECKING(for a known getopt prototype in unistd.h) 112AC_CACHE_VAL(ld_cv_decl_getopt_unistd_h, 113[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);], 114ld_cv_decl_getopt_unistd_h=yes, ld_cv_decl_getopt_unistd_h=no)]) 115AC_MSG_RESULT($ld_cv_decl_getopt_unistd_h) 116if test $ld_cv_decl_getopt_unistd_h = yes; then 117 AC_DEFINE([HAVE_DECL_GETOPT], 1, 118 [Is the prototype for getopt in <unistd.h> in the expected format?]) 119fi 120 121BFD_BINARY_FOPEN 122 123AC_CHECK_DECLS([strstr, free, sbrk, getenv, environ]) 124 125# When converting linker scripts into strings for use in emulation 126# files, use astring.sed if the compiler supports ANSI string 127# concatenation, or ostring.sed otherwise. This is to support the 128# broken Microsoft MSVC compiler, which limits the length of string 129# constants, while still supporting pre-ANSI compilers which do not 130# support string concatenation. 131AC_MSG_CHECKING([whether ANSI C string concatenation works]) 132AC_CACHE_VAL(ld_cv_string_concatenation, 133[AC_TRY_COMPILE(,[char *a = "a" "a";], 134 [ld_cv_string_concatenation=yes], 135 [ld_cv_string_concatenation=no])]) 136AC_MSG_RESULT($ld_cv_string_concatenation) 137if test "$ld_cv_string_concatenation" = "yes"; then 138 STRINGIFY=astring.sed 139else 140 STRINGIFY=ostring.sed 141fi 142AC_SUBST(STRINGIFY) 143 144# target-specific stuff: 145 146all_targets= 147EMUL= 148all_emuls= 149all_emul_extras= 150all_libpath= 151 152dnl We need to get an arbitrary number of tdir definitions into 153dnl Makefile. We can't do it using AC_SUBST, because autoconf does 154dnl not permit literal newlines in an AC_SUBST variables. So we use a 155dnl file. 156rm -f tdirs 157 158for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` 159do 160 if test "$targ_alias" = "all"; then 161 all_targets=true 162 else 163 # Canonicalize the secondary target names. 164 result=`$ac_config_sub $targ_alias 2>/dev/null` 165 if test -n "$result"; then 166 targ=$result 167 else 168 targ=$targ_alias 169 fi 170 171 . ${srcdir}/configure.tgt 172 173 if test "$targ" = "$target"; then 174 EMUL=$targ_emul 175 fi 176 177 if test x${want64} = xfalse; then 178 . ${srcdir}/../bfd/config.bfd 179 fi 180 181 if test x${want64} = xtrue; then 182 targ_extra_emuls="$targ_extra_emuls $targ64_extra_emuls" 183 targ_extra_libpath="$targ_extra_libpath $targ64_extra_libpath" 184 fi 185 186 for i in $targ_emul $targ_extra_emuls $targ_extra_libpath; do 187 case " $all_emuls " in 188 *" e${i}.o "*) ;; 189 *) 190 all_emuls="$all_emuls e${i}.o" 191 eval result=\$tdir_$i 192 test -z "$result" && result=$targ_alias 193 echo tdir_$i=$result >> tdirs 194 ;; 195 esac 196 done 197 198 for i in $targ_emul $targ_extra_libpath; do 199 case " $all_libpath " in 200 *" ${i} "*) ;; 201 *) 202 if test -z "$all_libpath"; then 203 all_libpath=${i} 204 else 205 all_libpath="$all_libpath ${i}" 206 fi 207 ;; 208 esac 209 done 210 211 for i in $targ_extra_ofiles; do 212 case " $all_emul_extras " in 213 *" ${i} "*) ;; 214 *) 215 all_emul_extras="$all_emul_extras ${i}" 216 ;; 217 esac 218 done 219 fi 220done 221 222AC_SUBST(EMUL) 223 224TDIRS=tdirs 225AC_SUBST_FILE(TDIRS) 226 227if test x${all_targets} = xtrue; then 228 if test x${want64} = xfalse; then 229 AC_CHECK_SIZEOF(long) 230 if test "x${ac_cv_sizeof_long}" = "x8"; then 231 want64=true 232 fi 233 fi 234 if test x${want64} = xtrue; then 235 EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)' 236 else 237 EMULATION_OFILES='$(ALL_EMULATIONS)' 238 fi 239 EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)' 240else 241 EMULATION_OFILES=$all_emuls 242 EMUL_EXTRA_OFILES=$all_emul_extras 243fi 244AC_SUBST(EMULATION_OFILES) 245AC_SUBST(EMUL_EXTRA_OFILES) 246AC_SUBST(LIB_PATH) 247 248EMULATION_LIBPATH=$all_libpath 249AC_SUBST(EMULATION_LIBPATH) 250 251if test x${enable_static} = xno; then 252 TESTBFDLIB="--rpath ../bfd/.libs ../bfd/.libs/libbfd.so" 253else 254 TESTBFDLIB="../bfd/.libs/libbfd.a" 255fi 256AC_SUBST(TESTBFDLIB) 257 258target_vendor=${target_vendor=$host_vendor} 259case "$target_vendor" in 260 hp) EXTRA_SHLIB_EXTENSION=".sl" ;; 261 *) EXTRA_SHLIB_EXTENSION= ;; 262esac 263 264case "$target_os" in 265 lynxos) EXTRA_SHLIB_EXTENSION=".a" ;; 266esac 267 268if test x${EXTRA_SHLIB_EXTENSION} != x ; then 269 AC_DEFINE_UNQUOTED(EXTRA_SHLIB_EXTENSION, "$EXTRA_SHLIB_EXTENSION", 270 [Additional extension a shared object might have.]) 271fi 272 273dnl Required by html and install-html 274AC_SUBST(datarootdir) 275AC_SUBST(docdir) 276AC_SUBST(htmldir) 277 278AC_OUTPUT(Makefile po/Makefile.in:po/Make-in) 279