]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* NEWS: new -no-install flag
authorThomas Tanner <tanner@ffii.org>
Sun, 3 Oct 1999 16:36:32 +0000 (16:36 +0000)
committerThomas Tanner <tanner@gmx.de>
Sun, 3 Oct 1999 16:36:32 +0000 (16:36 +0000)
* configure.in: fix typo
* doc/libtool.texi(Link mode): document -no-install flag,
  correct -no-fast-install docs
* libtool.m4: check for "file" command
* ltconfig.in: don't hardcode /usr/bin/file, remove second
  definition of sysv5, replace linkopts -> linker_flags
* ltmain.in: add new -no-install flag, print help for -no-install
  and -no-fast-install flags

* ltmain.in: always create output_objdir

* libltdl/Makefile.am: don't preserve file attributes when
  installing the libltdl sources

ChangeLog
NEWS
configure.in
doc/libtool.texi
libltdl/Makefile.am
libtool.m4
ltconfig.in
ltmain.in

index 10825539220f4806674e1d9e994bc94d6bf478cc..d26217866a0b36faaef443857d9684028c57ca22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+1999-10-03  Thomas Tanner  <tanner@ffii.org>
+
+       * NEWS: new -no-install flag
+       * configure.in: fix typo
+       * doc/libtool.texi(Link mode): document -no-install flag,
+         correct -no-fast-install docs
+       * libtool.m4: check for "file" command
+       * ltconfig.in: don't hardcode /usr/bin/file, remove second
+         definition of sysv5, replace linkopts -> linker_flags
+       * ltmain.in: add new -no-install flag, print help for -no-install
+         and -no-fast-install flags
+
+1999-10-03  Olly Betts <olly@muscat.co.uk>
+
+       * ltmain.in: always create output_objdir
+
+1999-10-03  Pavel Roskin  <pavel_roskin@geocities.com>
+
+       * libltdl/Makefile.am: don't preserve file attributes when
+         installing the libltdl sources
+
 1999-10-01  Gary V. Vaughan  <gary@oranda.demon.co.uk>
 
        * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh
diff --git a/NEWS b/NEWS
index b415b90225bc68846b5a77fb30bac006a2e0e2ad..d72ac8db14df599e4bc450235bb47ed1bac72f08 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ NEWS - list of user-visible changes between releases of GNU Libtool
 New in 1.3d: 1999-??-??; CVS version 1.3c, Libtool team:
 * Start of support code for cross-compiling to win32.
 * Improved support for mingw32, NetBSD, FreeBSD and Unixware.
+* 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.
index 7344ddfa3c1dfe55e2400770dc9e8bd2a8def9e9..875a2835155a03abe7a7213baacfe372d97887db 100644 (file)
@@ -100,7 +100,7 @@ AC_OUTPUT_COMMANDS([
 
   *ltmain.sh*)
     infile=$top_srcdir/ltmain.in
-    outfile=$top_srcdir/ltmain,sh
+    outfile=$top_srcdir/ltmain.sh
     tmpfile=${outfile}T
 
     ( cd $top_srcdir
index dedd9491e0e66c9b7628dd1e802b17b7e12b9a55..6478a4eccba8cabd1ca21b2d8fc1333018423b25 100644 (file)
@@ -1253,8 +1253,14 @@ must not be used at the same time in your package.
 
 @item -no-fast-install
 Disable fast-install mode for the executable @var{output-file}
-(@pxref{Invoking ltconfig}).  Useful if the program is only used in the
-build tree, e.g., for generating other files.
+(@pxref{Invoking ltconfig}).  Useful if the program won't be necessarly
+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.
+Useful if the program is only used in the build tree, e.g.,
+for testing or generating other files.
 
 @item -no-undefined
 Declare that @var{output-file} does not depend on any other libraries.
index 12bdcbbf1be9ddef057b855f03f669461eb7c58d..23f1c0addb421abcb6922495256ea26c1c2b4b91 100644 (file)
@@ -36,9 +36,9 @@ local-install-files: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file; \
+           cp -r $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file; \
          else \
            test -f $(DESTDIR)$(datadir)/libtool/libltdl/$$file \
-           || cp -p $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file || :; \
+           || cp $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file || :; \
          fi; \
        done
index 0e4597421d019d486040310c9a59e4d84ed5cf50..407f9450237a96937cbc177f2ed9682ff699a714 100644 (file)
@@ -68,6 +68,7 @@ AC_REQUIRE([AC_OBJEXT])dnl
 AC_REQUIRE([AC_EXEEXT])dnl
 dnl
 
+AC_CHECK_TOOL(FILE, file, :)
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
 
index b5d5057eb52c27eb2482a6e13dd98d24aaf12434..c649f99ee84585cedcfd399d4f6ad10c90ef58e2 100755 (executable)
@@ -1328,17 +1328,6 @@ else
     link_all_deplibs=yes
     ;;
 
-  sysv5*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec=
-    hardcode_shlibpath_var=no
-    ;;
-
   sunos4*)
     archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
     hardcode_libdir_flag_spec='-L$libdir'
@@ -1360,12 +1349,16 @@ else
     export_dynamic_flag_spec='-Bexport'
     ;;
 
-  sysv5)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs
-$linker_flags'
-    runpath_var='LD_RUN_PATH'
+  sysv5*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    hardcode_libdir_flag_spec=
     hardcode_shlibpath_var=no
-    hardcode_direct=no
+    runpath_var='LD_RUN_PATH'
     ;;
 
   uts4*)
@@ -1462,7 +1455,7 @@ version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-file_magic_cmd=
+file_magic_cmd="$FILE"
 file_magic_test_file=
 deplibs_check_method='unknown'
 # Need to set the preceding variable on all platforms that support
@@ -1522,7 +1515,6 @@ bsdi4*)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   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"
   sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
@@ -1638,9 +1630,8 @@ irix5* | irix6*)
   shlibpath_overrides_runpath=no
   sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  file_magic_cmd=/usr/bin/file
   file_magic_test_file=`echo /lib${libsuff}/libc.so*`
-  deplibs_check_method='pass_all'
+  deplibs_check_method=pass_all
   ;;
 
 # No shared lib support for Linux oldld, aout, or coff.
@@ -1666,7 +1657,6 @@ linux-gnu*)
     # glibc up to 2.1.1 does not perform some relocations on ARM
     deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
   esac
-  file_magic_cmd=/usr/bin/file
   file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
 
   if test -f /lib/ld.so.1; then
@@ -1721,9 +1711,8 @@ osf3* | osf4*)
   shlibpath_var=LD_LIBRARY_PATH
   # this will be overridden with pass_all, but let us keep it just in case
   deplibs_check_method='file_magic COFF format alpha shared library'
-  file_magic_cmd=/usr/bin/file
   file_magic_test_file=/shlib/libc.so
-  deplibs_check_method='pass_all'
+  deplibs_check_method=pass_all
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
@@ -1747,7 +1736,6 @@ solaris*)
   # ldd complains unless libraries are executable
   postinstall_cmds='chmod +x $lib'
   deplibs_check_method=pass_all
-  file_magic_cmd=/usr/bin/file
   file_magic_test_file=/lib/libc.so
   ;;
 
@@ -1770,7 +1758,7 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
   shlibpath_var=LD_LIBRARY_PATH
   case "$host_vendor" in
     ncr)
-      deplibs_check_method='pass_all'
+      deplibs_check_method=pass_all
       ;;
     motorola)
       need_lib_prefix=no
@@ -1778,7 +1766,6 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
       shlibpath_overrides_runpath=no
       sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
       deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-      file_magic_cmd=/usr/bin/file
       file_magic_test_file=`echo /usr/lib/libc.so*`
       ;;
   esac
@@ -1991,7 +1978,7 @@ cygwin* | mingw* | os2*)
 ;;
 esac
 
-if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
+if test -n "$file_magic_test_file"; then
   case "$deplibs_check_method" in
   "file_magic "*)
     file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
@@ -2553,7 +2540,7 @@ case "$ltmain" in
 # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
 #
 # Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 133bfbc66b456358c7170e1163a2d97504aa5979..6212e4ab955edde9204dd38badcd8d4758a01329 100644 (file)
--- a/ltmain.in
+++ b/ltmain.in
@@ -682,6 +682,7 @@ compiler."
     libobjs=
     ltlibs=
     module=no
+    no_install=no
     objs=
     prefer_static_libs=no
     preload=no
@@ -963,6 +964,11 @@ compiler."
        continue
        ;;
 
+      -no-install)
+       no_install=yes
+       continue
+       ;;
+
       -no-undefined)
        allow_undefined=no
        continue
@@ -1240,24 +1246,23 @@ compiler."
       linkmode=prog ;;
     esac
     
-    if test $linkmode = lib || test $linkmode = prog; then
-      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$output_objdir" = "X$output"; then
-       output_objdir="$objdir"
-      else
-       output_objdir="$output_objdir/$objdir"
-      fi
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
 
-      # Create the object directory.
-      if test ! -d $output_objdir; then
-       $show "$mkdir $output_objdir"
-       $run $mkdir $output_objdir
-       status=$?
-       if test $status -ne 0 && test ! -d $output_objdir; then
-         exit $status
-       fi
+    # Create the object directory.
+    if test ! -d $output_objdir; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      status=$?
+      if test $status -ne 0 && test ! -d $output_objdir; then
+       exit $status
       fi
-    else 
+    fi
+    if test $linkmode != lib && test $linkmode != prog; then
       # Find libtool convenience libraries
       for deplib in $deplibs; do
        case "$deplib" in
@@ -3381,6 +3386,19 @@ static const void *lt_preloaded_setup() {
        fi
       fi
 
+      if test "$no_install" = yes; then
+       # We don't need to create a wrapper script.
+       link_command="$compile_var$compile_command$compile_rpath"
+       # Replace the output file specification.
+       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       # Delete the old output file.
+       $run $rm $output
+       # Link the executable and exit
+       $show "$link_command"
+       $run eval "$link_command" || exit $?
+       exit 0
+      fi
+
       if test "$hardcode_action" = relink || test "$hardcode_into_libs" = yes; then
        # Fast installation is not supported
        link_command="$compile_var$compile_command$compile_rpath"
@@ -4754,6 +4772,8 @@ The following components of LINK-COMMAND are treated specially:
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
   -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
   -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
   -release RELEASE  specify package release information