shared library.
* ltcf-gcj.sh: Assume -lc is implicitly linked in.
* ltconfig.in: Set build_libtool_need_lc to indicate it.
* ltmain.in: Add -lc when building shared libary only if
necessary.
+2000-07-19 H.J. Lu <hjl@gnu.org>, Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * ltcf-c.sh, ltcf-cxx.sh: Check if -lc is necessary for building
+ shared library.
+ * ltcf-gcj.sh: Assume -lc is implicitly linked in.
+ * ltconfig.in: 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
ac_cv_prog_cc_pic="$ac_cv_prog_cc_pic -DPIC"
fi
-
+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.$ac_ext
+ 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
fi
$rm -f confest.$objext
+
+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_cxx_archive_cmds_needs_lc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ need_lc=$ac_cv_cxx_archive_cmds_needs_lc
+ else
+ $rm conftest*
+ echo "static int dummy;" > conftest.$ac_ext
+ 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_cxx_archive_cmds_needs_lc=$need_lc
ac_cv_prog_cc_pic='-fPIC'
;;
esac
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+need_lc=no
# 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
# 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