*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1998-02-12 05:45:15 +00:00 committed by Gordon Matzigkeit
parent 4a3f219c99
commit 831a978fa1
16 changed files with 233 additions and 183 deletions

View File

@ -1,5 +1,34 @@
Wed Feb 11 22:20:33 1998 Gordon Matzigkeit <gord@profitpress.com>
* ltconfig.in (no_undefined_flag): Add a flag to declare under
Solaris that the library should not have any undefined
references. Suggested by Bob Friesenhahn.
* ltmain.in (mkdir): Fix one more mkdir race. From H.J. Lu.
Sun Feb 8 18:16:41 1998 Gordon Matzigkeit <gord@profitpress.com>
* ltconfig.in, ltmain.in (striplib, old_striplib): Ditto.
* ltconfig.in (profile_flag_pattern): Get rid of dead code.
Sat Feb 7 11:49:33 1998 Gordon Matzigkeit <gord@profitpress.com>
* libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): New macros to
modify the `--enable-shared' and `--enable-static' defaults in the
configure script. This works a lot better than the old
`enable_shared' and `enable_static' variables did. Reported by
Bob Friesenhahn.
Sat Feb 7 16:16:02 1998 Samuel Tardieu <sam@inf.enst.fr>
* ltmain.in: Recognize .ada, .ads and .adb as known suffixes (they
are used by GNAT, the GNU Ada compiler).
Fri Feb 6 00:20:41 1998 Gordon Matzigkeit <gord@profitpress.com>
* ltconfig.in: Turn on IRIX shared libraries again!
* libtool.m4 (LD): Use file(1) to discover which ABI we're using
on IRIX, and propagate the correct linker flag. From Jim Wilson.
@ -284,7 +313,7 @@ Thu Nov 6 08:11:25 1997 Gordon Matzigkeit <gord@gnu.org>
* ltmain.in (mkdir): Check that the directory doesn't exist before
we exit with error, so that we don't get races during parallel
builds. From H. J. Lu.
builds. From H.J. Lu.
(fbsd_hideous_sh_bug): Apparently, some FreeBSD /bin/sh's have a
bug that will empty base_compile unless we do this dummy
assignment. From Marc van Kempen.

5
NEWS
View File

@ -1,5 +1,10 @@
NEWS - list of user-visible changes between releases of GNU Libtool
New:
* Now you should use the `AM_DISABLE_SHARED' or `AM_DISABLE_STATIC'
macros instead of the `enable_shared' or `enable_static' variables
if you wish to modify the default behaviour of `AM_PROG_LIBTOOL'.
New in 1.0i - 1998-02-06, Gordon Matzigkeit:
* Bug fixes.
* Inter-library dependencies are automatically handled when linking

10
README
View File

@ -1,4 +1,4 @@
This is GNU libtool, a generic library support script. Libtool hides
This is GNU Libtool, a generic library support script. Libtool hides
the complexity of using shared libraries behind a consistent, portable
interface.
@ -30,14 +30,18 @@ and cannot handle libtool's requirements, so users may report unusual
problems. There is no workaround except to install a working sed
(such as GNU sed) on these systems.
Libtool's home page is:
http://www.profitpress.com/libtool/
See the file NEWS for a description of recent changes to libtool.
See the file INSTALL for instructions on how to build and install
libtool.
See the info node (libtool)Tested Platforms. (or the file
doc/platforms.texi) for a list of platforms that libtool shared
library support was tested on.
doc/PLATFORMS) for a list of platforms that libtool shared library
support was tested on.
If you have any suggestions or bug reports, or you wish to port
libtool to a new platform, please send electronic mail to the libtool

View File

@ -1,4 +1,4 @@
This is an alpha testing release of GNU libtool.
This is an alpha testing release of GNU Libtool.
Please do not send any bug reports or questions about it to public
forums (such as GNU newsgroups), send them directly to the libtool

4
THANKS
View File

@ -13,10 +13,10 @@ Alexandre Oliva <oliva@dcc.unicamp.br>
Bruno Haible <haible@ilog.fr>
Carl D. Roth <roth@cse.ucsc.edu>
Charles S. Kerr <cskerr@delenn.jccbi.gov>
H.J. Lu <hjl@lucon.org>
H.J. Lu <hjl@gnu.org>
Ian Lance Taylor <ian@cygnus.com>
Joel Cannon <cannon@alpha.centenary.edu>
Joel N. Weber II <devnull@gnu.ai.mit.edu>
Joel N. Weber II <devnull@gnu.org>
Karl Berry <kb@cs.umb.edu>
Kenneth Albanowski <kjahds@kjahds.com>
Mark Kettenis <kettenis@phys.uva.nl>

23
TODO
View File

@ -8,16 +8,12 @@ compiler type.
* Alexandre Oliva suggests that we hardcode paths into libraries, as
well as binaries: `... -Wl,-soname -Wl,/tmp/libtest.so.0 ...'.
* Implement full support for other orthogonal library types
(libhello_g, libhello_p, 64 vs 32-bit ABI's, etc). Make these types
configurable.
In the future:
**************
* Inter-library dependencies should be automatically tracked by
libtool. Reminded by Alexandre Oliva. This also would require
looking up installed libtool libraries for transparent support.
* Inter-library dependencies should be fully tracked by libtool.
Reminded by Alexandre Oliva. This requires looking up installed
libtool libraries for transparent support.
* Implement full multi-language support. Currently, this is only for
C++, but there are beginnings of this in the manual (Other Languages).
@ -33,15 +29,6 @@ People who need it:
Jean Daniel Fekete <Jean-Daniel.Fekete@emn.fr>
Thomas Hiller <hiller@tu-harburg.d400.de>
* Writing libtool as a shell script means that proper variable quoting
is a real problem. Be careful when `eval'ing a string that the
arguments are properly quoted. Note that arguments with embedded
whitespace probably will cause problems (because of IFS).
I don't have good ideas on to fix the problems with whitespace, other
than subverting IFS entirely, perhaps always using an `eval "set
$quoted_args"' sequence.
* Another form of convenience library, suggested by Alexandre Oliva,
is to have undocumented utility libraries, where only the shared
version is installed.
@ -72,6 +59,10 @@ libtool into that scheme, since it manages some of the preinstall and
postinstall commands, but isn't installed itself. Probably, things
like libtool should be distributed as part of such a binary package.
* Maybe implement full support for other orthogonal library types
(libhello_g, libhello_p, 64 vs 32-bit ABI's, etc). Make these types
configurable.
* Add support for windoze DLL's, and maybe other jumptable libs.
Check out Lesstif and Tcl configuration again (maybe they would be
interested in libtool by now?). The Cygnus win32 project may also be

View File

@ -56,8 +56,8 @@ helldl: $(helldl_OBJECTS) $(helldl_DEPENDENCIES)
chmod +x helldlT; \
mv -f helldlT helldl; \
else \
echo '$(LINK) $(helldl_LDFLAGS) $(helldl_OBJECTS) $(helldl_LDADD) -lm'; \
$(LINK) $(helldl_LDFLAGS) $(helldl_OBJECTS) $(helldl_LDADD) -lm; \
echo '$(LINK) $(helldl_LDFLAGS) $(helldl_OBJECTS) $(helldl_LDADD)'; \
$(LINK) $(helldl_LDFLAGS) $(helldl_OBJECTS) $(helldl_LDADD); \
fi
# Test programs to see what gets hardcoded.

View File

@ -6,4 +6,4 @@ say, a program that actually did something useful, but we can't have
everything.
Send bug reports and comments about GNU hell to the libtool mailing
list <bug-libtool@gnu.ai.mit.edu>.
list <bug-libtool@gnu.org>.

View File

@ -7,4 +7,4 @@
## Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>
AUTOMAKE_OPTIONS = gnits
info_TEXINFOS = libtool.texi
libtool_TEXINFOS = platforms.texi
libtool_TEXINFOS = PLATFORMS

View File

@ -7,7 +7,7 @@
@c %**end of header
@include version.texi
@set BUGADDR the libtool mailing list @code{<bug-libtool@@gnu.org>}
@set BUGADDR the libtool mailing list @email{<bug-libtool@@gnu.org>}
@set objdir .libs
@dircategory GNU programming tools
@ -23,7 +23,7 @@
@ifinfo
This file documents GNU Libtool @value{VERSION}
Copyright (C) 1996--1998 Free Software Foundation, Inc.
Copyright (C) 1996-1998 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@ -55,7 +55,7 @@ approved by the Foundation.
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1996--1998 Free Software Foundation, Inc.
Copyright @copyright{} 1996-1998 Free Software Foundation, Inc.
@sp 2
This is the first edition of the GNU Libtool documentation,@*
and is consistent with GNU Libtool @value{VERSION}.@*
@ -204,7 +204,6 @@ Platform quirks
* Compilers:: Creating object files from source files.
* Reloadable objects:: Binding object files together.
* Archivers:: Programs that create static archives.
* Strip:: Removing unnecessary linkage information.
@end detailmenu
@end menu
@ -338,9 +337,9 @@ or run @code{ldconfig(8)}.
@section Other implementations
I have investigated several different implementations of systems that
build shared
libraries as part of a freeware package. At first, I made notes on the
features of each of these packages for comparison purposes.
build shared libraries as part of a free software package. At first, I
made notes on the features of each of these packages for comparison
purposes.
Now it is clear that none of these packages have documented the details
of shared library systems that libtool requires. So, other packages
@ -1461,6 +1460,30 @@ ltconfig}).@footnote{@code{AM_PROG_LIBTOOL} requires that you define the
Automake does this automatically, but Autoconf users should set it to
the relative path to the top of your build directory (@file{../..}, for
example).}
By default, this macro turns on shared libraries if they are available,
and also enables static libraries if they don't conflict with the shared
libraries. You can modify these defaults by setting calling either the
@code{AM_DISABLE_SHARED} or @code{AM_DISABLE_STATIC} macros:
@example
# Turn off shared libraries during beta-testing, since they make the
# build process take too long.
AM_DISABLE_SHARED
AM_PROG_LIBTOOL
@end example
@end defmac
@defmac AM_DISABLE_SHARED
Change the default behaviour for @code{AM_PROG_LIBTOOL} to disable
shared libraries. The user may still override this default by
specifying @samp{--enable-shared}.
@end defmac
@defmac AM_DISABLE_STATIC
Change the default behaviour for @code{AM_PROG_LIBTOOL} to disable
static libraries. The user may still override this default by
specifying @samp{--enable-static}.
@end defmac
@pindex aclocal
@ -1529,7 +1552,7 @@ and accepts the following options:
Work silently, and assume that Automake libtool support is used.
@samp{libtoolize --automake} is used by Automake to add libtool files to
your package, when @samp{AM_PROG_LIBTOOL} appears in your
your package, when @code{AM_PROG_LIBTOOL} appears in your
@file{configure.in}.
@item --copy
@ -1613,9 +1636,10 @@ AC_OUTPUT(@dots{})
@cindex Saving time
When you are developing a package, it is often worthwhile to configure
your package with the @samp{--disable-shared} flag
(@pxref{AM_PROG_LIBTOOL}). This prevents libtool from building shared
libraries, which has several advantages:
your package with the @samp{--disable-shared} flag, or to override the
defaults for @code{AM_PROG_LIBTOOL} by using the @code{AM_DISABLE_SHARED}
Autoconf macro (@pxref{AM_PROG_LIBTOOL}). This prevents libtool from
building shared libraries, which has several advantages:
@itemize @bullet
@item
@ -1636,11 +1660,11 @@ Manipulation Program, for those who haven't taken the plunge. See
@url{http://www.gimp.org/}.} distribution @file{README}:
@example
The GIMP uses GNU libtool in order to build shared libraries on a
The GIMP uses GNU Libtool in order to build shared libraries on a
variety of systems. While this is very nice for making usable
binaries, it can be a pain when trying to debug a program. For that
reason, compilation of shared libraries can be turned off by
specifying the "--disable-shared" option to "configure".
specifying the @samp{--disable-shared} option to @file{configure}.
@end example
@node Versioning
@ -2546,7 +2570,7 @@ This table describes when libtool was last known to be tested on
platforms where it claims to support shared libraries:
@example
@include platforms.texi
@include PLATFORMS
@end example
@node Platform quirks
@ -2567,7 +2591,6 @@ improve libtool, or write your own.
* Compilers:: Creating object files from source files.
* Reloadable objects:: Binding object files together.
* Archivers:: Programs that create static archives.
* Strip:: Removing unnecessary linkage information.
@end menu
@node References
@ -2662,32 +2685,6 @@ On all known systems, if there is a program named @code{ranlib}, then it
must be used to ``bless'' the created library before linking against it,
with the @kbd{ranlib lib@var{name}.a} command.
@node Strip
@subsection The @code{strip} program
Stripping a library is essentially the same problem as stripping an
object file. Only local and debugging symbols must be removed, or else
linking against a stripped library will fail.
With GNU @code{strip}, the @samp{--discard-all} (or equivalent
@samp{-x}) flag will do the appropriate stripping, for both shared and
static libraries.
Here is a list of some other operating systems, and what their bundled
@code{strip} programs will do:
@c FIXME complete this section
@table @code
@item netbsd*
The @samp{-x} flag works for shared libraries, but fails with
``Inappropriate file type or format'' when used on static libraries.
@item hpux10*
HP-UX @code{strip} requires the @samp{-r} and @samp{-x} flags in order
to strip libraries.
@end table
@node libtool script contents
@section @code{libtool} script contents
@cindex Implementation of libtool
@ -2758,6 +2755,11 @@ Whether libtool should build static libraries on this system. Set to
@samp{yes} or @samp{no}.
@end defvar
@defvar echo
An @code{echo(1)} program which does not interpret backslashes as an
escape character.
@end defvar
@defvar export_dynamic_flag_spec
Compiler link flag that allows a dlopened shared library to reference
symbols that are defined in the program.
@ -2768,12 +2770,16 @@ Commands to tell the dynamic linker how to find shared libraries in a
specific directory.
@end defvar
@defvar global_symbol_cmd
@defvar finish_eval
Same as @var{finish_cmds}, except the commands are not displayed.
@end defvar
@defvar global_symbol_pipe
A pipeline that takes the output of @var{NM}, and produces a listing of
raw symbols followed by their C names. For example:
@example
$ @kbd{$NM | $global_symbol_cmd}
$ @kbd{$NM | $global_symbol_pipe}
@var{symbol1} @var{C-symbol1}
@var{symbol2} @var{C-symbol2}
@var{symbol3} @var{C-symbol3}
@ -2811,12 +2817,6 @@ hardcodes directories specified by @samp{-L} flags into the resulting
executable.
@end defvar
@defvar hardcode_runpath_var
Set to @samp{yes} or @samp{no}, depending on whether the linker
hardcodes directories by writing the contents of @samp{$runpath_var}
into the resulting executable.
@end defvar
@defvar hardcode_shlibpath_var
Set to @samp{yes} or @samp{no}, depending on whether the linker
hardcodes directories by writing the contents of @samp{$shlibpath_var}
@ -2831,6 +2831,12 @@ For information purposes, set to the specified and canonical names of
the system that libtool was configured for.
@end defvar
@defvar libname_spec
The format of a library name prefix. On all Unix systems, static
libraries are called @samp{lib@var{name}.a}, but on some systems (such
as OS/2 or MS-DOS), the library is just called @samp{@var{name}.a}.
@end defvar
@defvar library_names_spec
A list of shared library names. The first is the name of the file,
the rest are symbolic links to the file. The name in the list is
@ -2847,6 +2853,12 @@ Compiler flag to disable builtin functions that conflict with declaring
external global symbols as @code{char}.
@end defvar
@defvar no_undefined_flag
The flag that is used by @samp{archive_cmds} in order to declare that
there will be no unresolved symbols in the resulting shared library.
Empty, if no such flag is required.
@end defvar
@defvar pic_flag
Any additional compiler flags for building library object files.
@end defvar
@ -2876,14 +2888,6 @@ The name coded into shared libraries, if different from the real name of
the file.
@end defvar
@defvar striplib
@defvarx old_striplib
Programs to strip shared and static libraries, respectively.@footnote{In
the current implementation, libtool does not use any programs to strip
libraries. Support will be added after it is clear how to write a
portable test for library stripping programs.}
@end defvar
@defvar version_type
The library version numbering type. One of @samp{libtool},
@samp{linux}, @samp{osf}, @samp{sunos}, or @samp{none}.
@ -2894,10 +2898,10 @@ The C compiler flag that allows libtool to pass a flag directly to the
linker. Used as: @samp{$@{wl@}@var{some-flag}}.
@end defvar
Variables ending in @samp{_cmds} contain a semicolon-separated list of
commands that are @code{eval}ed one after another. If any of the
commands return a nonzero exit status, libtool generally exits with an
error message.
Variables ending in @samp{_cmds} or @samp{_eval} contain a
semicolon-separated list of commands that are @code{eval}ed one after
another. If any of the commands return a nonzero exit status, libtool
generally exits with an error message.
Variables ending in @samp{_spec} are @code{eval}ed before being used by
libtool.

94
libtool.m4 vendored
View File

@ -21,44 +21,25 @@
## configuration script generated by Autoconf, you may include it under
## the same distribution terms that you use for the rest of that program.
# serial 19 AM_PROG_LIBTOOL
# serial 20 AM_PROG_LIBTOOL
AC_DEFUN(AM_PROG_LIBTOOL,
[AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_RANLIB])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AM_PROG_LD])
AC_REQUIRE([AM_PROG_NM])
AC_REQUIRE([AC_PROG_LN_S])
[AC_REQUIRE([AM_ENABLE_SHARED])dnl
AC_REQUIRE([AM_ENABLE_STATIC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AM_PROG_LD])dnl
AC_REQUIRE([AM_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)
AC_SUBST(LIBTOOL)dnl
dnl Allow the --disable-shared flag to stop us from building shared libs.
AC_ARG_ENABLE(shared,
[ --enable-shared build shared libraries [default=yes]],
[if test "$enableval" = no; then
libtool_enable_shared=no
else
libtool_enable_shared=yes
fi])
test -n "$libtool_enable_shared" && enable_shared="$libtool_enable_shared"
libtool_shared=
test "$enable_shared" = no && libtool_shared=" --disable-shared"
dnl Allow the --disable-static flag to stop us from building static libs.
AC_ARG_ENABLE(static,
[ --enable-static build static libraries [default=yes]],
[if test "$enableval" = no; then
libtool_enable_static=no
else
libtool_enable_static=yes
fi])
test -n "$libtool_enable_static" && enable_static="$libtool_enable_static"
libtool_static=
test "$enable_static" = no && libtool_static=" --disable-static"
libtool_flags="$libtool_shared$libtool_static"
# Check for any special flags to pass to ltconfig.
libtool_flags=
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
@ -99,6 +80,51 @@ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
])
# AM_ENABLE_SHARED - implement the --enable-shared flag
# Usage: AM_ENABLE_SHARED[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_SHARED,
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(shared,
changequote(<<, >>)dnl
<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
changequote([, ])dnl
[if test "$enableval" = no; then
enable_shared=no
else
enable_shared=yes
fi],
enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
])
# AM_DISABLE_SHARED - set the default shared flag to --disable-static
AC_DEFUN(AM_DISABLE_SHARED,
[AM_ENABLE_SHARED(no)])
# AM_DISABLE_STATIC - set the default static flag to --disable-static
AC_DEFUN(AM_DISABLE_STATIC,
[AM_ENABLE_STATIC(no)])
# AM_ENABLE_STATIC - implement the --enable-static flag
# Usage: AM_ENABLE_STATIC[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_STATIC,
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(static,
changequote(<<, >>)dnl
<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
changequote([, ])dnl
[if test "$enableval" = no; then
enable_static=no
else
enable_static=yes
fi],
enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
])
# AM_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AM_PROG_LD,
[AC_ARG_WITH(gnu-ld,

View File

@ -2,7 +2,7 @@ Summary: GNU Libtool - shared library support for source packages
# $Format: "Name: $Project$"$
Name: libtool
# $Format: "Version: $ProjectMajorVersion$"$
Version: 1.0j
Version: 1.1
Release: 1
Copyright: GPL
Group: Development/Build

View File

@ -58,7 +58,7 @@ fi
Xsed='sed -e s/^X//'
sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
# Same as above, but don't quote variable references.
# Same as above, but do not quote variable references.
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
# The name of this program.
@ -127,7 +127,7 @@ Generate a system-specific libtool script.
--help display this help and exit
--no-verify do not verify that HOST is a valid host type
--quiet same as \`--silent'
--silent don't print informational messages
--silent do not print informational messages
--srcdir=DIR find \`config.guess' in DIR
--version output version information and exit
--with-gcc assume that the GNU C compiler will be used
@ -296,10 +296,10 @@ else
host_alias=$host
fi
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
case "$host" in
*-*-linux-gnu*) ;;
*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case "$host_os" in
linux-gnu*) ;;
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@ -441,14 +441,12 @@ compiler="$2"
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag=
profile_flag_pattern=
special_shlib_compile_flags=
wl=
link_static_flag=
no_builtin_flag=
if test "$with_gcc" = yes; then
profile_flag_pattern='-pg?'
wl='-Wl,'
link_static_flag='-static'
no_builtin_flag=' -fno-builtin'
@ -544,7 +542,7 @@ if test -n "$pic_flag"; then
# Append any errors to the config.log.
cat conftest.err 1>&5
# On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
# 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
echo "$ac_t"no 1>&6
@ -623,7 +621,7 @@ if test -z "$LD"; then
test -z "$LD" && LD="$ac_prog"
;;
"")
# If it fails, then pretend we aren't using GCC.
# If it fails, then pretend we are not using GCC.
ac_prog=ld
;;
*)
@ -670,7 +668,7 @@ if test -z "$LD"; then
fi
fi
# Check to see if it really is or isn't GNU ld.
# Check to see if it really is or is not GNU ld.
echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@ -684,6 +682,7 @@ echo "$ac_t$with_gnu_ld" 1>&6
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
allow_undefined_flag=
no_undefined_flag=
archive_cmds=
old_archive_from_new_cmds=
export_dynamic_flag_spec=
@ -751,7 +750,7 @@ else
# 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
# does not break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
@ -761,7 +760,7 @@ else
hardcode_shlibpath_var=no
;;
# Unfortunately, older versions of FreeBSD 2 don't have this feature.
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_direct=yes
@ -794,11 +793,10 @@ else
export_dynamic_flag_spec='${wl}-E'
;;
# FIXME: reimplement IRIX shared libraries.
# irix5* | irix6*)
# archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
# hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
# ;;
irix5* | irix6*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;;
netbsd*)
# Tested with NetBSD 1.2 ld
@ -836,7 +834,8 @@ else
;;
solaris2*)
archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs'
no_undefined_flag=' -z text'
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
@ -1045,7 +1044,7 @@ else
fi
$rm conftest*
# Don't use the global_symbol_pipe unless it works.
# Do not use the global_symbol_pipe unless it works.
echo "$ac_t$pipe_works" 1>&6
test "$pipe_works" = yes || global_symbol_pipe=
@ -1069,7 +1068,7 @@ if test -n "$hardcode_libdir_flag_spec" || \
elif test "$hardcode_direct" != yes && \
test "$hardcode_minus_L" != yes && \
test "$hardcode_shlibpath_var" != yes; then
# We can't hardcode anything.
# We cannot hardcode anything.
hardcode_action=unsupported
else
# We can only hardcode existing directories.
@ -1228,12 +1227,6 @@ esac
echo "$ac_t$dynamic_linker"
test "$dynamic_linker" = no && can_build_shared=no
# FIXME add checks for striplib and old_striplib here.
# strip -x works for most platforms, though not for static libraries on NetBSD
# HP-UX requires "-r" for library stripping
striplib=
old_striplib=
# Report the final consequences.
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
@ -1279,11 +1272,11 @@ ltecho="$echo"
for var in ltecho 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 \
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 finish_eval global_symbol_pipe \
striplib old_striplib \
allow_undefined_flag no_undefined_flag \
finish_cmds finish_eval global_symbol_pipe \
hardcode_libdir_flag_spec hardcode_libdir_separator; do
case "$var" in
@ -1326,7 +1319,7 @@ Xsed="sed -e s/^X//"
# if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
# An echo program that doesn't interpret backslashes.
# An echo program that does not interpret backslashes.
echo="$ltecho"
# The version of $progname that generated this script.
@ -1382,9 +1375,6 @@ no_builtin_flag="$no_builtin_flag"
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec"
# Pattern to match compiler flags for creating libNAME_p libraries:
profile_flag_pattern="$profile_flag_pattern"
# Library versioning type.
version_type=$version_type
@ -1415,6 +1405,9 @@ postuninstall_cmds="$postuninstall_cmds"
# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag="$allow_undefined_flag"
# Flag that forces no undefined symbols.
no_undefined_flag="$no_undefined_flag"
# Commands used to finish a libtool library installation in a directory.
finish_cmds="$finish_cmds"
@ -1424,10 +1417,6 @@ 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"
# How to strip a library file.
striplib="$striplib"
old_striplib="$old_striplib"
# This is the shared library runtime path variable.
runpath_var=$runpath_var

View File

@ -269,6 +269,9 @@ if test -z "$show_help"; then
# Recognize several different file suffixes.
xform='[cCFSfms]'
case "$libobj" in
*.ada) xform=ada ;;
*.adb) xform=adb ;;
*.ads) xform=ads ;;
*.asm) xform=asm ;;
*.c++) xform=c++ ;;
*.cc) xform=cc ;;
@ -342,8 +345,8 @@ if test -z "$show_help"; then
fi
fi
# Create an invalid libtool object if no PIC, so that we don't accidentally
# link it into a program.
# Create an invalid libtool object if no PIC, so that we do not
# accidentally link it into a program.
if test "$build_libtool_libs" != yes; then
$show "echo timestamp > $libobj"
$run eval "echo timestamp > \$libobj" || exit $?
@ -735,7 +738,7 @@ if test -z "$show_help"; then
finalize_shlibpath="$finalize_shlibpath$libdir:"
finalize_command="$finalize_command -l$name"
else
# We can't seem to hardcode it, guess we'll fake it.
# We cannot seem to hardcode it, guess we'll fake it.
finalize_command="$finalize_command -L$libdir -l$name"
fi
else
@ -982,8 +985,8 @@ if test -z "$show_help"; then
build_old_libs=yes
fi
else
# Clear the flag.
allow_undefined_flag=
# Don't allow undefined symbols.
allow_undefined_flag="$no_undefined_flag"
fi
if test "$build_libtool_libs" = yes; then
@ -1340,7 +1343,12 @@ EOF
if test -d $objdir; then :
else
$show "$mkdir $objdir"
$run $mkdir $objdir || exit $?
$run $mkdir $objdir
status=$?
if test $status -eq 0 || test -d $objdir; then :
else
exit $status
fi
fi
if test -n "$shlibpath_var"; then
@ -1371,7 +1379,7 @@ EOF
finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
fi
if test -n "$runpath_var"; then
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
@ -1788,12 +1796,6 @@ EOF
$run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
test "X$dlname" = "X$realname" && dlname=
# Support stripping libraries.
if test -n "$stripme" && test -n "$striplib"; then
$show "$striplib $destdir/$realname"
$run $striplib $destdir/$realname || exit $?
fi
if test $# -gt 0; then
# Delete the old symlinks.
rmcmd="$rm"
@ -1957,12 +1959,6 @@ EOF
$show "$install_prog $file $oldlib"
$run eval "$install_prog \$file \$oldlib" || exit $?
# Support stripping libraries.
if test -n "$stripme" && test -n "$old_striplib"; then
$show "$old_striplib $oldlib"
$run $old_striplib $oldlib || exit $?
fi
# Do each command in the postinstall commands.
cmds=`eval \\$echo \"$old_postinstall_cmds\"`
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'

View File

@ -1,3 +1,8 @@
Sat Feb 7 10:52:55 1998 Gordon Matzigkeit <gord@profitpress.com>
* suffix.test (extensions): Added GNAT (GNU Ada Translator)
suffices, `.ada', `.ads', `.adb'. From Samuel Tardieu.
Fri Jan 23 01:28:06 1998 Gordon Matzigkeit <gord@profitpress.com>
* Makefile.am (TESTS_ENVIRONMENT): Export some important
@ -182,7 +187,7 @@ Fri Jan 3 23:15:22 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
Thu Jan 2 13:03:41 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* suffix.test: New test to guarantee that libtool compile
recognizes valid source file suffixes.
recognizes valid source file suffices.
Sun Dec 8 14:43:15 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>

View File

@ -1,8 +1,9 @@
#! /bin/sh
# suffix.test - check that libtool knows how to transform source suffices.
# Extensions taken from the ones that Automake recognizes, plus Objective C.
extensions="C F S asm c c++ cc cpp cxx f f90 for m s"
# Extensions taken from the ones that Automake recognizes, plus Objective C,
# and GNU Ada.
extensions="C F S ada ads adb asm c c++ cc cpp cxx f f90 for m s"
bad_names="foo."
# Test script header.