* 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


* ltmain.in: always create output_objdir


* libltdl/Makefile.am: don't preserve file attributes when
  installing the libltdl sources
This commit is contained in:
Thomas Tanner 1999-10-03 16:36:32 +00:00 committed by Thomas Tanner
parent 536476a058
commit ef128a41ba
8 changed files with 85 additions and 49 deletions

View File

@ -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

1
NEWS
View File

@ -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.

View 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

View 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.

View 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

1
libtool.m4 vendored
View 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, :)

View File

@ -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

View File

@ -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