3531 Commits

Author SHA1 Message Date
Gary V. Vaughan
a3ecc5f26f Remove obsolete .cvs ignore files.
* .cvsignore, doc/.cvsignore, libltdl/.cvsignore,
libltdl/config/.cvsignore, libltdl/loaders/.cvsignore,
libltdl/m4/.cvsignore, tests/.cvsignore,
tests/cdemo/.cvsignore, tests/demo/.cvsignore,
tests/depdemo/l1/.cvsignore, tests/depdemo/l2/.cvsignore,
tests/depdemo/l3/.cvsignore, tests/depdemo/l4/.cvsignore,
tests/f77demo/.cvsignore, tests/fcdemo/.cvsignore,
tests/mdemo/.cvsignore, tests/mdemo2/.cvsignore,
tests/pdemo/.cvsignore, tests/tagdemo/.cvsignore: Deleted. Even
when using savannah's CVS readonly mirror there's no way to commit
back to the real repo, so this files are not worth maintaining
or keeping around.
2010-09-16 09:05:28 +07:00
Eric Blake
3f74c1edc6 maint: ship .xz, not .lzma
* configure.ac (AM_INIT_AUTOMAKE): Prefer better file format.
* Makefile.maint (git-release, git-dist, prev-tarball)
(new-tarball, diffs): Use correct extension.
* HACKING: Update instructions.
* .gitignore: Ignore .xz files.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-14 07:59:15 -06:00
Ralf Wildenhues
fdba1e5c91 doc: avoid long lines in input and output, indexing fixes.
* doc/libtool.texi (Linking libraries)
(Module loaders for libltdl): Manually line-wrap examples, to
avoid long lines.
(Libltdl interface, User defined module data)
(Module loaders for libltdl): Wrap long @deftypefun input lines
using trailing '@'.  Use @deftypefun rather than @deftp where
appropriate, and add spaces in @deftypefun lines to fix the
index entries generated from these lines.
(Cheap tricks): Use @smallexample rather than @example, to avoid
long lines.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 21:52:03 +02:00
Ralf Wildenhues
05afa27b5a docs: @file and @option markup fixes.
* doc/libtool.texi (Creating object files, Linking libraries)
(Linking executables, Link mode, Finish mode, Autoconf macros)
(Using Automake, Inter-library dependencies, Dlpreopening)
(Linking with dlopened modules, Finding the dlname)
(Libltdl interface, Test descriptions, Multiple dependencies):
Add @option where needed, replace @samp with @file as
appropriate.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-13 21:28:52 +02:00
Peter Rosin
52e86c6278 * .gitignore: Ignore *.obj files for MSVC (and w32 in general). 2010-09-12 18:43:11 +02:00
Peter Rosin
e61b37353e Adjust to moved auxiliary files and add compile.
* HACKING (Maintenance Notes): Adjust to moved files.  Add the
compile script.
* Makefile.maint (fetch): Also fetch the compile script.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-12 18:23:53 +02:00
Ralf Wildenhues
a62c82a9fa tests: avoid empty AT_DATA contents, for zsh.
* tests/libtoolize.at (libtoolize macro serial update)
(libtoolize config files serial update, LIBTOOLIZE_OPTIONS):
Do not create empty files with AT_DATA, the latter is documented
to require a final newline.  Fixes testsuite failures with zsh
4.3.10.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 17:30:12 +02:00
Charles Wilson
ef56e98f3b When assigning $linklib value, honor [-all]-static[-libtool-libs]
* libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs
and static library exists, ensure old_library name is used as $linklib.
Fixes failure on mingw when both static and shared libraries are
present.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-12 11:03:21 -04:00
Ralf Wildenhues
048979e10f tests: work around zsh use of $options variable.
* tests/getopt-m4sh.at: Rename $options to $opts, the former is
special for zsh 4.3.10.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 16:47:31 +02:00
Ralf Wildenhues
594b9203db Fix AC_NO_EXECUTABLES test failure on IRIX 6.5.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result
of link check for -Wl,-exported_symbol.
* tests/no-executables.at (AC_NO_EXECUTABLES): Set
lt_cv_irix_exported_symbol, to avoid link check.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 15:40:29 +02:00
Jürgen Reuter
60e961d061 Initial support for the NAG Fortran compiler on GNU/Linux.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <nagfor>:
New set of entries, for NAG Fortran 5.1 and 5.2.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 12:26:18 +02:00
Ralf Wildenhues
0d01005082 Fix getopt.m4sh to require Autoconf 2.62 or newer.
* libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62,
not 2.61.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-12 11:42:07 +02:00
Ralf Wildenhues
3a94f44686 Merge branch 'lto'
* lto:
  Support GCC LTO on GNU/Linux.
  Disable GCC LTO for verbose library extraction.
  Save and restore CFLAGS properly inside libtool.m4 macros.
2010-09-12 10:59:01 +02:00
Charles Wilson
383b2e2954 Correct typo: $sharedlib_from_linklib_cmd missing '_cmd'
* libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious
typo, $sharedlib_from_linklib_cmd missing '_cmd'.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-11 11:15:17 -04:00
Peter Rosin
7db93c0218 Convert file name to toolchain format when invoking $NM.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms)
(func_win32_libid, func_cygming_gnu_implib_p)
(func_cygming_ms_implib_p): When using the name lister to find
symbols in files, convert the file names to a format appropriate
for the tool. Fixes testsuite issues in mdemo-static-make.test
and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW
using MinGW native tools (a.k.a. a "faked" cross).

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-10 15:04:17 +02:00
Peter Rosin
18a85621b9 Fix dependency tracking for MSYS/MinGW.
* libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy
argument which allows the user to specify conversions that are
not desired.
(func_mode_compile): Don't convert source files on MSYS, as
MSYS does it for us. This fixes a regression introduced by
"Use func_to_tool_file instead of fix_srcfile_path".
Reported by Charles Wilson.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-09 20:51:27 +02:00
Peter Rosin
0b71549aa2 Mention adjustment of naming of MSVC import libraries in NEWS.
* NEWS: Mention the change in import library naming on MSVC.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-08 13:39:52 +02:00
Peter Rosin
89819ce23b Adjust naming of MSVC import libraries.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
[pw32, cegcc] <cl*, library_names_spec>: Adjust naming of the
import library from foo-<major-version>.lib to foo.dll.lib, to
avoid clashes with the static library for unversioned libraries.
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32]
[cegcc] <cl*, archive_expsym_cmds>: Explicitely name the import
library to match the above.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-07 18:31:18 +02:00
Peter Rosin
4faba0449e Fixup texi typo in previous.
* doc/libtool.texi (libtool script content) <postlink_cmds>:
Add missing 'code' command.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-07 11:07:10 +02:00
Peter Rosin
25d44a7ae0 Convert POSIX file names to toolchain format for MSVC
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[cygwin, mingw, pw32, cegcc] <cl*, postlink_cmds>: Make
sure the -outputresource: file name for the manifest tool is
in w32 format.
<cl*, archive_expsym_cmds>: Likewise for the MSVC command file
containing the exports and the output file name.
* libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the
toolchain format of the output_objdir file name and store it in
the tool_output_objdir variable. Also replace any occurrence of
@TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the
@OUTPUT@ content.
* doc/libtool.texi (libtool script content): Update description
of postlink_cmds to mention @TOOL_OUTPUT@.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-07 07:04:49 +02:00
Peter Rosin
d243a1ec53 Use func_to_tool_file instead of fix_srcfile_path.
* libltdl/config/ltmain.m4sh (func_mode_compile): Replace the
fix_srcfile_path hook with a call to func_to_tool_file.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32]
[cegcc]: Drop fix_srcfile_path.
* doc/libtool.texi (libtool script contents): Likewise.
* NEWS: Mention that fix_srcfile_path has been replaced.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-06 10:40:25 +02:00
Peter Rosin
742873613d Convert file names to toolchain format in $NM and $AR @files.
* libltdl/config/ltmain.m4sh (func_mode_link): When listing
symbols and when creating archives using command files (or
response files), make sure that both the name of the command
file and the content are made up of file names in a format
appropriate for the tool. Fixes stresstest.at on MSYS when
run with low command line length.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-06 10:39:10 +02:00
Peter Rosin
4dcbe43583 Convert file names to toolchain format when linking.
* libltdl/config/ltmain.m4sh (func_mode_link): When exporting
symbols and when linking using command files (or response
files), make sure that both the name of the command file and
the content are made up of file names in a format appropriate
for the tool. Fixes problems in stresstest.at on MSYS when run
with low command line length.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-06 10:38:34 +02:00
Peter Rosin
375a576d09 Add file name conversion from $build to toolchain.
* configure.ac: Ensure to_tool_file_cmd is available to Makefile.
* libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add
cache variable lt_cv_to_tool_file_cmd that describes how to
convert file names from $build to toolchain format.
* libltdl/config/ltmain.m4sh (func_to_tool_file): New function
that utilizes the above.
* Makefile.am: Ensure to_tool_file_cmd is included in
TEST_ENVIRONMENT so that it is passed to (old testsuite) tests.
* testsuite.at: Ensure to_tool_file_cmd is passed as a variable
setting on the configure line for (new testsuite) tests.
* doc/libtool.texi (libtool script content): Update with
to_tool_file_cmd description.
(Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-06 08:23:52 +02:00
Ralf Wildenhues
0f052db3b8 Merge remote branch 'origin/master' 2010-09-02 21:12:16 +02:00
Ralf Wildenhues
327f014068 Merge branch 'master' into lto 2010-09-02 21:06:43 +02:00
Ralf Wildenhues
f2fc0e0369 tests: avoid spurious test failure due to library mode on HP-UX.
* tests/help.at (debug tracing): Use $lt_INSTALL not cp for
install mode, the latter will not overwrite an existing library
with mode 555.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-02 08:18:12 +02:00
Charles Wilson
a77cfa4188 Path conversion documentation
* doc/libtool.texi (Platform quirks): Add new subsections
'Cross compiling' and 'File name conversion'.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-02 01:34:23 -04:00
Ralf Wildenhues
786befce76 tests: avoid spurious pic_flag test failure on HP-UX 10.20.
* tests/pic_flag.at (override pic_flag at configure time):
Match HP-UX 10.20 cc warning about unknown options, to skip
the test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-01 22:24:37 +02:00
Ralf Wildenhues
e350fb0744 tests: fix localization test for GCC on HP-UX 11.00.
* tests/localization.at (localized compiler messages): Be sure
to switch the locale only for the actual compiler commands, so
we don't pick up warnings from helper tools such as diff which
may not have the locale installed.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-01 22:12:13 +02:00
Ralf Wildenhues
7db65ac237 Avoid leaking make flags into testsuite results.
* tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__
and MAKE_JOBS_FIFO.
* tests/testsuite.at: Likewise.
Fixes warnings in test logs when the user uses 'make -jN check'
and inner $MAKE invocations can't connect to the job server.
Fixes spurious failures of configure-iface.at and of
demo-noinst-link tests with BSD and Tru64 make if the user uses
'make -k', as the exit status of the latter is not reliable.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-01 21:30:30 +02:00
Gary V. Vaughan
de0b9d8f70 Remove announce-gen.m4sh and mailnotify.m4sh.
* libltdl/config/announce-gen.m4sh: Removed.  This script has
no apparent connection to libtool functionality, and mostly
duplicates the better maintained gnulib announce-gen script.
* libltdl/config/mailnotify.sh: Removed. This script was used
by only clcommit.m4sh and announce-gen.m4sh, both of which are
now removed too.
* Makefile.maint (announce-gen, libltdl/config/mailnotify):
Targets removed.
* bootstrap: Remove the mailnotify regeneration warning.
* HACKING (Release Procedure): Remove references to
announce-gen.
(Alpha release note template, Full release note template):
Reinstated from before announce-gen was introduced.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-01 12:52:55 +07:00
Gary V. Vaughan
52c3155962 Remove clcommit.m4sh.
* clcommit.m4sh: Removed. This script was written to help keep
ChangeLog and commit messages in sync when committing to CVS,
and is an anachronism now that Libtool uses git.
* Makefile.maint (commit): Target removed.
* bootstrap: Don't generate commit.
* HACKING (Release Procedure): Adjusted.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-01 12:52:46 +07:00
Peter Rosin
26dacf3464 archive-in-archive.at passes with Microsoft lib.
* tests/archive-in-archive.at: Tighten test to check that the desired
object files are indeed part of the archive. Microsoft lib still
passes, so remove the expected failure for that case.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-31 20:59:11 +02:00
Peter Rosin
185a2f71d0 Dump archiver output to the log when testing @file support.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log
when testing for @file support.
Suggested by Ralf Wildenhues.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-31 19:04:22 +02:00
Peter Rosin
34f87a6b07 Silence archiver output when testing @file support.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr
to the bit bucket when testing for @file support.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-31 13:38:47 +02:00
Gary V. Vaughan
d226dc44a3 Remove double `Generated from foo.m4sh' lines.
We now require a modern Autoconf to bootstrap libtool, which
will add the `Generated by ...' boiler-plate automatically,
so we can remove the hand-rolled @configure_input@
substitutions we had been doing:
* clcommit.m4sh, libtoolize.m4sh, tests/defs.sh,
libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/mailnotify.m4sh: Remove @configure_input@.
* Makefile.am (edit): Remove configure_input substitution.
(libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
(tests/defs): Don't set `$input' shell variable.
* Makefile.maint (announce_gen, libltdl/config/mailnotify)
(commit): Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-08-31 17:54:10 +07:00
Peter Rosin
9a99cfa036 Extract the archive name from the .la file and use $AR (not ar).
* Makefile.am: Pass AR through to the testsuite.
* tests/archive-in-archive.at: Bump copyright year. Extract archive
name from the .la file instead of hardcoding the name, and allow
different archivers. Also clarify that the tested functionality is
currently broken.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-31 11:48:28 +02:00
Ralf Wildenhues
9e0722e8df tests: skip -Wall -Werror with Tru64 cc in cwrapper test.
* tests/cwrapper.at (cwrapper for uninstalled executables):
Use a link test rather than a compile test to flesh out unknown
compiler flags starting with -W; Tru64/OSF1 cc will happily
accept `-Wall -Werror' as indication to pass flags on to
subprocesses.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-30 23:04:48 +02:00
Ralf Wildenhues
67a761c3f0 tests: avoid getopt-m4sh failures when autom4te is not available.
* tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP):
Check $M4SH --version, skip on failure.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-30 22:51:02 +02:00
Ralf Wildenhues
730c1343a4 tests: mark 'syntax of .la files' as XFAIL, expose failure.
* tests/lalib-syntax.at (syntax of .la files): Assert that the
string returned by lt_dlerror after a failure is non-NULL, so
the failure shows up on systems other than Solaris.  Mark test
as expected to fail.
Suggested by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-30 22:42:11 +02:00
Eric Blake
e91e2dec63 Simplify recent configure quoting portability workaround.
* configure.ac: Simplify setting of timestamp_string.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-30 21:32:35 +02:00
Charles Wilson
f91cf561ab Update path conversion warning messages
* libltdl/config/ltmain.m4sh (func_convert_file_check): Update
comments and warning message.
(func_convert_path_check): Update warning message.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-08-30 02:24:22 -04:00
Peter Rosin
7f41a19bc9 Fix typo when renaming path conversion functions.
* tests/testsuite.at: Ensure to_host_file_cmd is passed as a
variable setting on the configure line for (new testsuite) tests.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-08-29 18:17:45 +02:00
Ralf Wildenhues
b81fd4ef00 Support GCC LTO on GNU/Linux.
* libltdl/config/ltmain.m4sh (func_mode_link): Allow through
flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols
starting with __gnu_lto.
(_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsyms_cmds>:
Add $pic_flag for GCC.
(_LT_LANG_CXX_CONFIG) [linux] <archive_cmds, archive_expsyms_cmds>:
Likewise.
(_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-29 17:31:57 +02:00
Ralf Wildenhues
ada610770b Disable GCC LTO for verbose library extraction.
* libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily
append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which
are substituted with the per-language variables here) contain
-flto or match -fwhopr*, respectively.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-29 17:30:19 +02:00
Ralf Wildenhues
bf1d52eb53 Save and restore CFLAGS properly inside libtool.m4 macros.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different
temporary variables for saved and restored values of $LIBS,
$CFLAGS, to avoid overlap with the *_CONFIG macros.
(_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG)
(_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore
$CFLAGS, and override it with per-language flags, so that in
case output_verbose_link_cmd uses $CFLAGS, the right flags are
used.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-29 17:28:29 +02:00
Ralf Wildenhues
957541fbe2 Work around yet another shell quoting portability issue.
* configure.ac: Avoid nonportable quoted alternate variable
value in unquoted here document, so Solaris 10 sh and Tru64
ksh do not print spurious extra quotes.
2010-08-29 16:58:31 +02:00
Ralf Wildenhues
f54621ca52 Merge branch 'parallel-tests'
* parallel-tests:
  Silence order-only configure test for AIX make.
2010-08-29 09:12:28 +02:00
Ralf Wildenhues
d6ff024982 Silence order-only configure test for AIX make.
* configure.ac: Also drop standard output, for AIX 5.1 make.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-29 09:12:14 +02:00