Gary V. Vaughan [Fri, 24 Sep 2010 21:18:04 +0000 (04:18 +0700)]
maint: don't run help2man on programs not-yet-built.
* Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a
comment about why the dependencies here have to be a mite
bizarre.
(distcheck): Added a workaround for the bug described.
Gary V. Vaughan [Sun, 26 Sep 2010 11:19:18 +0000 (18:19 +0700)]
tests: DRYing out `tests/sh.test'.
* Makefile.am (libtool_m4): Canonical location of libtool.m4 file.
(lt_aclocal_m4_deps): Use it.
(check_scripts): New variable for list of scripts to be checked
by `tests/sh.test'.
(legacy_tests_edit): New sed script to substitute `libtool_m4'
and `check_scripts' into `tests/defs'.
(tests/defs.in): Use it.
* tests/defs.m4sh (scripts): Calculate absolute paths of each
entry in `check_scripts' before changing directories.
(libtool_m4): Save location of `libtool.m4'.
(macro_dir, aux_dir): Removed. No longer required by any test.
* tests/sh.test: Remove loop around just `$macro_dir/libtool.m4'
in favour of a single reference to `$libtool_m4' from above.
Gary V. Vaughan [Fri, 24 Sep 2010 21:01:56 +0000 (04:01 +0700)]
maint: pass directory declarations in configure.ac into Makefile.
* configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR)
(AC_CONFIG_MACRO_DIR): Append code to these functions to
capture and propagate their directory arguments to Makefile.
* Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations.
* bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into
`$ltdl_dir'.
<Makefile>: Output the extracted values of `aux_dir', `ltdl_dir'
and `macro_dir' at the top of the quick'n'dirty bootstrap
Makefile.
Gary V. Vaughan [Sun, 26 Sep 2010 09:21:10 +0000 (16:21 +0700)]
maint: factor out ltmain.sh variable deletion.
* Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by
adding the extra line to delete boilerplate variable settings
from libltdl/config/general.m4sh that don't apply here.
(libltdl/config/ltmain.sh): Use it.
Gary V. Vaughan [Fri, 24 Sep 2010 20:40:27 +0000 (03:40 +0700)]
maint: DRYing out `Makefile.am' file paths.
* Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in
declaration. Adjust all references.
(doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location
to hold directory paths, all including `$(srcdir)', to reduce
typing.
(LT_M4SH): Use `$m4sh_dir' as include directory.
(defs): This one is for a file in the build-tree, so no
leading `$(srcdir)'.
Gary V. Vaughan [Fri, 24 Sep 2010 20:25:48 +0000 (03:25 +0700)]
CLEANUP: fix error from pushing too far up the branch.
* Makefile.am (install-data-local): Undo character transposition
from too early push of untested v2.4-17-gaf74d58.
* ChangeLog (2010-09-16): Remove spurious entry.
Gary V. Vaughan [Fri, 24 Sep 2010 14:12:18 +0000 (21:12 +0700)]
maint: use macro_dir consistently in all files.
* Makefile.am: Replace all uses of m4dir with macrodir to
match AC_CONFIG_MACRO_DIR.
* libltdl/config/libtoolize.m4sh: Replace all uses of macrodir
with macro_dir.
* tests/defs.m4sh, tests/sh.test: Likewise.
Gary V. Vaughan [Fri, 24 Sep 2010 14:10:19 +0000 (21:10 +0700)]
maint: use aux_dir consistently in all files.
* Makefile.am, Makefile.maint: Replace all uses of auxdir
with aux_dir to match AC_CONFIG_AUX_DIR.
* libltdl/config/libtoolize.m4sh: Likewise.
* tests/defs.m4sh, tests/getopt-m4sh.at: Likewise.
Gary V. Vaughan [Fri, 24 Sep 2010 13:58:39 +0000 (20:58 +0700)]
Makefile: try to be robust against shell meta-chars in filenames.
* Makefile.am: In each rule body, unless a make variable needs
to be seen as multiple words by the shell (for word-splitting
loops, or because it contains several commands), quote it. Use
single quotes unless the shell needs to perform variable inter-
polation, in which case use double quotes.
Gary V. Vaughan [Thu, 2 Sep 2010 09:44:32 +0000 (16:44 +0700)]
maint: simplify and improve safety of bootstrap process.
* Makefile.am (bootstrap_files): List files that need to be
generated at bootstrap time before `./configure && make' can
work. It turns out that this is considerably fewer files than we
had thought necessary previously.
(bootstrap-deps-prep): Ensure minimum set of required substitution
variables are non-empty.
(bootstrap-deps): Depend on `bootstrap' files.
* bootstrap (Generate bootstrap dependencies): Now that
`Makefile.am' is entirely responsible for rebuilding files at
bootstrap time, we need only specify the new `bootstrap-deps'
target, and supply values for the substitutions checked by
`bootstrap-deps-prep'.
* configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet
right after running `bootstrap'. So rely on the presence of
`libltdl/config/libtoolize.m4sh', which is always there.
Gary V. Vaughan [Thu, 23 Sep 2010 12:42:30 +0000 (19:42 +0700)]
build: eliminate `ltmain.in' and `libtoolize.in' intermediate files.
* Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe
the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to
avoid use of superfluous intermediate file.
Gary V. Vaughan [Thu, 23 Sep 2010 12:31:10 +0000 (19:31 +0700)]
build: don't hardcode repeated long paths in Makefile rules.
According to the DRY principle, scattering several copies of
something across a file or project leads to pain. Let's not
do that!
* Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh),
(libtoolize_in, ltmain_m4sh, ltversion_in): New variables to
hold the location of important files and targets.
(EXTRA_DIST): Add the distributed ones by variable.
(libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4)
(libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs)
(tests/defs.in): Use the new variables to reduce noise and
repetition.
Gary V. Vaughan [Thu, 23 Sep 2010 11:44:16 +0000 (18:44 +0700)]
build: name temporary files in `Makefile.am' consistently.
Sadly, we still have to jump through hoops for MICROS~1's very
old, very broken 8.3 naming convention, so we have to be careful
to be unique in the first 8 letters, and not to use two periods
in a filename, otherwise we could use the much more elegent
`temporary files use "$@T"' idiom:
* Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file
to `ltversion.tmp'.
(libltdl/config/ltmain.sh): Rename temporary file to
`libltdl/config/ltmain.tmp'.
(libtoolize): Rename temporary file to `libtoolize.tmp'.
(tests/defs): Rename temporary file to `tests/defs.tmp'
(tests/testsuite): Rename temporary file to `tests/testsuite.tmp'.
(CLEANFILES): Append temporary files as we create rules that
use them.
Gary V. Vaughan [Thu, 23 Sep 2010 11:06:09 +0000 (18:06 +0700)]
build: factor Makefile.am `m4sh' invocations to LT_M4SH.
* Makefile.am (LT_M4SH): Now that all directories are listed as
fully qualified paths, the search path argument to M4SH is always
the same, so factor it out into a variable. Adjust all callers.
Gary V. Vaughan [Thu, 23 Sep 2010 11:02:12 +0000 (18:02 +0700)]
build: avoid unnecessary directory changes in Makefile rules.
* Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4,
(libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am)
(libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid
unnecessary `cd' commands by using fully qualified paths to files
outside of current directory.
Gary V. Vaughan [Thu, 23 Sep 2010 10:37:00 +0000 (17:37 +0700)]
build: compare `revision' rather than `correctver' in Makefile.am.
* Makefile.am (rebuild): Set the shell variable `revision' rather
than `correctver' for clarity of purpose.
(bootstrap_edit, libltdl/config/ltmain.sh): Adjust.
(libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging
the serial number comment line with set, extract `macro_version'
from this file, and compare it directly with `revision'.
(libtool): Likewise for `package_revision'.
Gary V. Vaughan [Fri, 24 Sep 2010 05:51:36 +0000 (12:51 +0700)]
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.
Gary V. Vaughan [Thu, 23 Sep 2010 10:00:08 +0000 (17:00 +0700)]
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.
Gary V. Vaughan [Wed, 1 Sep 2010 07:41:52 +0000 (14:41 +0700)]
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.
Peter Rosin [Fri, 24 Sep 2010 06:44:24 +0000 (08:44 +0200)]
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.
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.
Gary V. Vaughan [Wed, 22 Sep 2010 14:42:13 +0000 (21:42 +0700)]
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.
Peter Rosin [Wed, 22 Sep 2010 07:58:47 +0000 (09:58 +0200)]
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.
Peter Rosin [Tue, 21 Sep 2010 18:31:37 +0000 (20:31 +0200)]
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.
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.
Gary V. Vaughan [Tue, 21 Sep 2010 00:57:15 +0000 (07:57 +0700)]
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.
Eric Blake [Mon, 20 Sep 2010 18:04:50 +0000 (12:04 -0600)]
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.
Peter Rosin [Mon, 20 Sep 2010 07:11:43 +0000 (09:11 +0200)]
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.
Peter Rosin [Mon, 20 Sep 2010 07:07:25 +0000 (09:07 +0200)]
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.
Gary V. Vaughan [Sat, 18 Sep 2010 05:08:13 +0000 (12:08 +0700)]
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.
Gary V. Vaughan [Sat, 18 Sep 2010 04:13:50 +0000 (11:13 +0700)]
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.
Gary V. Vaughan [Sat, 18 Sep 2010 03:38:10 +0000 (10:38 +0700)]
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.
Gary V. Vaughan [Sat, 18 Sep 2010 03:08:25 +0000 (10:08 +0700)]
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.
Gary V. Vaughan [Thu, 16 Sep 2010 02:47:45 +0000 (09:47 +0700)]
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.
Charles Wilson [Fri, 17 Sep 2010 16:23:28 +0000 (12:23 -0400)]
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>
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.
Peter Rosin [Mon, 13 Sep 2010 07:48:57 +0000 (09:48 +0200)]
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.
Gary V. Vaughan [Thu, 16 Sep 2010 02:05:28 +0000 (09:05 +0700)]
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.
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.
* 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.
Charles Wilson [Sun, 12 Sep 2010 13:19:51 +0000 (09:19 -0400)]
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>
* 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.
Peter Rosin [Fri, 10 Sep 2010 13:04:17 +0000 (15:04 +0200)]
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).
Peter Rosin [Thu, 9 Sep 2010 18:51:27 +0000 (20:51 +0200)]
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.
Peter Rosin [Tue, 7 Sep 2010 16:31:18 +0000 (18:31 +0200)]
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.
Peter Rosin [Tue, 7 Sep 2010 05:04:49 +0000 (07:04 +0200)]
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@.
Peter Rosin [Mon, 6 Sep 2010 08:40:25 +0000 (10:40 +0200)]
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.
Peter Rosin [Mon, 6 Sep 2010 08:39:10 +0000 (10:39 +0200)]
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.
Peter Rosin [Mon, 6 Sep 2010 08:38:34 +0000 (10:38 +0200)]
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.
Peter Rosin [Mon, 6 Sep 2010 06:23:52 +0000 (08:23 +0200)]
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.
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.
* 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.
Gary V. Vaughan [Wed, 1 Sep 2010 05:13:47 +0000 (12:13 +0700)]
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.
Gary V. Vaughan [Wed, 1 Sep 2010 03:11:40 +0000 (10:11 +0700)]
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.
Peter Rosin [Tue, 31 Aug 2010 18:59:11 +0000 (20:59 +0200)]
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.
Gary V. Vaughan [Tue, 31 Aug 2010 10:54:10 +0000 (17:54 +0700)]
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.
Peter Rosin [Tue, 31 Aug 2010 09:48:28 +0000 (11:48 +0200)]
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.
Ralf Wildenhues [Mon, 30 Aug 2010 21:04:03 +0000 (23:04 +0200)]
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.
Ralf Wildenhues [Mon, 30 Aug 2010 20:42:11 +0000 (22:42 +0200)]
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.