* ltconfig.in: Check if -lc is necessary for building shared

libary. Set build_libtool_need_lc to indicate it.
* ltmain.in: Add -lc when building shared libary only if
necessary.
This commit is contained in:
H.J. Lu 2000-07-20 02:28:44 +00:00 committed by Alexandre Oliva
parent a58c335936
commit 7bc0e24c4f
3 changed files with 59 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2000-07-18 H.J. Lu <hjl@gnu.org>
* ltconfig.in: Check if -lc is necessary for building shared
libary. Set build_libtool_need_lc to indicate it.
* ltmain.in: Add -lc when building shared libary only if
necessary.
2000-07-10 Mo DeJong <mdejong@redhat.com>
* libtool.m4 (AC_PROG_NM): Fix macro so that it

View File

@ -2019,6 +2019,51 @@ esac
echo "$ac_t$enable_shared" 1>&6
need_lc=yes
if test "$enable_shared" = yes && test "$with_gcc" = yes; then
case "$archive_cmds" in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
;;
'$CC '*)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
echo $ac_n "checking whether -lc is implicitly linked in... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_archive_cmds_needs_lc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
need_lc=$ac_cv_archive_cmds_needs_lc
else
$rm conftest*
echo "static int dummy;" > conftest.c
if { (eval echo $progname:@LINENO@: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
soname=conftest
lib=conftest
libobjs=conftest.o
deplibs=
linkopts=-v
compiler_flags=-v
linker_flags=-v
verstring=
output_objdir=.
libname=conftest
allow_undefined_flag=
if { (eval echo $progname:@LINENO@: \"$archive_cmds\") 1>&5; (eval $archive_cmds) 2>&1 | grep " -lc " 1>&5 ; }; then
need_lc=no
fi
else
cat conftest.err 1>&5
fi
fi
$rm conftest*
echo "$ac_t$need_lc" 1>&6
;;
esac
fi
ac_cv_archive_cmds_needs_lc=$need_lc
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
@ -2628,6 +2673,9 @@ SHELL=$LTSHELL
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$need_lc
# Whether or not to build static libraries.
build_old_libs=$enable_static

View File

@ -2384,8 +2384,10 @@ compiler."
# these systems don't actually have a c library (as such)!
;;
*)
# Add libc to deplibs on all other systems.
deplibs="$deplibs -lc"
# Add libc to deplibs on all other systems if necessary.
if test $build_libtool_need_lc = "yes"; then
deplibs="$deplibs -lc"
fi
;;
esac
fi