dnl Process this file with autoconf to produce a configure script dnl AC_PREREG(2.5) AC_INIT(ldmain.c) AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], [case "${enableval}" in yes | "") AC_ERROR(enable-targets option must specify target names or 'all') ;; no) enable_targets= ;; *) enable_targets=$enableval ;; esac])dnl AC_ARG_ENABLE(shared, [ --enable-shared build shared BFD library], [case "${enableval}" in yes) shared=true ;; no) shared=false ;; *bfd*) shared=true ;; *) shared=false ;; esac])dnl AC_ARG_ENABLE(64-bit-bfd, [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], [case "${enableval}" in yes) want64=true ;; no) want64=false ;; *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;; esac],[want64=false])dnl AC_CONFIG_HEADER(config.h:config.in) AC_CONFIG_AUX_DIR(`cd $srcdir/..; pwd`) AC_CANONICAL_SYSTEM if test -z "$target" ; then AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) fi if test -z "$host" ; then AC_MSG_ERROR(Unrecognized host system type; please check config.sub.) fi AC_ARG_PROGRAM # host-specific stuff: AC_PROG_CC AC_PROG_INSTALL . ${srcdir}/configure.host AC_SUBST(HLDFLAGS) AC_SUBST(HLDENV) AC_SUBST(RPATH_ENVVAR) AC_SUBST(HDEFINES) AC_SUBST(HOSTING_CRT0) AC_SUBST(HOSTING_LIBS) AC_SUBST(NATIVE_LIB_DIRS) # For most hosts we can use a simple definition to pick up the BFD and # opcodes libraries. However, if we are building shared libraries, we # need to handle some hosts specially. BFDLIB='-L../bfd -lbfd' case "${host}" in *-*-sunos*) # On SunOS, we must link against the name we are going to install, # not -lbfd, since SunOS does not support SONAME. if test "${shared}" = "true"; then BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`' fi ;; alpha*-*-osf*) # On Alpha OSF/1, the native linker searches all the -L # directories for any LIB.so files, and only then searches for any # LIB.a files. That means that if there is an installed # libbfd.so, but this build is not done with --enable-shared, the # link will wind up being against the install libbfd.so rather # than the newly built libbfd. To avoid this, we must explicitly # link against libbfd.a when --enable-shared is not used. if test "${shared}" != "true"; then BFDLIB='../bfd/libbfd.a' fi ;; esac AC_SUBST(BFDLIB) AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h) AC_CHECK_FUNCS(sbrk) AC_HEADER_DIRENT BFD_BINARY_FOPEN BFD_NEED_DECLARATION(strstr) BFD_NEED_DECLARATION(free) BFD_NEED_DECLARATION(sbrk) # target-specific stuff: all_targets= EMUL= all_emuls= TDIRS= for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` do if test "$targ_alias" = "all"; then all_targets=true else # Canonicalize the secondary target names. result=`$ac_config_sub $targ_alias 2>/dev/null` if test -n "$result"; then targ=$result else targ=$targ_alias fi . ${srcdir}/configure.tgt if test "$targ" = "$target"; then EMUL=$targ_emul fi for i in $targ_emul $targ_extra_emuls; do case " $all_emuls " in *" e${i}.o "*) ;; *) all_emuls="$all_emuls e${i}.o" eval result=\$tdir_$i test -z "$result" && result=$targ_alias TDIRS="$TDIRS\\ tdir_$i=$result" ;; esac done fi done AC_SUBST(EMUL) AC_SUBST(TDIRS) dnl FIXME: We will build a 64 bit BFD for a 64 bit host or a 64 bit dnl target, and in those cases we should also build the 64 bit dnl emulations. if test x${all_targets} = xtrue; then if test x${want64} = xtrue; then EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)' else EMULATION_OFILES='$(ALL_EMULATIONS)' fi else EMULATION_OFILES=$all_emuls fi AC_SUBST(EMULATION_OFILES) AC_OUTPUT(Makefile, [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])