]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
*** empty log message ***
authorGordon Matzigkeit <gord@gnu.org>
Sat, 29 Nov 1997 21:03:42 +0000 (21:03 +0000)
committerGordon Matzigkeit <gord@gnu.org>
Sat, 29 Nov 1997 21:03:42 +0000 (21:03 +0000)
ChangeLog
Makefile.am
NEWS
TODO
libtool.m4
ltconfig.in
ltmain.in

index f6591b36ef62a1f6e6039424c6bb08c9cf4a8625..f5ffc3a54b211c5a69efff49bf8d9cf36497f98c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Sat Nov 29 11:19:18 1997  Gordon Matzigkeit  <gord@gnu.org>
+
+       * ltconfig.in (COLLECT_NAMES): Enable this workaround for a broken
+       collect2 only on AIX 3.  This avoids problems on other AIX
+       versions.  Reported by Stefan Westerfeld.
+
+       * ltmain.in, ltconfig.in (finish_eval): Variable like finish_cmds,
+       except it is a single command which is evaled, and not shown.
+
+       * ltconfig.in: Port to AmigaOS.  From Joop van de Wege.
+
+       * ltmain.in (echo): Delete preamble to check for a working echo,
+       since we just use the one included in the generated libtool.
+
+       * ltconfig.in (echo): Include this definition in the generated
+       libtool script.
+
 Fri Nov 28 09:28:02 1997  Gordon Matzigkeit  <gord@gnu.org>
 
        * ltconfig.in, libtool.m4 (NM): Add /usr/ccs/bin to the PATH
@@ -52,7 +69,7 @@ Sun Nov 23 09:29:58 1997  Gordon Matzigkeit  <gord@gnu.org>
        default.  Make `-no-undefined' in order for people to declare that
        a library is entirely self-contained.  This prevents maintainers
        from accidentally creating shared libraries that won't work on
-       AIX.  Reported by Stefan Westerfield and Danny Backx.
+       AIX.  Reported by Stefan Westerfeld and Danny Backx.
 
        * ltconfig.in (echo): Use an echo variable, just as in ltmain.in,
        because we need it for quoting substitutions.  For most of the
index 293c62cd2577408a72a5c0f2a39918ed547eef9e..ed1937d82b96f54cad743a7e6615fa5c8fdd31f0 100644 (file)
@@ -115,8 +115,8 @@ maintainer-check-versions:
          fi
 
 maintainer-release: maintainer-check-versions distcheck
-       cd $(top_srcdir) && $(PRCS) checkin $(PACKAGE)
-       cd $(top_srcdir) && $(PRCS) rekey $(PACKAGE) configure.in libtool.spec
+       cd $(top_srcdir) && $(PRCS) checkin -f $(PACKAGE)
+       cd $(top_srcdir) && $(PRCS) rekey -f $(PACKAGE) configure.in libtool.spec
        echo "============================="; \
          echo "Congratulations!  $(PACKAGE)-$(VERSION) is now complete."; \
          echo; \
diff --git a/NEWS b/NEWS
index 67cb99ee198acb9a876afb1efb86d2099c9bf912..a9e528440904a042ea56d81f16091fb2157475d0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,9 @@
 NEWS - list of user-visible changes between releases of GNU Libtool
 
-New in 1.0x - 1997-XX-XX, Gordon Matzigkeit:
+New in 1.0g - 1997-11-29, Gordon Matzigkeit:
 * Bug fixes.
+* `-allow-undefined' is now the default.  You can use `-no-undefined'
+  to declare that a shared library is completely self-contained.
 * Support for *-*-amigaos*.
 
 New in 1.0f - 1997-11-08, Gordon Matzigkeit:
@@ -10,8 +12,6 @@ New in 1.0f - 1997-11-08, Gordon Matzigkeit:
   `-static' flag now just prevents dynamic linking of libtool libraries.
 * The `-rpath' flag can be used to hardcode absolute directories when
   linking executables using libtool.
-* `-allow-undefined' is now the default.  You can use `-no-undefined'
-  to declare that a shared library is completely self-contained.
 * Suppress duplicate compiler output during `compile' mode.
 * New `execute' mode to support debugging uninstalled libtool
   libraries and executables.
diff --git a/TODO b/TODO
index 5937ec597d1da213a7f157f35b2b378cb7f30204..ba6aa587ce928d460a5de31b1cc91561f7182107 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,6 @@
 For next public release:
 ************************
 
-* Integrate the AmigaOS patches found in lt-amiga.diff.
-
 * Document `execute' mode, and the experimental nature of -dlopen and
 -dlpreopen.
 
index 7f0770aea96e6f732224306bc69a11a20d68baf5..e3cbf611c92dd86813e38cca44093596fc4e885a 100644 (file)
@@ -196,7 +196,7 @@ AC_CACHE_VAL(ac_cv_path_NM,
       # Check to see if the nm accepts a BSD-compat flag.
       # Adding the `sed 1!d' prevents false positives on HP-UX, which says:
       #   nm: unknown option "B" ignored
-      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >dev/null; then
+      if ($ac_dir/nm -B /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
         ac_cv_path_NM="$ac_dir/nm -B"
       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
         ac_cv_path_NM="$ac_dir/nm -p"
index 9975f9649f3b68ad9f98fc468633b98ca0273715..ab2696b56619741f5182b9c83c09ad048da37c74 100755 (executable)
 # A lot of this script is taken from autoconf-2.10.
 
 echo=echo
-if test "X`$echo '\t'`" = 'X\t'; then :
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
 else
   # The Solaris and AIX default echo program unquotes backslashes.
   # This makes it impossible to quote backslashes using
   #   echo "$something" | sed 's/\\/\\\\/g'
   # So, we emulate echo with printf '%s\n'
   echo='printf %s\n'
-  if test "X`$echo '\t'`" = 'X\t'; then :
+  if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
   else
     # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
     echo=echo
     IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
-    save_PATH="$PATH"
-    PATH="$PATH":/usr/ucb
-    for dir in $PATH; do
+    for dir in $PATH /usr/ucb; do
       if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
         echo="$dir/echo"
         break
       fi
     done
     IFS="$save_ifs"
-    PATH="$save_PATH"
   fi
 fi
 
@@ -305,7 +302,7 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
 case "$host_os" in
-aix*)
+aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
@@ -458,6 +455,12 @@ if test "$with_gcc" = yes; then
   os2*)
     # We can build DLLs from non-PIC.
     ;;
+  amigaos*)
+    # FIXME: we need at least 68020 code to build shared libraries, but
+    # adding the `-m68020' flag to GCC prevents building anything better,
+    # like `-m68040'.
+    pic_flag='-m68020 -resident32 -malways-restore-a4'
+    ;;
   *)
     pic_flag='-fPIC'
     ;;
@@ -688,7 +691,7 @@ hardcode_shlibpath_var=unsupported
 runpath_var=
 
 case "$host_os" in
-sunos4*)
+amigaos* | sunos4*)
   # On these operating systems, we should treat GNU ld like the system ld.
   gnu_ld_acts_native=yes
   ;;
@@ -737,6 +740,12 @@ else
     hardcode_minus_L=yes
     ;;
 
+  amigaos*)
+    archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    ;;
+
   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
   # support.  Future versions do this automatically, but an explicit c++rt0.o
   # doesn't break anything, and helps significantly (at the cost of a little
@@ -1074,6 +1083,7 @@ soname_spec=
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
+finish_eval=
 shlibpath_var=
 version_type=none
 dynamic_linker="$host_os ld.so"
@@ -1089,6 +1099,12 @@ aix3* | aix4*)
   soname_spec='$libname.so.$major'
   ;;
 
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "$lib" | sed '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+  ;;
+
 freebsd2* | freebsd3*)
   version_type=sunos
   library_names_spec='$libname.so.$versuffix $libname.so'
@@ -1153,7 +1169,6 @@ netbsd* | openbsd*)
   ;;
 
 os2*)
-  version_type=none
   libname_spec='$name'
   library_names_spec='$libname.dll $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -1246,13 +1261,13 @@ rmdir .libs 2>/dev/null
 echo "$ac_t$objdir" 1>&6
 
 # Now quote all the things that may contain metacharacters.
-for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+for var in echo old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
   old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
   link_static_flag no_builtin_flag export_dynamic_flag_spec \
   profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \
   old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
   old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
-  allow_undefined_flag finish_cmds global_symbol_pipe \
+  allow_undefined_flag finish_cmds finish_eval global_symbol_pipe \
   striplib old_striplib \
   hardcode_libdir_flag_spec hardcode_libdir_separator; do
 
@@ -1289,6 +1304,9 @@ cat <<EOF > $ofile
 # Compiler and other test output produced by $progname, useful for
 # debugging $progname, is in ./config.log if it exists.
 
+# An echo program that doesn't interpret backslashes.
+echo="$echo"
+
 # The version of $progname that generated this script.
 LTCONFIG_VERSION="$VERSION"
 
@@ -1378,6 +1396,9 @@ allow_undefined_flag="$allow_undefined_flag"
 # Commands used to finish a libtool library installation in a directory.
 finish_cmds="$finish_cmds"
 
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval="$finish_eval"
+
 # Take the output of nm and produce a listing of raw symbols and C names.
 global_symbol_pipe="$global_symbol_pipe"
 
index ee3277746b262e484408af871c5f021a3a431200..033a928fdce7377350457f4e44462e6f8d78bdca 100644 (file)
--- a/ltmain.in
+++ b/ltmain.in
@@ -990,8 +990,8 @@ if test -z "$show_help"; then
 
         # Create links to the real library.
         for linkname in $linknames; do
-          $show "(cd $objdir && $LN_S $realname $link)"
-          $run eval '(cd $objdir && $LN_S $realname $link)' || exit $?
+          $show "(cd $objdir && $LN_S $realname $linkname)"
+          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
         done
 
         # If -export-dynamic was specified, set the dlname.