]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
*** empty log message ***
authorGordon Matzigkeit <gord@profitpress.com>
Fri, 20 Mar 1998 07:58:42 +0000 (07:58 +0000)
committerGordon Matzigkeit <gord@gnu.org>
Fri, 20 Mar 1998 07:58:42 +0000 (07:58 +0000)
ChangeLog
Makefile.am
NEWS
README
TODO
doc/PLATFORMS
doc/libtool.texi
ltconfig.in
ltmain.in

index 7d4fd5d3220fd8e50670615a95037ac0889bf670..5a0c1178a1c33e9d112e1164741affeb7559a187 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+1998-03-20  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * Release 1.2.
+
+1998-03-18  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * ltmain.in: Rearrange some of the echos to make them more
+       consistent.
+
+1998-03-14  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * ltmain.in: Break up an echo command that causes Solaris printf
+       to dump core.  Apparently the Solaris people hardcoded a 2110-byte
+       buffer into their printf(1).  Feh.  From John Judge.
+
+1998-03-11  Gordon Matzigkeit  <gord@profitpress.com>
+
+       * ltconfig.in: Change the test for the PIC compiler flag so that
+       we assume it doesn't work if there are any warning messages.  This
+       fixes a bug using old GCC's on HP-UX.  Reported by Akim Demaille.
+
+1998-03-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+        * Makefile.am ($(srcdir)/ltconfig): Remove bogus command to create
+        a file ltconfig in the build directory.
+
+1998-03-09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+        * ltmain.in: Avoid unnecessary use of command substitution,
+       replacing foo=`eval \\$echo \"$mumble\"` by eval foo=\"$mumble\".
+
+       (link): Use ${1+"$@"} in wrapper scripts in order to pass
+       arguments safely to a program.
+
+        * ltconfig.in: Use -fpic instead of -fPIC if $host_cpu matches
+        m68*.
+
 1998-03-08  Gordon Matzigkeit  <gord@profitpress.com>
 
        * Release 1.1.
index 4d25b978211be35c790d16b93232efe29957ff10..6fa4547ce50032e4d1a8604fe2414e303f66085e 100644 (file)
@@ -43,7 +43,6 @@ libtoolize: libtoolize.in $(top_builddir)/config.status
 # Do line number substitution, as well as PACKAGE and VERSION.
 # Line numbering transliterated from a section in autoconf (Autoconf 2.12).
 $(srcdir)/ltconfig: ltconfig.in $(top_srcdir)/configure.in
-       CONFIG_FILES=ltconfig CONFIG_HEADERS= $(top_builddir)/config.status
        $(AWK) '/@LINENO@/ { printf "%d:", NR } { print }' $(srcdir)/ltconfig.in | \
          sed -e 's/@''PACKAGE@/@PACKAGE@/' -e 's/@''VERSION@/@VERSION@/' \
              -e '/@LINENO@/s/^\([0-9][0-9]*\):\(.*\)@LINENO@/\2\1/' > ltconfig.T
diff --git a/NEWS b/NEWS
index 59a8e6a4e0c52cdd3143427e2d1c0a47a60fe9e2..7e588851bd047c945bddd0b04e77abfee5540891 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
 NEWS - list of user-visible changes between releases of GNU Libtool
 
+New in 1.2 - 1998-03-20, Gordon Matzigkeit:
+* Minor bug fixes to provide a stable public release.
+* Libtool no longer causes Solaris printf to barf due to silly
+  2110-byte static buffers.
+
 New in 1.1 - 1998-03-08, Gordon Matzigkeit:
 * Bug fixes.
 * http://www.profitpress.com/libtool/ is libtool's homepage.
diff --git a/README b/README
index db14bcc9b2dec85476f3cb803da1b2f5b62d5b02..715639f131f3a1fd59a5c710b3a9d4fc954f430a 100644 (file)
--- a/README
+++ b/README
@@ -14,9 +14,9 @@ Shared library support has been implemented for these platforms:
   AmigaOS (*-*-amigaos*)
   Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*)
   FreeBSD 2.x, 3.x (*-*-freebsd2*, *-*-freebsd3*)
+  GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld)
   HP-UX 9.x, 10.x (*-*-hpux9*, *-*-hpux10*) [see note]
   IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*)
-  Linux ELF (*-*-linux*, except aout, coff, and oldld)
   NetBSD 1.x (*-*-netbsd*)
   OpenBSD 2.x (*-*-openbsd*)
   OS/2 using EMX (*-*-os2*)
diff --git a/TODO b/TODO
index 5b8ceefebe4b30657b7673ae8352b02e7ebde007..7f00062dd8447a031cd1e1c0fdc137d787957645 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,9 @@
 For next public release:
 ************************
 
+* Remove references to `ltmain.sh' in generated files, because it's
+name really is an internal implementation detail.
+
 * Inter-library dependencies should be fully tracked by libtool.
 Reminded by Alexandre Oliva.  This requires looking up installed
 libtool libraries for transparent support.
index 6f5ce4f7d21afabd77aac41662cd681ec228654e..42b0b67172831a5db683921aec75babc84c311eb 100644 (file)
@@ -6,7 +6,7 @@ alpha-dec-osf3.2             cc        0.8       ok
 alpha-dec-osf3.2             gcc       0.8       ok
 alpha-dec-osf4.0             cc        1.0f      ok
 alpha-dec-osf4.0             gcc       1.0f      ok
-alpha-unknown-linux          gcc       0.9h      ok
+alpha-unknown-linux-gnu      gcc       0.9h      ok
 hppa1.1-hp-hpux9.07          cc        1.0f      ok
 hppa1.1-hp-hpux9.07          gcc       1.0f      ok
 hppa1.1-hp-hpux10.10         cc        0.9h      ok
@@ -28,7 +28,7 @@ powerpc-ibm-aix4.1.4.0       xlc       1.0i      ok
 powerpc-ibm-aix4.1.4.0       gcc       1.0       ok
 rs6000-ibm-aix3.2.5          xlc       1.0i      ok
 rs6000-ibm-aix3.2.5          gcc       1.0i      ok*
-sparc-sun-linux2.1.23        gcc       0.9h      ok
+sparc-sun-linux-gnu2.1.23    gcc       0.9h      ok
 sparc-sun-sunos4.1.3         gcc       1.0i      ok
 sparc-sun-sunos4.1.4         cc        1.0f      ok
 sparc-sun-sunos4.1.4         gcc       1.0f      ok
index ce738f77009a80a591035aabc8be9ad60f2eb831..c5102a4f1c36a36cf8e352021e551a9e2dc2b175 100644 (file)
@@ -1756,9 +1756,9 @@ Think of a library as exporting several sets of interfaces, arbitrarily
 represented by integers.  When a program is linked against a library, it
 may use any subset of those interfaces.
 
-Libtool's description of the interfaces that a program uses is very
-simple: it encodes the least and the greatest interface numbers in the
-resulting binary (@var{first-interface}, @var{last-interface}).
+Libtool's description of the interfaces that a program uses is simple:
+it encodes the least and the greatest interface numbers in the resulting
+binary (@var{first-interface}, @var{last-interface}).
 
 The dynamic linker is guaranteed that if a library supports @emph{every}
 interface number between @var{first-interface} and @var{last-interface},
@@ -2382,10 +2382,10 @@ your library.  GCC 2.7 and later versions work around this problem, but
 previous versions and other compilers do not.
 @end enumerate
 
-This second issue is very complex.  Basically, you should avoid any
-global or static variable initializations that would cause an
-``initializer element is not constant'' error if you compiled them with
-a standard C compiler.
+This second issue is complex.  Basically, you should avoid any global or
+static variable initializations that would cause an ``initializer
+element is not constant'' error if you compiled them with a standard C
+compiler.
 
 There are other ways of working around this problem, but they are beyond
 the scope of this manual.
@@ -2599,11 +2599,11 @@ This section is dedicated to the sanity of the libtool maintainer.  It
 describes the programs that libtool uses, how they vary from system to
 system, and how to test for them.
 
-Because libtool is a shell script, it is @emph{very} difficult to
-understand just by reading it from top to bottom.  This section helps
-show why libtool does things a certain way.  After reading it, then
-reading the scripts themselves, you should have a better sense of how to
-improve libtool, or write your own.
+Because libtool is a shell script, it is difficult to understand just by
+reading it from top to bottom.  This section helps show why libtool does
+things a certain way.  After reading it, then reading the scripts
+themselves, you should have a better sense of how to improve libtool, or
+write your own.
 
 @menu
 * References::                  Finding more information.
index acdef726cfea50136d93130f09466e0f9dbd8cbb..53306caf7b48ff4c319f70d4a6289698ba94b847 100755 (executable)
@@ -546,12 +546,13 @@ if test -n "$pic_flag"; then
   CFLAGS="$CFLAGS $pic_flag -DPIC"
   echo "$progname:@LINENO@: checking if $compiler PIC flag $pic_flag works" >&5
   if { (eval echo $progname:@LINENO@: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
-    # Append any errors to the config.log.
+    # Append any warnings to the config.log.
     cat conftest.err 1>&5
 
-    # On HP-UX, the stripped-down bundled CC does not accept +Z, but also
-    # reports no error.  So, we need to grep stderr for (Bundled).
-    if grep '(Bundled)' conftest.err >/dev/null; then
+    # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+    # create non-PIC objects.  So, if there were any warnings, we assume that
+    # PIC is not supported.
+    if test -s conftest.err; then
       echo "$ac_t"no 1>&6
       can_build_shared=no
       pic_flag=
index 9224d1c5bad41dd32777b4f5830560e2ec306ff4..53086e7fd32fd8a301ed6f508959d628c6f0c131 100644 (file)
--- a/ltmain.in
+++ b/ltmain.in
@@ -481,7 +481,7 @@ if test -z "$show_help"; then
         if test "$export_dynamic" != yes; then
           export_dynamic=yes
          if test -n "$export_dynamic_flag_spec"; then
-           arg=`eval \\$echo "$export_dynamic_flag_spec"`
+           eval arg=\"$export_dynamic_flag_spec\"
          else
            arg=
          fi
@@ -682,7 +682,7 @@ if test -z "$show_help"; then
             fi
 
             if test -n "$libdir"; then
-              flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
+              eval flag=\"$hardcode_libdir_flag_spec\"
 
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
@@ -843,7 +843,7 @@ if test -z "$show_help"; then
       esac
 
       name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-      libname=`eval \\$echo \"$libname_spec\"`
+      eval libname=\"$libname_spec\"
 
       # All the library-specific variables (install_libdir is set above).
       library_names=
@@ -1006,13 +1006,13 @@ if test -z "$show_help"; then
 
       if test "$build_libtool_libs" = yes; then
         # Get the real and link names of the library.
-        library_names=`eval \\$echo \"$library_names_spec\"`
+        eval library_names=\"$library_names_spec\"
         set dummy $library_names
         realname="$2"
         shift; shift
 
         if test -n "$soname_spec"; then
-          soname=`eval \\$echo \"$soname_spec\"`
+          eval soname=\"$soname_spec\"
         else
           soname="$realname"
         fi
@@ -1027,7 +1027,7 @@ if test -z "$show_help"; then
         test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
 
         # Do each of the archive commands.
-        cmds=`eval \\$echo \"$archive_cmds\"`
+        eval cmds=\"$archive_cmds\"
         IFS="${IFS=    }"; save_ifs="$IFS"; IFS=';'
         for cmd in $cmds; do
           IFS="$save_ifs"
@@ -1104,7 +1104,7 @@ if test -z "$show_help"; then
       reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       output="$obj"
-      cmds=`eval \\$echo \"$reload_cmds\"`
+      eval cmds=\"$reload_cmds\"
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
@@ -1128,7 +1128,7 @@ if test -z "$show_help"; then
         # Only do commands if we really have different PIC objects.
         reload_objs="$libobjs"
         output="$libobj"
-        cmds=`eval \\$echo \"$reload_cmds\"`
+        eval cmds=\"$reload_cmds\"
         IFS="${IFS=    }"; save_ifs="$IFS"; IFS=';'
         for cmd in $cmds; do
           IFS="$save_ifs"
@@ -1177,7 +1177,7 @@ if test -z "$show_help"; then
             fi
 
             if test -n "$libdir"; then
-              flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
+              eval flag=\"$hardcode_libdir_flag_spec\"
 
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
@@ -1254,8 +1254,8 @@ if test -z "$show_help"; then
          case "$dlsyms" in
          "") ;;
          *.c)
-           $echo > "$objdir/$dlsyms" \
-"/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
+           $echo > "$objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
 
 #ifdef __cplusplus
@@ -1266,17 +1266,17 @@ extern \"C\" {
 #define dld_preloaded_symbol_count some_other_symbol
 #define dld_preloaded_symbols some_other_symbol
 
-/* External symbol declarations for the compiler. */"
+/* External symbol declarations for the compiler. */\
+"
 
            if test -f "$nlist"; then
              sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
            else
              echo '/* NONE */' >> "$objdir/$dlsyms"
-EOF
            fi
 
-           $echo >> "$objdir/$dlsyms" \
-"
+           $echo >> "$objdir/$dlsyms" "\
+
 #undef dld_preloaded_symbol_count
 #undef dld_preloaded_symbols
 
@@ -1295,19 +1295,21 @@ struct {
   __ptr_t address;
 }
 dld_preloaded_symbols[] =
-{"
+{\
+"
 
            if test -f "$nlist"; then
              sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
            fi
 
-           $echo >> "$objdir/$dlsyms" \
-"  {0, (__ptr_t) 0}
+           $echo >> "$objdir/$dlsyms" "\
+  {0, (__ptr_t) 0}
 };
 
 #ifdef __cplusplus
 }
-#endif"
+#endif\
+"
            ;;
 
          *)
@@ -1427,8 +1429,8 @@ dld_preloaded_symbols[] =
         $rm $output
         trap "$rm $output; exit 1" 1 2 15
 
-        $echo > $output \
-"#! /bin/sh
+        $echo > $output "\
+#! /bin/sh
 
 # $output - temporary wrapper script for $objdir/$output
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
@@ -1459,7 +1461,9 @@ else
   else
     echo=\"$qecho\"
     file=\"\$0\"
-  fi
+  fi\
+"
+        $echo >> $output "\
 
   # Find the directory that this script lives in.
   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
@@ -1493,8 +1497,8 @@ else
 
         # Export our shlibpath_var if we have one.
         if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-          $echo >> $output \
-"    # Add our own library path to $shlibpath_var
+          $echo >> $output "\
+    # Add our own library path to $shlibpath_var
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
@@ -1504,24 +1508,17 @@ else
 "
         fi
 
-        echo >> $output \
-"    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+        $echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
-      args=
-      for arg
-      do
-        # Quote arguments (to preserve shell metacharacters).
-       arg=\`\$echo \"X\$arg\" | \$Xsed -e \"\$sed_quote_subst\"\`
-        args=\"\$args \\\"\$arg\\\"\"
-      done
 
       # Export the path to the program.
       PATH=\"\$progdir:\$PATH\"
       export PATH
 
-      eval \"exec \$program \$args\"
+      exec \$program \${1+\"\$@\"}
 
-      \$echo \"\$0: cannot exec \$program \$args\"
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
       exit 1
     fi
   else
@@ -1531,7 +1528,8 @@ else
     echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
-fi"
+fi\
+"
         chmod +x $output
       fi
       exit 0
@@ -1545,9 +1543,9 @@ fi"
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=`eval \\$echo \"$old_archive_from_new_cmds\"`
+       eval cmds=\"$old_archive_from_new_cmds\"
       else
-       cmds=`eval \\$echo \"$old_archive_cmds\"`
+       eval cmds=\"$old_archive_cmds\"
       fi
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
@@ -1568,8 +1566,8 @@ fi"
 
       # Only create the output if not a dry run.
       if test -z "$run"; then
-        echo > $output \
-"# $output - a libtool library file
+        $echo > $output "\
+# $output - a libtool library file
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
 
 # The name that we can dlopen(3).
@@ -1590,7 +1588,8 @@ age=$age
 revision=$revision
 
 # Directory that this library needs to be installed in:
-libdir='$install_libdir'"
+libdir='$install_libdir'\
+"
       fi
 
       # Do a symbolic link so that the libtool archive can be found in
@@ -1832,7 +1831,7 @@ libdir='$install_libdir'"
 
           # Do each command in the postinstall commands.
           lib="$destdir/$realname"
-          cmds=`eval \\$echo \"$postinstall_cmds\"`
+          eval cmds=\"$postinstall_cmds\"
           IFS="${IFS=  }"; save_ifs="$IFS"; IFS=';'
           for cmd in $cmds; do
             IFS="$save_ifs"
@@ -1969,7 +1968,7 @@ libdir='$install_libdir'"
       $run eval "$install_prog \$file \$oldlib" || exit $?
 
       # Do each command in the postinstall commands.
-      cmds=`eval \\$echo \"$old_postinstall_cmds\"`
+      eval cmds=\"$old_postinstall_cmds\"
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
@@ -2007,7 +2006,7 @@ libdir='$install_libdir'"
       for libdir in $libdirs; do
        if test -n "$finish_cmds"; then
          # Do each command in the finish commands.
-         cmds=`eval \\$echo \"$finish_cmds\"`
+         eval cmds=\"$finish_cmds\"
           IFS="${IFS=  }"; save_ifs="$IFS"; IFS=';'
           for cmd in $cmds; do
             IFS="$save_ifs"
@@ -2018,7 +2017,7 @@ libdir='$install_libdir'"
        fi
        if test -n "$finish_eval"; then
          # Do the single finish_eval.
-         cmds=`eval \\$echo \"$finish_eval\"`
+         eval cmds=\"$finish_eval\"
          $run eval "$cmds"
        fi
       done
@@ -2044,7 +2043,7 @@ libdir='$install_libdir'"
     fi
     if test -n "$hardcode_libdir_flag_spec"; then
       libdir=LIBDIR
-      flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
+      eval flag=\"$hardcode_libdir_flag_spec\"
 
       echo "   - use the \`$flag' linker flag"
     fi
@@ -2235,7 +2234,7 @@ libdir='$install_libdir'"
 
          if test -n "$library_names"; then
            # Do each command in the postuninstall commands.
-           cmds=`eval \\$echo \"$postuninstall_cmds\"`
+           eval cmds=\"$postuninstall_cmds\"
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
            for cmd in $cmds; do
              IFS="$save_ifs"
@@ -2247,7 +2246,7 @@ libdir='$install_libdir'"
 
           if test -n "$old_library"; then
            # Do each command in the old_postuninstall commands.
-           cmds=`eval \\$echo \"$old_postuninstall_cmds\"`
+           eval cmds=\"$old_postuninstall_cmds\"
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
            for cmd in $cmds; do
              IFS="$save_ifs"