aboutsummaryrefslogtreecommitdiff
path: root/bfd/aclocal.m4
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1998-02-05 00:16:01 +0000
committerIan Lance Taylor <ian@airs.com>1998-02-05 00:16:01 +0000
commit9a8379033e492bbf52f6d10add7d17763bf89145 (patch)
tree7c63ad5a1ae2d6c661c143d0a645ff1c89cbc299 /bfd/aclocal.m4
parent9322566035aaff7c3d9f928d1db1007a739aa8bb (diff)
downloadbinutils-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.m4129
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,