diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-02-05 00:16:01 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-02-05 00:16:01 +0000 |
commit | 9a8379033e492bbf52f6d10add7d17763bf89145 (patch) | |
tree | 7c63ad5a1ae2d6c661c143d0a645ff1c89cbc299 /bfd/aclocal.m4 | |
parent | 9322566035aaff7c3d9f928d1db1007a739aa8bb (diff) | |
download | binutils-9a8379033e492bbf52f6d10add7d17763bf89145.zip binutils-9a8379033e492bbf52f6d10add7d17763bf89145.tar.gz binutils-9a8379033e492bbf52f6d10add7d17763bf89145.tar.bz2 |
* configure.in: Set libtool_enable_shared rather than
libtool_shared. Remove diversion hack.
* configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
with new libtool.
Diffstat (limited to 'bfd/aclocal.m4')
-rw-r--r-- | bfd/aclocal.m4 | 129 |
1 files changed, 100 insertions, 29 deletions
diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4 index e37e2ad..0a66076 100644 --- a/bfd/aclocal.m4 +++ b/bfd/aclocal.m4 @@ -5,7 +5,7 @@ AC_DEFUN(BFD_BINARY_FOPEN, [AC_REQUIRE([AC_CANONICAL_SYSTEM]) case "${host}" in changequote(,)dnl -i[345]86-*-msdos* | i[345]86-*-go32* | *-*-cygwin32 | *-*-windows) +i[345]86-*-msdos* | i[345]86-*-go32* | i[345]86-*-mingw32* | *-*-cygwin32* | *-*-windows) changequote([,])dnl AC_DEFINE(USE_BINARY_FOPEN) ;; esac])dnl @@ -159,12 +159,13 @@ fi AC_SUBST($1)]) -# serial 9 AM_PROG_LIBTOOL +# serial 18 AM_PROG_LIBTOOL AC_DEFUN(AM_PROG_LIBTOOL, [AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_RANLIB]) +AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AM_PROG_LD]) +AC_REQUIRE([AM_PROG_NM]) AC_REQUIRE([AC_PROG_LN_S]) # Always use our own libtool. @@ -177,14 +178,15 @@ AC_ARG_ENABLE(shared, [ --enable-shared build shared libraries [default=yes]], [p=${PACKAGE-bogus-package-name} case "$enableval" in - yes) enable_shared=yes ;; - no) enable_shared=no ;; + yes) libtool_enable_shared=yes ;; + no) libtool_enable_shared=no ;; # The value of $p (aka $PACKAGE) is assumed to come from AM_INIT_AUTOMAKE. # If it didn't, it'll be `bogus-package-name', thus making this condition # not be used. - *$p*) enable_shared=yes ;; - *) shared=no ;; + *$p*) libtool_enable_shared=yes ;; + *) libtool_enable_shared=no ;; esac]) +test -n "$libtool_enable_shared" && enable_shared="$libtool_enable_shared" libtool_shared= test "$enable_shared" = no && libtool_shared=" --disable-shared" dnl END CYGNUS LOCAL @@ -193,10 +195,11 @@ dnl Allow the --disable-static flag to stop us from building static libs. AC_ARG_ENABLE(static, [ --enable-static build static libraries [default=yes]], [if test "$enableval" = no; then - enable_static=no + libtool_enable_static=no else - enable_static=yes + libtool_enable_static=yes fi]) +test -n "$libtool_enable_static" && enable_static="$libtool_enable_static" libtool_static= test "$enable_static" = no && libtool_static=" --disable-static" @@ -210,12 +213,28 @@ test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" [case "$host" in *-*-irix6*) ac_save_CFLAGS="$CFLAGS" - # -n32 always needs to be added to the linker when using GCC. - test "$ac_cv_prog_gcc" = yes && CFLAGS="$CFLAGS -n32" - for f in '-32' '-64' '-cckr' '-n32' '-mips1' '-mips2' '-mips3' '-mips4'; do - if echo " $CC $CFLAGS " | egrep -e "[ ]$f[ ]" > /dev/null; then - LD="${LD-ld} $f" - fi + flag_passed=no + for f in -32 -64 -n32 ABI -cckr -mips1 -mips2 -mips3 -mips4; do + case "$f" in + ABI) + test -n "$SGI_ABI" && flag_passed=yes + if test "$flag_passed" = no && test "$ac_cv_prog_gcc" = yes; then + # Choose the ABI flag according to GCC's specs. + if $CC -dumpspecs 2>&1 | sed '/^\*link:$/,/^$/!d' | egrep -e '[ ]-32' >/dev/null; then + LD="${LD-ld} -32" + else + LD="${LD-ld} -n32" + fi + fi + ;; + + *) + if echo " $CC $CFLAGS " | egrep -e "[ ]$f[ ]" > /dev/null; then + flag_passed=yes + LD="${LD-ld} $f" + fi + ;; + esac done CFLAGS="$ac_save_CFLAGS" ;; @@ -228,7 +247,7 @@ esac] # Actually configure libtool. ac_aux_dir is where install-sh is found. CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" RANLIB="$RANLIB" LN_S="$LN_S" \ +LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ || AC_MSG_ERROR([libtool configure failed]) @@ -239,35 +258,52 @@ AC_DEFUN(AM_PROG_LD, [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -if test "$with_gnu_ld" = yes; then +AC_REQUIRE([AC_PROG_CC]) +ac_prog=ld +if test "$ac_cv_prog_gcc" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + ac_prog=`($CC -print-prog-name=ld) 2>&5` + case "$ac_prog" in + # Accept absolute paths. + /*) + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(ac_cv_path_LD, -[case "$LD" in - "") +[if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/ld"; then - ac_cv_path_LD="$ac_dir/ld" + if test -f "$ac_dir/$ac_prog"; then + ac_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU ld|with BFD)' > /dev/null; then - test "$with_gnu_ld" = yes && break + if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break fi fi done IFS="$ac_save_ifs" - ;; - *) +else ac_cv_path_LD="$LD" # Let the user override the test with a path. - ;; -esac]) +fi]) LD="$ac_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) @@ -280,15 +316,50 @@ AM_PROG_LD_GNU ]) AC_DEFUN(AM_PROG_LD_GNU, -[AC_CACHE_CHECK([whether we are using GNU ld], ac_cv_prog_gnu_ld, +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU ld|with BFD)' > /dev/null; then +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then ac_cv_prog_gnu_ld=yes else ac_cv_prog_gnu_ld=no fi]) ]) +# AM_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AM_PROG_NM, +[AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(ac_cv_path_NM, +[case "$NM" in +/*) + ac_cv_path_NM="$NM" # Let the user override the test with a path. + ;; +*) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + test -z "$ac_dir" && dir=. + if test -f $ac_dir/nm; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1!d' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -B" + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -p" + else + ac_cv_path_NM="$ac_dir/nm" + fi + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm + ;; +esac]) +NM="$ac_cv_path_NM" +AC_MSG_RESULT([$NM]) +AC_SUBST(NM) +]) + # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN(AM_CONFIG_HEADER, |