3586 Commits

Author SHA1 Message Date
Gary V. Vaughan
27b3a20a7e 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-08-15 05:25:37 +07:00
Gary V. Vaughan
c07adbf806 tests: remove unused aux_dir' variable from getopt-m4sh.test'.
* tests/getopt-m4sh.at (aux_dir): Remove unused variable.
2011-08-15 05:24:06 +07:00
Gary V. Vaughan
1ace00c27a 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.
2011-08-15 05:24:06 +07:00
Gary V. Vaughan
a9c9b239de 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.
2011-08-15 05:24:00 +07:00
Gary V. Vaughan
963cb4d5e3 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.
2010-09-26 18:42:24 +07:00
Gary V. Vaughan
2ed587d237 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)'.
2010-09-26 18:42:12 +07:00
Gary V. Vaughan
0280c36879 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.
2010-09-25 03:25:48 +07:00
Gary V. Vaughan
85b2fd6395 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
862ac4b664 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
af74d58617 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
3674fa1b60 maint: let make employ user's `SED' setting.
* Makefile.am: Replace hard-coded `sed' with `$(SED)' through-
out.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
9813c6d8e4 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
dcf5ff46f3 build: eliminate superfluous temporary files from `Makefile.am'.
* Makefile.am (CLEANFILES): Remove temporary file entries.
(libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
(tests/defs, tests/testsuite): Factor away temporary files.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
d6385aabc0 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
cdeb16ae0f 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
4f3d14a0ce build: make better use of automatic variables in `Makefile.am'.
* Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am)
(libltdl/config/mkstamp, libltdl/config/ltmain.m4sh)
(libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in):
Make better use of automatic variables.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:30 +07:00
Gary V. Vaughan
c8b7bc751e 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
Gary V. Vaughan
626dfe3d98 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
Gary V. Vaughan
ed87a34a9f 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
Gary V. Vaughan
57d371bcf4 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'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-09-25 01:55:29 +07:00
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>
v2.4
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