From: Thomas Tanner Date: Wed, 23 Jun 1999 15:13:16 +0000 (+0000) Subject: * NEWS: updated X-Git-Tag: release-1-3-3~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8302eb52f25db4f2baf9c790b825c1f845bb2eee;p=thirdparty%2Flibtool.git * NEWS: updated * README: added GNU Hurd to the supported platforms * doc/libtool.texi: document `-dlpreopen dummy' * libltdl/ltdl.c (strchr): fixed typo (missing star) * libltdl/ltdl.c (strrchr): fixed typo (missing star) * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive regex (reported by Chris P. Ross ) * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols if dlself != no * doc/libtool.texi: libtool does also support non C source code * ltconfig.in: CR/LF fix for broken DJGPP bash * ltmain.in: CR/LF fix for DJGPP --- diff --git a/ChangeLog b/ChangeLog index 397f747b0..cf023c7e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +1999-06-23 Thomas Tanner + + * NEWS: updated + * README: added GNU Hurd to the supported platforms + * doc/libtool.texi: document `-dlpreopen dummy' + * libltdl/ltdl.c (strchr): fixed typo (missing star) + +1999-06-23 Stephan Kulow + + * libltdl/ltdl.c (strrchr): fixed typo (missing star) + * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings + +1999-06-18 Thomas Tanner + + * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive + regex (reported by Chris P. Ross ) + * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols + if dlself != no + * doc/libtool.texi: libtool does also support non C source code + +1999-06-18 Teun Burgers + + * ltconfig.in: CR/LF fix for broken DJGPP bash + * ltmain.in: CR/LF fix for DJGPP + 1999-06-23 Olly Betts * ltmain.in (ltdll.c): Support for crosscompiling from linux to diff --git a/NEWS b/NEWS index 5f977b52c..7e20fc03b 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,15 @@ NEWS - list of user-visible changes between releases of GNU Libtool -New in CVS version 1.3.2a, Libtool team: +New in 1.3.3: 1999-06-2?, CVS version 1.3.2a, Libtool team: +* New `-dlpreopen dummy' flag to ensure that + lt_preloaded_symbols is always defined. * Work around self-dlclose bug in FreeBSD 3.1. * Expand convenience libraries when creating reloadable objects. +* Do not forget to import -L flags of convenience libraries. * Do not pass -whole-archive or equivalent to symbol extractor. * Create directory to expand convenience libraries only when needed. +* Improved support for Cygwin, DJGPP and NetBSD +* Various bugfixes New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team: * Avoid circular links of objects and libraries. diff --git a/README b/README index 89d41bf99..27fde37a4 100644 --- a/README +++ b/README @@ -15,6 +15,7 @@ Shared library support has been implemented for these platforms: Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*) DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*) FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*) + GNU Hurd (*-*-gnu*) GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld) HP-UX 9.x, 10.x, 11.x (*-*-hpux9*, *-*-hpux10*, *-*-hpux11*) [see note] IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*) diff --git a/doc/libtool.texi b/doc/libtool.texi index 73e6a1f9c..dc0901142 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1132,8 +1132,9 @@ the name of the C compiler, and contain the @samp{-c} compiler flag so that only an object file is created. Libtool determines the name of the output file by removing the directory -component from the source file name, then substituting the C source code -suffix @samp{.c} with the library object suffix, @samp{.lo}. +component from the source file name, then substituting the source code +suffix (e.g. @samp{.c} for C soure code) with the library object suffix, +@samp{.lo}. If shared libraries are being built, any necessary PIC generation flags are substituted into the compilation command. @@ -1203,6 +1204,9 @@ Link @var{file} into the output program, and add its symbols to @var{lt_preloaded_symbols} (@pxref{Dlpreopening}). If @var{file} is @code{self}, the symbols of the program itself will be added to @var{lt_preloaded_symbols}. +If @var{file} is @code{dummy} libtool will make sure that +@var{lt_preloaded_symbols} is always @emph{defined}, regardless of whether +it's empty or not. @item -export-dynamic Allow symbols from @var{output-file} to be resolved with @code{dlsym} diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c index 119dcd71c..7a5af2ab1 100644 --- a/libltdl/ltdl.c +++ b/libltdl/ltdl.c @@ -165,7 +165,7 @@ strchr(str, ch) { const char *p; - for (p = str; *p != (char)ch && p != '\0'; p++) + for (p = str; *p != (char)ch && *p != '\0'; p++) /*NOWORK*/; return (*p == (char)ch) ? p : 0; @@ -192,7 +192,7 @@ strrchr(str, ch) { const char *p; - for (p = str; p != '\0'; p++) + for (p = str; *p != '\0'; p++) /*NOWORK*/; while (*p != (char)ch && p >= str) @@ -1135,7 +1135,7 @@ trim (dest, str) /* remove the leading and trailing "'" from str and store the result in dest */ char *tmp; - char *end = strrchr(str, '\''); + const char *end = strrchr(str, '\''); int len = strlen(str); if (*dest) diff --git a/ltconfig.in b/ltconfig.in index 1be753d18..a19c7c90a 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -1791,7 +1791,7 @@ bsdi4*) soname_spec='${libname}.so' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH - deplibs_check_method='file_magic ELF 32-bit LSB shared object' + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' file_magic_cmd=/usr/bin/file file_magic_test_file=/shlib/libc.so sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -2939,7 +2939,7 @@ EOF esac # Append the ltmain.sh script. - cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) + sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) chmod +x "$ofile" ;; diff --git a/ltmain.in b/ltmain.in index 59cf2eb44..e855847f5 100644 --- a/ltmain.in +++ b/ltmain.in @@ -69,7 +69,7 @@ rm="rm -f" Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' SP2NL='tr \040 \012' -NL2SP='tr \012 \040' +NL2SP='tr \015\012 \040\040' # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -901,6 +901,14 @@ compiler." fi case "$arg" in *.la | *.lo) ;; # We handle these cases below. + dummy) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; self) if test "$prev" = dlprefiles; then dlself=yes @@ -2444,7 +2452,7 @@ EOF fi dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" = yes; then + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then dlsyms="${outputname}S.c" else