mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
* doc/libtool.texi: fixed a typo
* libtoolize.in: add the libtool scripts to libltdl.tar.gz * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work when libltdl is already installed * *demo/Makefile.am: use LIBM * *demo/configure.in: AC_SUBST LIBM * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of USE_SYMBOL_UNDERSCORE * ltconfig.in: added link_all_deplibs variable * doc/libtool.texi: document it * ltmain.in: always search for libname.la - don't eval libname_spec, when linking libraries against static ones just print a warning and add them to dependency_libs, add -lc before deplibs, always link all dependencies of a static library or if link_all_deplibs is yes, hardcode library paths if hardcode_into_libs is no, don't link against dependency_libs that already are deplibs
This commit is contained in:
parent
a1cfb2f41e
commit
3e89f4c492
21
ChangeLog
21
ChangeLog
@ -1,3 +1,24 @@
|
||||
1999-03-30 Thomas Tanner <tanner@gmx.de>
|
||||
|
||||
* doc/libtool.texi: fixed a typo
|
||||
* libtoolize.in: add the libtool scripts to libltdl.tar.gz
|
||||
* libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE),
|
||||
AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work
|
||||
when libltdl is already installed
|
||||
* *demo/Makefile.am: use LIBM
|
||||
* *demo/configure.in: AC_SUBST LIBM
|
||||
* libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of
|
||||
USE_SYMBOL_UNDERSCORE
|
||||
* ltconfig.in: added link_all_deplibs variable
|
||||
* doc/libtool.texi: document it
|
||||
* ltmain.in: always search for libname.la - don't eval libname_spec,
|
||||
when linking libraries against static ones just print a warning
|
||||
and add them to dependency_libs, add -lc before deplibs,
|
||||
always link all dependencies of a static library or if
|
||||
link_all_deplibs is yes, hardcode library paths if
|
||||
hardcode_into_libs is no, don't link against dependency_libs
|
||||
that already are deplibs
|
||||
|
||||
1999-03-30 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* ltconfig.in (aix4*, collect2name): make sure collect2 exists
|
||||
|
2
NEWS
2
NEWS
@ -3,7 +3,7 @@ NEWS - list of user-visible changes between releases of GNU Libtool
|
||||
New in 1.3b: 1999-??-??; CVS version 1.3a, Libtool team:
|
||||
* Complete inter-library dependencies support. It's now possible
|
||||
to link libtool libraries against other libtool libraries.
|
||||
* Already-installed libtool libraries will be found.
|
||||
* Libtool is able to find already-installed libtool libraries.
|
||||
* Support for linking DLLs on Win32
|
||||
* New demos and tests
|
||||
* Various bugfixes
|
||||
|
@ -7,6 +7,7 @@ EXTRA_DIST = acinclude.m4
|
||||
noinst_LTLIBRARIES = libfoo.la
|
||||
|
||||
libfoo_la_SOURCES = foo.c
|
||||
libfoo_la_LIBADD = $(LIBM)
|
||||
|
||||
noinst_HEADERS = foo.h
|
||||
|
||||
|
@ -11,6 +11,7 @@ AC_SUBST(LIBTOOL_DEPS)
|
||||
AC_CHECK_HEADERS(math.h)
|
||||
|
||||
AC_CHECK_LIBM
|
||||
AC_SUBST(LIBM)
|
||||
|
||||
dnl Output the makefile
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -10,6 +10,7 @@ CLEANFILES = $(hardcode_tests)
|
||||
# Build a libtool library, libhello.la for installation in libdir.
|
||||
lib_LTLIBRARIES = libhello.la
|
||||
libhello_la_SOURCES = hello.c foo.c
|
||||
libhello_la_LIBADD = $(LIBM)
|
||||
libhello_la_LDFLAGS = -version-info 3:12:1
|
||||
|
||||
include_HEADERS = foo.h
|
||||
@ -60,7 +61,7 @@ libhell1_la_LIBADD = -L. -lhell0 # libtool rejects libhell0.la
|
||||
libhell2_la_LIBADD = -L. -lhell0 # we have to use -L/-l. Why?
|
||||
bin_PROGRAMS += hell0
|
||||
hell0_SOURCES = main.c
|
||||
hell0_LDADD = libhell1.la libhell2.la
|
||||
hell0_LDADD = libhell1.la libhell2.la $(LIBM)
|
||||
|
||||
# Unfortunately, in order to test libtool thoroughly, we need access
|
||||
# to its private directory.
|
||||
@ -89,8 +90,8 @@ hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la
|
||||
eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \
|
||||
libdir=$(libdir); \
|
||||
flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $$flag || echo unsupported > $@"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $$flag || echo unsupported > $@"
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"
|
||||
|
||||
hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la
|
||||
@eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \
|
||||
@ -100,8 +101,8 @@ hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la
|
||||
echo "echo unsupported > $@"; \
|
||||
echo unsupported > $@ || status="$$?"; \
|
||||
else \
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS)"; \
|
||||
$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) || status="$$?"; \
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \
|
||||
$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \
|
||||
fi; \
|
||||
exit $$status
|
||||
|
||||
@ -111,16 +112,16 @@ hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la
|
||||
@eval `egrep -e '^(shlibpath_var|hardcode_.*|wl)=' libtool`; \
|
||||
libdir=$(libdir); \
|
||||
flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \
|
||||
echo "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $$flag || echo unsupported > $@"; \
|
||||
eval "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $$flag || echo unsupported > $@"
|
||||
echo "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \
|
||||
eval "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"
|
||||
|
||||
hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES)
|
||||
@rm -f hc-minusL
|
||||
@eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \
|
||||
libdir=$(libdir); \
|
||||
flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $$flag || echo unsupported > $@"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $$flag || echo unsupported > $@"
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"
|
||||
|
||||
$(OBJECTS): libtool
|
||||
libtool: $(LIBTOOL_DEPS)
|
||||
|
@ -23,6 +23,7 @@ grep '^global_symbol_pipe=..*$' ./libtool >/dev/null])
|
||||
AC_CHECK_HEADERS(string.h math.h)
|
||||
|
||||
AC_CHECK_LIBM
|
||||
AC_SUBST(LIBM)
|
||||
|
||||
dnl Output the makefile
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -18,6 +18,7 @@ AC_SUBST(STATIC)
|
||||
AC_CHECK_HEADERS(math.h)
|
||||
|
||||
AC_CHECK_LIBM
|
||||
AC_SUBST(LIBM)
|
||||
|
||||
dnl Output the makefile
|
||||
AC_OUTPUT(
|
||||
|
@ -4,4 +4,4 @@ INCLUDES = -I$(top_srcdir)
|
||||
|
||||
lib_LTLIBRARIES = libl4.la
|
||||
libl4_la_SOURCES = l4.c l4.h
|
||||
libl4_la_LIBADD = $(top_builddir)/l3/libl3.la
|
||||
libl4_la_LIBADD = $(top_builddir)/l3/libl3.la $(LIBM)
|
||||
|
@ -2590,7 +2590,7 @@ implementation of @file{libltdl} services, it requires GNU DLD, or it
|
||||
will only emulate dynamic linking with libtool's dlpreopening mechanism.
|
||||
|
||||
@noindent
|
||||
libltdl supports currently the following dynamic linking mechanims:
|
||||
libltdl supports currently the following dynamic linking mechanisms:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@ -3865,6 +3865,11 @@ the rest are symbolic links to the file. The name in the list is
|
||||
the file name that the linker finds when given @samp{-l@var{name}}.
|
||||
@end defvar
|
||||
|
||||
@defvar link_all_deplibs
|
||||
Whether libtool must link a program against all its dependency libraries.
|
||||
Set to @samp{yes} or @samp{no}. Default is @samp{no}.
|
||||
@end defvar
|
||||
|
||||
@defvar link_static_flag
|
||||
Linker flag (passed through the C compiler) used to prevent dynamic
|
||||
linking.
|
||||
|
@ -137,7 +137,7 @@ if test "$test_dlerror" = yes; then
|
||||
fi
|
||||
|
||||
AC_SYS_SYMBOL_UNDERSCORE
|
||||
if test x"$USE_SYMBOL_UNDERSCORE" = xyes; then
|
||||
if test x"$ac_cv_sys_symbol_underscore" = xyes; then
|
||||
if test x"$ac_cv_func_dlopen" = xyes ||
|
||||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
|
||||
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
|
||||
|
28
libtool.m4
vendored
28
libtool.m4
vendored
@ -563,23 +563,22 @@ fi
|
||||
rm -rf conftest*
|
||||
])
|
||||
AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
|
||||
USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
|
||||
AC_SUBST(USE_SYMBOL_UNDERSCORE)dnl
|
||||
])
|
||||
|
||||
# AC_CHECK_LIBM - check for math library
|
||||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$host" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl)
|
||||
AC_CHECK_LIB(m, cos)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m, cos)
|
||||
AC_CHECK_LIB(m, cos, LIBM="-lm")
|
||||
;;
|
||||
esac
|
||||
])
|
||||
@ -611,15 +610,20 @@ AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [
|
||||
# appropriate in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [
|
||||
AC_CHECK_LIB(ltdl, main, LIBLTDL="-lltdl", [
|
||||
case "$enable_ltdl_install" in
|
||||
no) AC_MSG_WARN([libltdl not installed, but installation disabled]) ;;
|
||||
"") enable_ltdl_install=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install" ;;
|
||||
esac
|
||||
AC_CHECK_LIB(ltdl, main,
|
||||
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||
[if test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
else
|
||||
enable_ltdl_install=yes
|
||||
fi
|
||||
])
|
||||
if test x"$enable_ltdl_install" != x"no"; then
|
||||
if test x"$enable_ltdl_install" = x"yes"; then
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
fi
|
||||
])
|
||||
|
||||
|
@ -251,11 +251,31 @@ done
|
||||
|
||||
if test "x$ltdl_tar" = x"yes"; then
|
||||
if test "x$dry_run" = x"yes"; then
|
||||
echo "(cd $pkgdatadir > /dev/null && tar -cf - libltdl | gzip --best) > libltdl.tar.gz"
|
||||
echo "tar -cf - libltdl | gzip --best > libltdl.tar.gz"
|
||||
elif test -f libltdl.tar.gz && test -z "$force"; then
|
||||
test -z "$automake" && echo "$progname: \`libltdl.tar.gz' exists: use \`--force' to overwrite" 1>&2
|
||||
else
|
||||
(cd $pkgdatadir > /dev/null && tar -cf - libltdl | gzip --best) > libltdl.tar.gz
|
||||
test -d libltdl && ${rm}r libltdl
|
||||
$mkdir libltdl
|
||||
ltdlfiles=`cd $pkgdatadir && ls libltdl/*`
|
||||
for file in $ltdlfiles; do
|
||||
if $cp $pkgdatadir/$file $file; then :
|
||||
else
|
||||
echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2
|
||||
status=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
for file in $files; do
|
||||
if $cp $pkgdatadir/$file libltdl/$file; then :
|
||||
else
|
||||
echo "$progname: cannot copy \`$pkgdatadir/$file' to \`libltdl/$file'" 1>&2
|
||||
status=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
tar -cf - libltdl | gzip --best > libltdl.tar.gz
|
||||
${rm}r libltdl
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -1008,6 +1008,7 @@ hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
hardcode_shlibpath_var=unsupported
|
||||
runpath_var=
|
||||
link_all_deplibs=no
|
||||
always_export_symbols=no
|
||||
export_symbols_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
||||
# include_expsyms should be a list of space-separated symbols to be *always*
|
||||
@ -1318,6 +1319,7 @@ else
|
||||
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_shlibpath_var=no
|
||||
link_all_deplibs=yes
|
||||
;;
|
||||
|
||||
sunos4*)
|
||||
@ -2687,6 +2689,9 @@ hardcode_minus_L=$hardcode_minus_L
|
||||
# the resulting binary.
|
||||
hardcode_shlibpath_var=$hardcode_shlibpath_var
|
||||
|
||||
# Whether libtool must link a program against all its dependency libraries.
|
||||
link_all_deplibs=$link_all_deplibs
|
||||
|
||||
# Compile-time system search path for libraries
|
||||
sys_lib_search_path_spec=$sys_lib_search_path_spec
|
||||
|
||||
|
143
ltmain.in
143
ltmain.in
@ -1574,11 +1574,10 @@ compiler."
|
||||
;;
|
||||
-l*)
|
||||
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
|
||||
libname=`eval \\$echo \"$libname_spec\"`
|
||||
found=no
|
||||
for searchdir in $lib_search_path; do
|
||||
# Search the libtool library
|
||||
lib="$searchdir/$libname.la"
|
||||
lib="$searchdir/lib${name}.la"
|
||||
if test -f "$lib"; then
|
||||
found=yes
|
||||
break
|
||||
@ -1825,21 +1824,15 @@ compiler."
|
||||
fi
|
||||
test "$add_name" = yes && deplibs="$deplibs -l$name"
|
||||
elif test "$build_libtool_libs" = yes && test "$deplibs_check_method" != pass_all; then
|
||||
# We're trying link a shared library against a static one
|
||||
# but the system doesn't support it.
|
||||
# Just print a warning and add the library to dependency_libs so
|
||||
# that the program can be linked against the static library.
|
||||
echo
|
||||
echo "*** Warning: This library needs some functionality provided by $libname."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have."
|
||||
continue
|
||||
else
|
||||
# Check for old archives if we don't build new libraries.
|
||||
if test -n "$pic_flag" && test -z "$old_library"; then
|
||||
$echo "$modename: cannot find static library for \`$lib'" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
convenience="$convenience $dir/$old_library"
|
||||
old_convenience="$old_convenience $dir/$old_library"
|
||||
deplibs="$deplibs $dir/$old_library"
|
||||
fi
|
||||
|
||||
if test -n "$dependency_libs"; then
|
||||
@ -2127,7 +2120,7 @@ EOF
|
||||
;;
|
||||
*)
|
||||
# Add libc to deplibs on all other systems.
|
||||
deplibs="$deplibs -lc"
|
||||
deplibs="-lc $deplibs"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@ -2421,9 +2414,10 @@ EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
# Find libtool libraries and add their dependencies/rpaths
|
||||
# Find libtool libraries and add their dependencies
|
||||
old_deplibs="$deplibs"
|
||||
deplibs=
|
||||
absdeplibs=
|
||||
newdependency_libs=
|
||||
new_lib_search_path=
|
||||
for deplib in $old_deplibs; do
|
||||
@ -2431,16 +2425,16 @@ EOF
|
||||
case "$deplib" in
|
||||
-L*)
|
||||
deplibs="$deplibs $deplib"
|
||||
absdeplibs="$absdeplibs $deplib"
|
||||
new_lib_search_path="$new_lib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
|
||||
continue
|
||||
;;
|
||||
-l*)
|
||||
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
|
||||
libname=`eval \\$echo \"$libname_spec\"`
|
||||
found=no
|
||||
for searchdir in $lib_search_path; do
|
||||
# Search the libtool library
|
||||
lib="$searchdir/$libname.la"
|
||||
lib="$searchdir/lib${name}.la"
|
||||
if test -f "$lib"; then
|
||||
found=yes
|
||||
break
|
||||
@ -2448,6 +2442,7 @@ EOF
|
||||
done
|
||||
if test "$found" != yes; then
|
||||
deplibs="$deplibs $deplib"
|
||||
absdeplibs="$absdeplibs $deplib"
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
@ -2494,22 +2489,64 @@ EOF
|
||||
fi
|
||||
|
||||
new_lib_search_path="$new_lib_search_path `$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`"
|
||||
deplibs="$deplibs $lib"
|
||||
|
||||
|
||||
for deplib in $dependency_libs; do
|
||||
case "$deplib" in
|
||||
-L*) new_lib_search_path="$new_lib_search_path `expr $deplib : '-L\(.*\)'`" ;;
|
||||
*) ;;
|
||||
esac
|
||||
# Make sure dependency_libs contains only unique
|
||||
# libraries and directories.
|
||||
case "$newdependency_libs " in
|
||||
*" $deplib "*) ;;
|
||||
*) newdependency_libs="$newdependency_libs $deplib" ;;
|
||||
-L*)
|
||||
new_lib_search_path="$new_lib_search_path `$echo "X$deplib" | $Xsed -e 's/^-L//'`"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$link_all_deplibs" = yes || \
|
||||
test "$fast_install" = yes || \
|
||||
test "$build_libtool_libs" = no || \
|
||||
test -z "$library_names"; then
|
||||
# Need to link against all dependency_libs
|
||||
case "$absdeplibs " in
|
||||
*" $deplib "*) ;;
|
||||
*)
|
||||
deplibs="$deplibs $deplib"
|
||||
absdeplibs="$absdeplibs $deplib"
|
||||
;;
|
||||
esac
|
||||
elif test "$hardcode_into_libs" = no; then
|
||||
# Need to hardcode shared library paths
|
||||
# or/and link against static libraries
|
||||
case "$newdependency_libs " in
|
||||
*" $deplib "*) ;;
|
||||
*) newdependency_libs="$newdependency_libs $deplib" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
|
||||
test "X$ladir" = "X$lib" && ladir="."
|
||||
# We need an absolute path.
|
||||
case "$ladir" in
|
||||
/* | [A-Za-z]:[/\\]*) ;;
|
||||
*)
|
||||
abs_ladir=`cd "$ladir" && pwd`
|
||||
if test -z "$abs_ladir"; then
|
||||
$echo "$modename: cannot determine absolute directory name of \`$ladir'" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
ladir="$abs_ladir"
|
||||
;;
|
||||
esac
|
||||
laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
|
||||
|
||||
deplibs="$deplibs $lib"
|
||||
absdeplibs="$absdeplibs $ladir/$laname"
|
||||
done
|
||||
|
||||
# Eliminate all dependency_libs that are already contained in deplibs
|
||||
dependency_libs=
|
||||
for deplib in $newdependency_libs; do
|
||||
case "$deplibs " in
|
||||
*" $deplib "*) ;;
|
||||
*) dependency_libs="$dependency_libs $deplib" ;;
|
||||
esac
|
||||
done
|
||||
dependency_libs="$newdependency_libs"
|
||||
|
||||
# Make sure lib_search_path contains only unique directories.
|
||||
lib_search_path=
|
||||
@ -2523,25 +2560,14 @@ EOF
|
||||
|
||||
# Find libtool libraries and add their directories
|
||||
alldeplibs=no
|
||||
linkalldeplibs=no
|
||||
if test "$fast_install" = yes || test "$build_libtool_libs" = no || \
|
||||
test "$deplibs_check_method" = none; then
|
||||
linkalldeplibs=yes
|
||||
fi
|
||||
link_against_libtool_libs=
|
||||
|
||||
for deplib in $deplibs @DEPLIBS@ $dependency_libs; do
|
||||
lib=
|
||||
case "$deplib" in
|
||||
-L*)
|
||||
case "$compile_command " in
|
||||
*" $deplib "*) ;;
|
||||
*) compile_command="$compile_command $deplib";;
|
||||
esac
|
||||
case "$finalize_command " in
|
||||
*" $deplib "*) ;;
|
||||
*) finalize_command="$finalize_command $deplib";;
|
||||
esac
|
||||
compile_command="$compile_command $deplib"
|
||||
finalize_command="$finalize_command $deplib"
|
||||
continue
|
||||
;;
|
||||
-R*)
|
||||
@ -2554,19 +2580,15 @@ EOF
|
||||
continue
|
||||
;;
|
||||
@DEPLIBS@)
|
||||
if test "$hardcode_into_libs" = yes; then
|
||||
break
|
||||
fi
|
||||
alldeplibs=yes
|
||||
continue
|
||||
;;
|
||||
-l*)
|
||||
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
|
||||
libname=`eval \\$echo \"$libname_spec\"`
|
||||
found=no
|
||||
for searchdir in $lib_search_path; do
|
||||
# Search the libtool library
|
||||
lib="$searchdir/$libname.la"
|
||||
lib="$searchdir/lib${name}.la"
|
||||
if test -f "$lib"; then
|
||||
found=yes
|
||||
break
|
||||
@ -2652,7 +2674,22 @@ EOF
|
||||
fi
|
||||
name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
|
||||
|
||||
if test "$build_libtool_libs" = yes && test -n "$library_names"; then
|
||||
if test -z "$libdir"; then
|
||||
# It is a libtool convenience library, so add in its objects.
|
||||
convenience="$convenience $dir/$old_library"
|
||||
old_convenience="$old_convenience $dir/$old_library"
|
||||
compile_command="$compile_command $dir/$old_library"
|
||||
finalize_command="$finalize_command $dir/$old_library"
|
||||
continue
|
||||
fi
|
||||
|
||||
hardcode=yes
|
||||
test "$hardcode_into_libs" = yes && test "$alldeplibs" = yes && hardcode=no
|
||||
|
||||
if test "$hardcode" = yes && \
|
||||
test "$build_libtool_libs" = yes && \
|
||||
test -n "$library_names"; then
|
||||
# We need to hardcode the library path
|
||||
if test -n "$shlibpath_var"; then
|
||||
# Make sure the rpath contains only unique directories.
|
||||
case "$temp_rpath " in
|
||||
@ -2686,19 +2723,13 @@ EOF
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "$alldeplibs" = yes && test "$linkalldeplibs" = no; then
|
||||
if test "$alldeplibs" = yes && \
|
||||
test "$build_libtool_libs" = yes && \
|
||||
test -n "$library_names"; then
|
||||
# Do we only need to link against static libraries?
|
||||
continue
|
||||
fi
|
||||
|
||||
if test -z "$libdir"; then
|
||||
# It is a libtool convenience library, so add in its objects.
|
||||
convenience="$convenience $dir/$old_library"
|
||||
old_convenience="$old_convenience $dir/$old_library"
|
||||
compile_command="$compile_command $dir/$old_library"
|
||||
finalize_command="$finalize_command $dir/$old_library"
|
||||
continue
|
||||
fi
|
||||
|
||||
if test "$build_libtool_libs" = yes && test -n "$library_names"; then
|
||||
link_against_libtool_libs="$link_against_libtool_libs $lib"
|
||||
|
||||
|
@ -9,9 +9,11 @@ EXTRA_DIST = acinclude.m4
|
||||
lib_LTLIBRARIES = foo1.la libfoo2.la
|
||||
|
||||
foo1_la_SOURCES = foo1.c
|
||||
foo1_la_LIBADD = $(LIBM)
|
||||
foo1_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
libfoo2_la_SOURCES = foo2.c
|
||||
libfoo2_la_LIBADD = $(LIBM)
|
||||
libfoo2_la_LDFLAGS = -module
|
||||
|
||||
noinst_HEADERS = foo.h
|
||||
|
@ -27,6 +27,7 @@ AC_SUBST(STATIC)
|
||||
AC_CHECK_HEADERS(math.h)
|
||||
|
||||
AC_CHECK_LIBM
|
||||
AC_SUBST(LIBM)
|
||||
|
||||
dnl Output the makefile
|
||||
AC_OUTPUT(Makefile)
|
||||
|
Loading…
Reference in New Issue
Block a user