From: Thomas Tanner Date: Tue, 2 Nov 1999 12:33:05 +0000 (+0000) Subject: * NEWS: updated X-Git-Tag: multi-language-fork~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=974da4c714b1f2a17dadf29c8d831e51b8bcb7f2;p=thirdparty%2Flibtool.git * NEWS: updated * THANKS: added Olly Betts and Pavel Roskin * doc/libtool.texi: fix typo * fix major bugs which rendered libtool virtually unusable (i.e. not portable): * ltconfig.in: don't hardcode system dependent variables in ltconfig!! but set sane defaults * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG * ltconfig.in: use old_deplibs for archives, too remove second occurence of sysv5 * ltmain.in: fix typo, fix the second occurence of -DPIC, too * libltdl/Makefile.am: increment version number, fix typo * libltdl/ltdl.c (lt_dlsym): don't report an error if the libltdl-style symbol name wasn't found * ltconfig.in: add support for Unixware (sysv4.2uw2*) --- diff --git a/ChangeLog b/ChangeLog index 59e5e4a86..127284ff4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +1999-11-02 Thomas Tanner + + * NEWS: updated + * THANKS: added Olly Betts and Pavel Roskin + * doc/libtool.texi: fix typo + + * fix major bugs which rendered libtool virtually + unusable (i.e. not portable): + * ltconfig.in: don't hardcode system dependent variables in ltconfig!! + but set sane defaults + * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig + * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG + + * ltconfig.in: use old_deplibs for archives, too + remove second occurence of sysv5 + * ltmain.in: fix typo, fix the second occurence of -DPIC, too + + * libltdl/Makefile.am: increment version number, fix typo + * libltdl/ltdl.c (lt_dlsym): don't report an error if the + libltdl-style symbol name wasn't found + +1999-11-02 Wolfgang Rapp + + * ltconfig.in: add support for Unixware (sysv4.2uw2*) + 1999-10-29 Gary V. Vaughan * ltmain.in: Damnit! Cygwin cvs committed all the diff --git a/Makefile.am b/Makefile.am index bc1847f99..2b590e103 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,19 +29,23 @@ aclocal_DATA = $(aclocal_macros) bin_SCRIPTS = libtool libtoolize libtool: $(srcdir)/ltmain.sh $(srcdir)/ltconfig - CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ - LD="$(LD)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" \ - LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ - DLLTOOL="$(DLLTOOL)" OBJDUMP="$(OBJDUMP)" AS="$(AS)" \ + AR="$(AR)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + FILE="$(FILE)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" \ + LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" STRIP="$(STRIP)" \ + AS="$(AS)" DLLTOOL="$(DLLTOOL)" OBJDUMP="$(OBJDUMP)" \ + objext="$(OBJEXT)" exeext="$(EXEEXT)" reload_flag="$(reload_flag)" \ + deplibs_check_method="$(deplibs_check_method)" file_magic_cmd="$(file_magic_cmd)" \ $(SHELL) $(srcdir)/ltconfig $(LIBTOOL_FLAGS) --srcdir=$(srcdir) \ --output=$@ $(srcdir)/ltmain.sh # Experimental C version of libtool. clibtool: $(srcdir)/ltmain.c $(srcdir)/ltconfig - CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ - LD="$(LD)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" \ - LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ - DLLTOOL="$(DLLTOOL)" OBJDUMP="$(OBJDUMP)" AS="$(AS)" \ + AR="$(AR)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + FILE="$(FILE)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" \ + LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" STRIP="$(STRIP)" \ + AS="$(AS)" DLLTOOL="$(DLLTOOL)" OBJDUMP="$(OBJDUMP)" \ + objext="$(objext)" exeext="$(exeext)" reload_flag="$(reload_flag)" \ + deplibs_check_method="$(deplibs_check_method)" file_magic_cmd="$(file_magic_cmd)" \ $(SHELL) $(srcdir)/ltconfig $(LIBTOOL_FLAGS) --srcdir=$(srcdir) \ --output=$@ $(srcdir)/ltmain.c diff --git a/NEWS b/NEWS index 97a258bd7..af5462212 100644 --- a/NEWS +++ b/NEWS @@ -1,15 +1,19 @@ NEWS - list of user-visible changes between releases of GNU Libtool New in 1.3d: 1999-??-??; CVS version 1.3c, Libtool team: -* Support for Compaq Tru64 V5.0. * Start of support code for cross-compiling to win32. -* Improved support for mingw32, NetBSD, FreeBSD and Unixware. +* Improved support for mingw32. * New "-no-install" flag to avoid the use of executable wrapper scripts. * New --with-pic flag to control the generation of PIC/non-PIC code. * New --build flag to ltconfig to help with build cross compilation environments is inherited from --build flag passed to configure. * Various bugfixes +New in 1.3.4: 1999-??-??, CVS version 1.3.3a, Libtool team: +* Support for Compaq Tru64 V5.0. +* Improved support for NetBSD, FreeBSD and Unixware. +* Many fine bugfixes. + New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team: * Complete inter-library dependencies support. It's now possible to link libtool libraries against other libtool libraries. diff --git a/THANKS b/THANKS index a3e0b0ea2..885e666cf 100644 --- a/THANKS +++ b/THANKS @@ -29,6 +29,8 @@ Manfred Weichel Marc J. Fraioli Mark Kettenis Ossama Othman +Olly Betts +Pavel Roskin Sebastian Wilhelmi Stephan Kulow Steven M. Schultz diff --git a/doc/libtool.texi b/doc/libtool.texi index 6478a4ecc..faa635c0b 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1258,7 +1258,7 @@ installed. @item -no-install Link an executable @var{output-file} (@pxref{Invoking ltconfig}) that -can't be installed and therefore doesn't need an wrapper script. +can't be installed and therefore doesn't need a wrapper script. Useful if the program is only used in the build tree, e.g., for testing or generating other files. diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am index 23f1c0add..a1df9fc37 100644 --- a/libltdl/Makefile.am +++ b/libltdl/Makefile.am @@ -14,7 +14,7 @@ noinst_LTLIBRARIES = libltdlc.la endif libltdl_la_SOURCES = ltdl.c -libltdl_la_LDFLAGS = -version-info 1:1:1 +libltdl_la_LDFLAGS = -version-info 1:2:1 libltdl_la_LIBADD = $(LIBADD_DL) libltdlc_la_SOURCES = ltdl.c @@ -29,7 +29,7 @@ libtool: $(LIBTOOL_DEPS) ## This allows us to install libltdl without using ln and without creating ## a world writeable directory. -## FIXME: Removed this rule once automake can do this properly by itself. +## FIXME: Remove this rule once automake can do this properly by itself. local-install-files: $(DISTFILES) -rm -rf $(DESTDIR)$(datadir)/libtool/libltdl $(mkinstalldirs) $(DESTDIR)$(datadir)/libtool/libltdl diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c index 831ec93f1..4d75e02e5 100644 --- a/libltdl/ltdl.c +++ b/libltdl/ltdl.c @@ -1530,6 +1530,8 @@ lt_dlsym (handle, symbol) return 0; } if (handle->name) { + const char *saved_error = last_error; + /* this is a libtool module */ if (handle->type->sym_prefix) { strcpy(sym, handle->type->sym_prefix); @@ -1545,6 +1547,7 @@ lt_dlsym (handle, symbol) lt_dlfree(sym); return address; } + last_error = saved_error; } /* otherwise try "symbol" */ if (handle->type->sym_prefix) { diff --git a/libtool.m4 b/libtool.m4 index 498948c7c..0bf8031e3 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -29,10 +29,12 @@ AC_DEFUN(AC_PROG_LIBTOOL, AC_CACHE_SAVE # Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ -DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +AR="$AR" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +FILE="$FILE" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ +AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ +objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ +deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ || AC_MSG_ERROR([libtool configure failed]) @@ -451,7 +453,7 @@ AC_SUBST(with_gnu_ld) AC_DEFUN(AC_PROG_LD_RELOAD_FLAG, [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, [lt_cv_ld_reload_flag='-r']) -reload_flag=$ac_cv_ld_reload_flag +reload_flag=$lt_cv_ld_reload_flag test -n "$reload_flag" && reload_flag=" $reload_flag" AC_SUBST(reload_flag) ]) diff --git a/ltconfig.in b/ltconfig.in index b1eb47ebd..a9c23750c 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -202,9 +202,7 @@ with_gcc=no with_gnu_ld=no need_locks=yes ac_ext=c -objext=o libext=a -exeext= cache_file= old_AR="$AR" @@ -507,32 +505,23 @@ aix3*) esac # Determine commands to create old-style static archives. -old_archive_cmds='$AR cru $oldlib$oldobjs' +old_archive_cmds='$AR cru $oldlib$oldobjs$old_deplibs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= -# Set sane defaults for various commands -# -- these are usually overridden from the command line by make +# Set sane defaults for various variables test -z "$AR" && AR=ar -test -z "$AS" && AS=@AS@ -test -z "$DLLTOOL" && DLLTOOL=@DLLTOOL@ -test -z "$LN_S" && LN_S=@LN_S@ -test -z "$NM" && NM=@NM@ -test -z "$OBJDUMP" && OBJDUMP=@OBJDUMP@ -test -z "$RANLIB" && RANLIB=@RANLIB@ - -# Commands probed in libtool.m4 -# -- let the user override the result from configure -test -z "$CC" && CC=@CC@ -test -z "$FILE" && FILE=@FILE@ -test -z "$LD" && LD=@LD@ -test -z "$STRIP" && STRIP=@STRIP@ - -# Other config vars probed in libtool.m4 -test -z "$with_gcc" && with_gcc=@with_gcc@ -test -z "$with_gnu_ld" && with_gnu_ld=@with_gnu_ld@ -objext=@OBJEXT@ -exeext=@EXEEXT@ +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$FILE" && FILE=file +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$NM" && NM=nm +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$objext" && objext=o echo $ac_n "checking for objdir... $ac_c" 1>&6 rm -f .libs 2>/dev/null @@ -1209,7 +1198,7 @@ else # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs' + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w $srcfile`' ;; @@ -1376,17 +1365,25 @@ else ;; sysv4*MP*) - if test -d /usr/nec ;then - # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' - archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4.2uw2*) + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=no hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH hardcode_runpath_var=yes - ld_shlibs=yes - fi + runpath_var=LD_RUN_PATH ;; - unixware7* | sysv5*) + unixware7*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no @@ -1435,11 +1432,8 @@ else echo "${ac_t}no" 1>&6 fi -reload_flag=@reload_flag@ reload_cmds='$LD$reload_flag -o $output$reload_objs' - -file_magic_cmd="@file_magic_cmd@" -deplibs_check_method="@deplibs_check_method@" +test -z "$deplibs_check_method" && deplibs_check_method=unknown # PORTME Fill in your ld.so characteristics library_names_spec= diff --git a/ltmain.in b/ltmain.in index f210640eb..eee0954f3 100644 --- a/ltmain.in +++ b/ltmain.in @@ -557,7 +557,7 @@ compiler." command="$base_compile $srcfile" else # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile $pic_flag -DPIC $srcfile" + command="$base_compile $srcfile $pic_flag -DPIC" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" @@ -1322,7 +1322,7 @@ compiler." done fi - case $linkmode in + case "$linkmode" in oldlib) if test -n "$deplibs"; then $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 @@ -2287,7 +2287,7 @@ EOF done # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) incase we are running --disable-static + # (e.g. aix) in case we are running --disable-static for obj in $libobjs; do xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then