1dnl Process this file with autoconf to produce a configure script 2dnl 3AC_PREREQ(2.13) 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$exec_prefix" = xNONE; then 45 if test "x$prefix" = xNONE; then 46 test_prefix=/usr/local 47 else 48 test_prefix=$prefix 49 fi 50 else 51 test_prefix=$exec_prefix 52 fi 53 case ${TARGET_SYSTEM_ROOT} in 54 "${test_prefix}"|"${test_prefix}/"*|\ 55 '${exec_prefix}'|'${exec_prefix}/'*) 56 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE" 57 TARGET_SYSTEM_ROOT_DEFINE="$t" 58 ;; 59 esac 60], [ 61 use_sysroot=no 62 TARGET_SYSTEM_ROOT= 63 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"' 64]) 65AC_SUBST(use_sysroot) 66AC_SUBST(TARGET_SYSTEM_ROOT) 67AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) 68 69build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" 70AC_ARG_ENABLE(build-warnings, 71[ --enable-build-warnings enable build-time compiler warnings if gcc is used], 72[case "${enableval}" in 73 yes) ;; 74 no) build_warnings="-w";; 75 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` 76 build_warnings="${build_warnings} ${t}";; 77 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` 78 build_warnings="${t} ${build_warnings}";; 79 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; 80esac 81if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then 82 echo "Setting warning flags = $build_warnings" 6>&1 83fi])dnl 84WARN_CFLAGS="" 85if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then 86 WARN_CFLAGS="${build_warnings}" 87fi 88AC_SUBST(WARN_CFLAGS) 89 90AM_CONFIG_HEADER(config.h:config.in) 91 92if test -z "$target" ; then 93 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 94fi 95if test -z "$host" ; then 96 AC_MSG_ERROR(Unrecognized host system type; please check config.sub.) 97fi 98 99# host-specific stuff: 100 101AC_PROG_CC 102AC_PROG_INSTALL 103 104ALL_LINGUAS="fr sv tr es da" 105CY_GNU_GETTEXT 106 107AC_EXEEXT 108 109AC_PROG_YACC 110AM_PROG_LEX 111 112AM_MAINTAINER_MODE 113 114. ${srcdir}/configure.host 115 116AC_SUBST(HDEFINES) 117AC_SUBST(HOSTING_CRT0) 118AC_SUBST(HOSTING_LIBS) 119AC_SUBST(NATIVE_LIB_DIRS) 120 121AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h) 122AC_CHECK_FUNCS(sbrk realpath) 123AC_HEADER_DIRENT 124 125BFD_BINARY_FOPEN 126 127BFD_NEED_DECLARATION(strstr) 128BFD_NEED_DECLARATION(free) 129BFD_NEED_DECLARATION(sbrk) 130BFD_NEED_DECLARATION(getenv) 131BFD_NEED_DECLARATION(environ) 132 133# When converting linker scripts into strings for use in emulation 134# files, use astring.sed if the compiler supports ANSI string 135# concatenation, or ostring.sed otherwise. This is to support the 136# broken Microsoft MSVC compiler, which limits the length of string 137# constants, while still supporting pre-ANSI compilers which do not 138# support string concatenation. 139AC_MSG_CHECKING([whether ANSI C string concatenation works]) 140AC_CACHE_VAL(ld_cv_string_concatenation, 141[AC_TRY_COMPILE(,[char *a = "a" "a";], 142 [ld_cv_string_concatenation=yes], 143 [ld_cv_string_concatenation=no])]) 144AC_MSG_RESULT($ld_cv_string_concatenation) 145if test "$ld_cv_string_concatenation" = "yes"; then 146 STRINGIFY=astring.sed 147else 148 STRINGIFY=ostring.sed 149fi 150AC_SUBST(STRINGIFY) 151 152# target-specific stuff: 153 154all_targets= 155EMUL= 156all_emuls= 157all_emul_extras= 158all_libpath= 159 160dnl We need to get an arbitrary number of tdir definitions into 161dnl Makefile. We can't do it using AC_SUBST, because autoconf does 162dnl not permit literal newlines in an AC_SUBST variables. So we use a 163dnl file. 164rm -f tdirs 165 166for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` 167do 168 if test "$targ_alias" = "all"; then 169 all_targets=true 170 else 171 # Canonicalize the secondary target names. 172 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ_alias 2>/dev/null` 173 if test -n "$result"; then 174 targ=$result 175 else 176 targ=$targ_alias 177 fi 178 179 . ${srcdir}/configure.tgt 180 181 if test "$targ" = "$target"; then 182 EMUL=$targ_emul 183 fi 184 185 for i in $targ_emul $targ_extra_emuls $targ_extra_libpath; do 186 case " $all_emuls " in 187 *" e${i}.o "*) ;; 188 *) 189 all_emuls="$all_emuls e${i}.o" 190 eval result=\$tdir_$i 191 test -z "$result" && result=$targ_alias 192 echo tdir_$i=$result >> tdirs 193 ;; 194 esac 195 done 196 197 for i in $targ_emul $targ_extra_libpath; do 198 case " $all_libpath " in 199 *" ${i} "*) ;; 200 *) 201 if test -z "$all_libpath"; then 202 all_libpath=${i} 203 else 204 all_libpath="$all_libpath ${i}" 205 fi 206 ;; 207 esac 208 done 209 210 for i in $targ_extra_ofiles; do 211 case " $all_emul_extras " in 212 *" ${i} "*) ;; 213 *) 214 all_emul_extras="$all_emul_extras ${i}" 215 ;; 216 esac 217 done 218 fi 219done 220 221AC_SUBST(EMUL) 222 223TDIRS=tdirs 224AC_SUBST_FILE(TDIRS) 225 226dnl FIXME: We will build a 64 bit BFD for a 64 bit host or a 64 bit 227dnl target, and in those cases we should also build the 64 bit 228dnl emulations. 229if test x${all_targets} = xtrue; then 230 if test x${want64} = xtrue; then 231 EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)' 232 else 233 EMULATION_OFILES='$(ALL_EMULATIONS)' 234 fi 235 EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)' 236else 237 EMULATION_OFILES=$all_emuls 238 EMUL_EXTRA_OFILES=$all_emul_extras 239fi 240AC_SUBST(EMULATION_OFILES) 241AC_SUBST(EMUL_EXTRA_OFILES) 242AC_SUBST(LIB_PATH) 243 244EMULATION_LIBPATH=$all_libpath 245AC_SUBST(EMULATION_LIBPATH) 246 247if test x${enable_static} = xno; then 248 TESTBFDLIB="--rpath ../bfd/.libs ../bfd/.libs/libbfd.so" 249else 250 TESTBFDLIB="../bfd/.libs/libbfd.a" 251fi 252AC_SUBST(TESTBFDLIB) 253 254target_vendor=${target_vendor=$host_vendor} 255case "$target_vendor" in 256 hp) EXTRA_SHLIB_EXTENSION=".sl" ;; 257 *) EXTRA_SHLIB_EXTENSION= ;; 258esac 259if test x${EXTRA_SHLIB_EXTENSION} != x ; then 260 AC_DEFINE_UNQUOTED(EXTRA_SHLIB_EXTENSION, "$EXTRA_SHLIB_EXTENSION", 261 [Additional extension a shared object might have.]) 262fi 263 264AC_OUTPUT(Makefile po/Makefile.in:po/Make-in, 265[sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile]) 266