Commit Graph

3766 Commits

Author SHA1 Message Date
Gary V. Vaughan
a2bb0c980f libtool: remove redundant unsubstituted shell var defaults.
* Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from
libltdl/config/general.m4 sets some default shell variables
designed to be substituted by `$(configure_edit)'.  Actually,
`libtool' uses the language tag values for those variables, and
`ltmain.m4sh' is not passed through `$(configure_edit)', so they
are just noise.  Edit them out at bootstrap time.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
Gary V. Vaughan
c9497cc81c maint: don't leak developer GREP, SED etc into distribution file.
* Makefile.am: Having rearranged the file, now apply the actual
changes to follow-up.
(edit): Split into two parts...
(bootstrap_edit): ...substitutions that should happen at bootstrap
time...
(configure_edit): ...and substitutions that should not happen until
configure time.
* Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh)
(libtoolize.in, tests/package.m4): Use bootstrap_edit.
(libtoolize, tests/defs): Use configure_edit.
* HACKING (Release Procedure): Remove the note to workaround the
bug fixed by this changeset.
* NEWS (Bug fixes): Mention that this bug is now fixed.
Reported by Joerg Sonnenberger.
2010-09-25 01:55:29 +07:00
Gary V. Vaughan
dd5b4f0655 maint: rearrange Makefile.am in preparation for a follow-up patch.
* Makefile.am (Libtool scripts.): Move this section below the
`Bootstrap.' section...
(libtoolize.in): ...except this one which is generated at
bootstrap time, and was added into the `Bootstrap.' section.
(Libltdl.): Move this section below the `Libtool scripts.'
section.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
Peter Rosin
888582c631 msvc: don't try to export import descriptors.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]
[pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in
import libraries related to describing what dll(s) the import
library is importing. Fixes problem in tests/demo-make.test
and some other tests.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-24 08:44:24 +02:00
Ralf Wildenhues
67bbe0490f Fix regression in command-line length computation.
* libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather
than possibly-undefined func_fallback_echo, to ensure we fork
and exec for this test.
* NEWS: Update.
Regression introduced in v2.2.6-39-g9c3d4d8.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-22 20:18:54 +02:00
Gary V. Vaughan
f0ba93d85b Post-release administrivia.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers to 2.4.1a.
* NEWS: Add header line for next release.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-22 23:25:50 +07:00
Gary V. Vaughan
e9170e0daf Release 2.4.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the
static libprefix interface, so new version-info is C+1:0:R+1.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers.
* NEWS: Update version number.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-22 23:25:44 +07:00
Gary V. Vaughan
e3b973b8e1 manual: web-manual index.html clashes with @node Index.
* doc/libtool.texi (Index): Renamed to `Combined Index'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-22 23:25:35 +07:00
Gary V. Vaughan
ba19397c94 tests: ISO C++ forbids declaration of 'v1' with no type.
* tests/lt_dlexit.at (lt_dlexit unloading libs): Added an
explicit int type to declaration of 'v1' to prevent compilation
failure with C++.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-22 23:25:23 +07:00
Peter Rosin
bff43a8955 tests: reloadable objects do not work on MSVC, SKIP test.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
[cygwin, mingw, pw32, cegcc] <cl*, reload_cmds>: Indicate that
reloadable objects do not work.
* tests/duplicate_conv.at: Skip last test if reloadable
objects do not work.
* doc/libtool.texi (libtool script contents) <reload_cmds>:
Document how to indicate that reloadable objects do not work.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-22 09:58:47 +02:00
Peter Rosin
09142eaeda msvc: eliminate spaces in the library search path.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
<cl*, sys_lib_search_path_spec>: The LIB path variable telling
where MSVC looks for libraries is likely to contain directory
names with spaces.  Convert those directory names to the short
8.3 DOS form (i.e. without spaces) when storing them in
sys_lib_search_path_spec, as that is a space separated variable.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-21 21:38:27 +02:00
Ralf Wildenhues
830f33846e Revert to per-language libpath computation on AIX.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept
tagname argument.  Use global cache variable lt_cv_aix_libpath
to override per-language tag variables for the libpath value.
Fix the sed script to remove trailing space.
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to
_LT_SYS_MODULE_PATH_AIX.
Tracked down and reported by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-21 19:58:06 +02:00
Gary V. Vaughan
850f41781e maint: edit-readme-alpha shouldn't try to re-edit during dist.
* libltdl/config/edit-readme-alpha: If README is non-writable
assume that it is being run from distcheck, and bail out with
a warning (to help diagnose cases where the heuristic is not
correct).  However, if README has already been edited to the
alpha text, quietly skip without an error message.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-21 14:10:38 +07:00
Eric Blake
627373516c maint: drop autobuild requirement
* HACKING: Update.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-20 14:40:09 -06:00
Eric Blake
31221926db build: ship autobuild.m4, to reduce bootstrap requirement
Shipping a copy of autobuild.m4 makes it so that users need not
pre-install autobuild just for aclocal to find the macro AB_INIT.

* libltdl/m4/.gitignore: Drop autobuild.m4.
* libltdl/m4/autobuild.m4: New file, copied from autobuild.
* configure.ac (AB_INIT): Unconditionally call it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-20 12:04:50 -06:00
Peter Rosin
48c28ce65b libltdl: Make sure preloaded symbols are declared extern "C".
* libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the
declaration of lt__PROGRAM__LTX_preloaded_symbols to global
scope and make sure it has "C" linkage.  Makes exceptions.at
succeed on MSVC.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-20 09:11:43 +02:00
Peter Rosin
52972128c5 tests: __declspec (dll{ex,im}port) in tests/exceptions.at
* tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use
__declspec (dllimport) and __declspec (dllexport) instead of
the less portable __attribute__ ((dllimport)) and
__attribute__ ((dllexport)).  Makes the test compile on MSVC.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-20 09:07:25 +02:00
Peter Rosin
f058408529 tests: Import items from liba1 for MSVC.
* tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and
variable v1 from liba1 when using them from modb1.  Makes the
test pass on MSVC.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-19 14:14:21 +02:00
Gary V. Vaughan
3ce570843e maint: use sed instead of maintaining 2 README files.
* README.alpha: Deleted.  It was mostly identical to README.
* libltdl/config/edit-readme-alpha: New script to edit the
contents of README in the dist tree prior to tarring up.
* Makefile.am (dist-hook): Run it before rolling alpha release
tarball.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:31 +07:00
Gary V. Vaughan
28956db0f0 maint: improve README's `Obtaining the Latest Sources'.
* README (Obtaining the Latest Sources): Add instructions for
obtaining stable, alpha and nightly snapshot tarballs.
* README.alpha (Obtaining the Latest Sources): Adjust to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:30 +07:00
Gary V. Vaughan
14df28e4f4 maint: reformat README `The Test Suites' for consistency.
* README (The Test Suites): Reformatted for consistency.
* README.alpha (The Test Suites): Adjust to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:30 +07:00
Gary V. Vaughan
aded917934 maint: improve `Reporting Bugs' in README and README.alpha.
* README (Reporting Bugs): Rewritten to a more complete and
concise guide to providing a good bug report.
* README.alpha (Reporting Bugs): Adjust to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:30 +07:00
Gary V. Vaughan
a42ab2b857 maint: consolidate Introductions of README and README.alpha.
* README (Introduction): Rewritten to a more logical order for
first time users, incorporating some additional text that was
previously only in README.alpha.
* README.alpha (Introduction): Adjust to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:30 +07:00
Gary V. Vaughan
9837f9a545 maint: copy the Version Numbering section into README.alpha.
* README.alpha (Version Numbering): No less useful for users
of alpha releases.  Copied from README.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-19 10:51:29 +07:00
Ralf Wildenhues
8e7350625f tests: avoid distcheck failure with --disable-ltdl-install.
* tests/ltdl-libdir.at (libdir of installed modules): Skip if
$LIBLTDL does not exist.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-18 10:21:38 +02:00
Gary V. Vaughan
bb8ae2a29a maint: improve README instructions for fetching latest version.
* README, README-alpha (Obtaining the Latest Sources): New
section, describing use of savannah repositories and bootstrap.
* README.alpha (Reporting Bugs): Remove git instructions in
favour of a reference to the new `Obtaining the Latest Sources'
section.
2010-09-18 09:44:56 +07:00
Peter Rosin
92d9818d7e tests: actually detect missing 'test' in 'if "$foo" = ...'.
* tests/sh.test: Remove extra backslash in regex.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-17 22:31:08 +02:00
Peter Rosin
a93b848108 Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2]
[pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-17 22:25:45 +02:00
Ralf Wildenhues
9797b616fc Merge branch 'lto'
* lto:
  LTO: consistently accept -fwhopr* and -flto* for GCC.
2010-09-17 21:48:00 +02:00
Ralf Wildenhues
d4bf222845 LTO: consistently accept -fwhopr* and -flto* for GCC.
* libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*.
* libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match
-flto*.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-17 21:47:18 +02:00
Charles Wilson
69e7767131 Fix order of PATH manipulation in cwrapper and shwrapper
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call
lt_update_exe_path before lt_update_lib_path, to ensure that the
temporary rpath values (which include the OBJDIRs of uninstalled
libtool libraries) precede installation and final -rpath directories.
(func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending
$temp_rpath to $shlibpath_var; similar rationale as above.
Reported by Jon Turney <jon.turney@dronecode.org.uk>

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-17 14:38:22 -04:00
Charles Wilson
301c4cf24f Document libtool variable to_host_file_cmd.
* doc/libtool.texi (libtool script contents:to_host_file_cmd): Document
variable.
(libtool script contents:to_tool_file_cmd): Prefer `build platform'
to `build system'; Ditto `host platform'.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-17 13:38:21 -04:00
Charles Wilson
254f5280e6 Fix sh.test failure introduced in 72064249
* libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor syntax.

Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
2010-09-16 23:36:00 -04:00
Ralf Wildenhues
3d4f9e3245 tests: avoid localization failure due to unstable compiler messages.
* tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT):
Attempt to normalize temporary file names in error messages.
Fixes 'localized compiler messages' test failure on Darwin when
creating fat (multi-ABI) libraries.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-09-16 22:02:50 +02:00
Peter Rosin
72064249b2 Prefer $NM @file when the toolchain isn't native to $build.
* libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating
the command line length and take the @file branch *if* the file
names needs to be converted for the toolchain and the @file
branch works.  Fixes problems in stresstest.at when doing a cross
from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked"
cross), and for the specific case of MSVC on Cygwin it makes the
test pass.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-09-16 20:00:10 +02:00
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