Gary V. Vaughan [Mon, 28 Oct 2013 07:14:22 +0000 (20:14 +1300)]
funclib.sh: simplify version comparison functions.
* gl/build-aux/funclib.sh (func_sort_ver): Much simplified.
(func_lt_ver): New function, return true if arguments are in
ascending order.
* gl/build-aux/bootstrap.in: Simplify with func_lt_ver.
* gl/build-aux/do-release-commit-and-tag.diff: Likewise.
* bootstrap: Regenerate.
Co-Authored-by: Paul Eggert <eggert@cs.ucla.edu> Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Gary V. Vaughan [Mon, 28 Oct 2013 06:55:36 +0000 (19:55 +1300)]
bootstrap: show found GREP and SED in verbose mode.
* gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove.
These are already set by funclib.sh.
(func_prep): After --verbose has been processed, show the paths
to GREP and SED found by funclib.sh.
* bootstrap: Regenerate.
Gary V. Vaughan [Mon, 28 Oct 2013 05:50:36 +0000 (18:50 +1300)]
refactor: simplify program path searching in funclib.sh.
* gl/build-aux/funclib.sh (func_path_progs): New function. Factor
out common code from GREP and SED searches.
(func_check_prog_sed, func_check_prog_grep): New functions, for
non-common code.
(scriptversion): Update.
* bootstrap: Regenerate.
Gary V. Vaughan [Mon, 28 Oct 2013 04:38:23 +0000 (17:38 +1300)]
bootstrap: search for a non-truncating grep binary.
On at least Unixware 7.1.4, the first grep binary on PATH is
unable to process the extract-trace scripts.
* gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary
that doesn't truncate its own output if available, and set GREP
accordingly.
* Makefile.am (SCRIPT_ENV): Add setting for GREP.
* bootstrap: Regenerate.
Reported by Tim Rice.
Gary V. Vaughan [Mon, 28 Oct 2013 03:06:40 +0000 (16:06 +1300)]
bootstrap: search for a non-truncating sed binary.
On at least Unixware 7.1.4, the first sed binary on PATH is
unable to process the extract-trace scripts.
* gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ;
according to a feature test.
(func_executable_p): New function.
(SED): Search PATH for a sed binary that doesn't truncate its
own output if available, and set SED accordingly.
(scriptversion): Update.
* Makefile.am (SCRIPT_ENV): New macro, for propagating configured
variables.
(ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it.
* bootstrap: Regenerate.
Reported by Tim Rice.
Gary V. Vaughan [Sun, 27 Oct 2013 21:13:34 +0000 (10:13 +1300)]
tests: use autotest as_unset rather than rerolling $unset locally.
On at least Unixware 7.1.4, the shell variable 'unset' gets set
to 'no' during the testsuite run, breaking several test cases.
We should have been using Autotest $as_unset anyway.
* tests/testsuite.at (unset): Remove test and variable setting.
(LT_AT_MAKE): Use $as_unset as provided by autotest boilerplate
instead of our own $unset.
* tests/demo.at (uninstalled libraries ave priority): Likewise.
Reported by Tim Rice.
Gary V. Vaughan [Sat, 26 Oct 2013 02:44:46 +0000 (15:44 +1300)]
gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag.
* gl/build-aux/do-release-commit-and-tag: Source funclib.sh and
then use portable func_sort_ver rather than force installation of
all GNU coreutils just for sort -V support.
Gary V. Vaughan [Sat, 26 Oct 2013 00:33:14 +0000 (13:33 +1300)]
tests: use K&R main() syntax for old-ltdl-iface.at.
At least Mac OS 10.8.5 clang chokes on the previous
'const void *argv[]' parameter, but since we don't use it
anyway, keep to the theme of old api support and use K&R
syntax.
* tests/old-ltdl-iface.at (old.c): Use 'main ()' instead of
unportable 'int main (int argc, const void *argv[])'.
Gary V. Vaughan [Fri, 25 Oct 2013 23:20:18 +0000 (12:20 +1300)]
libltdl: bump -version-info revision by 1.
The only changes to libltdl sources since v2.4.2 have been
cosmetic and stylistic.
* libltdl/ltdl.mk (LTDL_VERSION_INFO): For a release with no
interface changes C:R:A becomes C:R+1:A.
Vadim Zeitlin [Thu, 10 Oct 2013 00:35:13 +0000 (17:35 -0700)]
libtool: Don't fall back to static libraries if building them was disabled
If -no-undefined was not specified but the platform didn't
support shared libraries with undefined symbols (e.g. Cygwin/
MinGW), static libraries were built instead of shared ones,
even if building them was explicitly disabled with --disable-
static configure option.
Fix this by stopping with a fatal error if a shared library
can't be built in this case instead of unexpectedly building a
static library instead.
* libltdl/config/ltmain.m4sh (func_mode_link()): Stop with
fatal error when trying to build a shared library without -no-
undefined on a platform not supporting undefined symbols in
shared libraries.
Fabian Groffen [Wed, 9 Oct 2013 21:44:15 +0000 (14:44 -0700)]
libtool: Fix x86_64-pc-solaris2.* GNU ld breakage
Since commit [1] libtool tries to set a 64-bits target for GNU
ld. However, it does so wrongly for x86_64-pc-solaris2.*
targets, causing libtool to believe the linker is called
ld_sol2. There is no such thing, and it obviously breaks
things further down. Some people wrongly assume there is
supposed to be an ld_sol2 on their systems, e.g. [2].
I think the original change is fragile, because it assumes it
has all CHOSTs matched, then appends _sol2. In the wild,
people have used amd64-pc-solaris2* too, so perhaps it would
be safer if the code only appended _sol2 if there is actually
an explicit target set.
Anyhow, since the 64-bits sparc target is called sparc64-* or
sparcv9-*, the sparc case is already correctly handled, so in
the attached patch, I just added an x86_64-* case, although I
could imagine relaxing the i?86 case to *86*-pc-solaris2* too.
In any case, defaulting to a linker called ld_sol2 is wrong.
DJ Delorie [Wed, 9 Oct 2013 21:25:13 +0000 (14:25 -0700)]
libtool: Add TPF settings for LT_SYS_DLOPEN_SELF
* m4/libtool.m4: Since we know that all TPF builds are cross-
builds, do not attempt to run linker tests during config. Use
known constants instead, since we know how dlopen() is
implemented.
Vincent Lefevre [Wed, 9 Oct 2013 21:19:07 +0000 (14:19 -0700)]
libtool: Fix $wl setting for tcc on GNU systems
(This addresses http://bugs.debian.org/663945. See there for
more-detailed discussion.)
tcc gained support for "-Wl,-rpath -Wl,<directory>" in its
commit 7fb0482a ("Support linker options passed in several -Wl
param", 2012-03-14) but libtool doesn't know to use it. Teach
it.
Without this change, running "make check" on MPFR when it has
been built with tcc and shared libraries doesn't work because
libtool generates a -rpath option, which tcc doesn't support.
Peter Johansson [Wed, 9 Oct 2013 21:08:25 +0000 (14:08 -0700)]
libtool: use AS_HELP_STRING in LT_WITH_SYSROOT help message.
This patch fixes so help output is formatted similar with
other macros using AS_HELP_STRING. Also it outputs '[=DIR]'
as I suspect intended rather than '=DIR'.
Joseph Prostko [Wed, 9 Oct 2013 20:34:08 +0000 (13:34 -0700)]
libtool: Haiku change for shlibpath_overrides_runpath
Pretty much all changes to Haiku for Libtool have been
upstreamed, however we currently have an incorrect value for
shlibpath_overrides_runpath. It should be "no" instead of
"yes".
Previously Scott McCreary had submitted patches for us, but I
told him I would work to get this committed, as he is quite
busy lately.
Here is a commit he made to our Haiku Ports site though, that
shows the exact change I am proposing done against Libtool
2.4.2.
Brooks Moses [Wed, 9 Oct 2013 19:32:48 +0000 (12:32 -0700)]
libtool: Discard "-mllvm $arg" options when linking.
Clang accepts options of the form "-mllvm $arg", and passes the
argument as an option to LLVM. These options caused problems
for Libtool when linking; in some cases, the -mllvm option is
passed through but the corresponding argument is dropped. (See
for example http://llvm.org/bugs/show_bug.cgi?id=14716.)
This patch resolves the issue by explicitly matching -mllvm and
taking an argument. Since Clang never uses LLVM for linking,
the matched "-mllvm $arg" option is irrelevant for the link
step, and we can simply discard it once we've recognized it.
Co-authored-by: Johannes Obermayr <johannesobermayr@gmx.de>
Copyright-paperwork-exempt: Yes
Ondřej Bílka [Wed, 9 Oct 2013 01:06:56 +0000 (18:06 -0700)]
maint: Fix various comment and documentation typos.
Ondřej writes: "Hi, this is upstream version of patch that I
sent to gcc. I generated this patch with tool that I am
writing: https://github.com/neleai/stylepp"
(Note: The generated patch was adjusted to retain the non-US
but correct spelling of 'rigourous' before commit. --Brooks)
Peter Rosin [Tue, 17 Sep 2013 18:33:12 +0000 (20:33 +0200)]
libtool: trust -print-search-dirs from recent GCC
Alan Modra hints in [1] that -print-search-dirs was fixed in
GCC 4.2(?), so that it nowadays automatically appends
-print-multi-os-directory for the applicable directories. I.e.
it should no longer be necessary for libtool to append a second
../lib64 when GCC has already done so. Also, the multi-os
appending loop seems to have been added specifically for early
(arguably broken) bi-arch enabled GCCs that printed -m32
directories even though -m64 was the default [2]. So, my
conclusion is that we want any libtool magic to affect
-print-search-dirs output from contemporary GCCs as little as
possible, while continuing to append the
-print-multi-os-directory for the legacy case.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): If any of the
directories printed by -print-search-dirs ends with the
content of -print-multi-os-directory, then assume that
GCC adds the multi-os-directory where appropriate all by
itself and hence don't try to second guess when to add
it manually.
* THANKS: Update.
Gary V. Vaughan [Sun, 15 Sep 2013 13:35:15 +0000 (20:35 +0700)]
bootstrap: make ensure_changelog work for update mode projects.
* gl/build-aux/bootstrap.in (func_bootstrap): Move
func_changelog_ensure invocation from here...
(func_reconfigure): ...to here. If gnulib_modules is empty, then
grep gnulib-cache.m4 for gitlog-to-changelog before invoking
func_changelog_ensure.
* bootstrap: Regenerate.
Gary V. Vaughan [Sun, 15 Sep 2013 06:38:11 +0000 (13:38 +0700)]
bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects.
Recent changes uncovered some bugs in handling of gnulib-tool
options for projects that check in gnulib-cache.m4 rather than
keep a separate list of modules and options in bootstrap.conf.
* gl/build-aux/bootstrap.in (func_require_doc_base)
(func_require_gnulib_name, func_require_local_gl_dir): New
functions to set defaults from gnulib-cache.m4 in projects that
use gnulib-tool in --update mode.
(func_require_gnulib_tool_base_options): Use them to fetch
defaults.
(func_require_gnulib_copy_cmd): New function to calculate the
options required for gnlib-tool copy command.
(func_gnulib_tool_copy_file): Simplify accordingly.
(scriptversion): Bump.
Gary V. Vaughan [Thu, 29 Aug 2013 13:44:42 +0000 (20:44 +0700)]
bootstrap: gnulib_tool=true means no gnulib submodule.
* gl/build-aux/bootstrap.in (func_require_gnulib_tool): No
sneaking off and cloning gnulib when the user already specified
gnulib_tool=true in their bootstrap.conf!
* bootstrap: Regenerate.
Alan Modra [Fri, 23 Aug 2013 13:36:32 +0000 (20:36 +0700)]
bootstrap: make first char of IFS a space.
Putting tab first in IFS breaks func_echo_all usage of $*,
resulting in failure of func_infer_tag to match a command line
using a $CC with trailing spaces. The trailing spaces were
stripped out of CC_expanded but words in $CC were separated by
tabs. This didn't match the makefile expansion of $CC using the
standard IFS with a first char of space.
* gl/build-aux/funclib.sh (IFS): Make first char a space.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 23 Aug 2013 13:28:25 +0000 (20:28 +0700)]
bootstrap: support --no-git and --no-po options.
* gl/build-aux/bootstrap.in (bootstrap_parse_options): Accept
--no-git as an alias for --skip-git for compatibility with gnulib
bootstrap, and --no-po for symmetry.
Reported by Mike Miller.
Gary V. Vaughan [Fri, 23 Aug 2013 13:17:50 +0000 (20:17 +0700)]
bootstrap: support gnulib gnulib_tool_option_extras settings.
* gl/build-aux/bootstrap.in (func_gnulib_tool): Even though we
don't need it, support gnulib_tool_option_extras for bootstrap.conf
ported from gnulib bootstrap.
* bootstrap: Regenerate.
Reported by Mike Miller.
Gary V. Vaughan [Fri, 23 Aug 2013 12:55:27 +0000 (19:55 +0700)]
bootstrap: support sha1 binary on OpenBSD.
* gl/build-aux/bootstrap.in (func_update_po_files): Remove the
use of --status in a way that will suppress all error messages,
but since this is only used to minimize updates, it shouldn't
cause an issue.
Look for a sha1 binary if the other SHA1SUM settings are not
found.
Also exit early if there is a problem updating the po file
checksums.
* bootstrap: Regenerate.
Ported from a gnulib patch by Padraig Brady.
Gary V. Vaughan [Fri, 23 Aug 2013 10:23:29 +0000 (17:23 +0700)]
bootstrap: support tools that don't accept '--version' in buildreq.
* gl/build-aux/bootstrap.in (func_check_tool): Check whether there
is an executable as given or on the command PATH.
(func_check_version): Use func_check_tool to avoid invoking --version
when buildreq specifies '-' for the version number.
* bootstrap: Regenerate.
Reported by Mike Miller.
Gary V. Vaughan [Fri, 23 Aug 2013 09:27:31 +0000 (16:27 +0700)]
bootstrap: diagnose bad $buildreq formatting.
Particularly when porting from gnulib bootstrap to libtool
bootstrap, it's easy to forget the extra URL column used for
error reporting.
* gl/build-aux/bootstrap.in (func_check_versions): A non-URL
pattern in the 3rd column of buildreq triggers a fatal error.
* bootstrap: Regenerate.
Reported by Mike Miller.
Gary V. Vaughan [Fri, 23 Aug 2013 08:59:46 +0000 (15:59 +0700)]
bootstrap: support OpenBSD sed.
* gl/build-aux/bootstrap.in (func_insert_if_absent): Work around
the problem of OpenBSD sed not supporting '-' as a notation for
standard input.
* bootstrap: Regenerate.
* THANKS: Add Mike Miller.
Reported by Mike Miller.
Copyright-paperwork-exempt: Yes Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Gary V. Vaughan [Thu, 22 Aug 2013 08:51:33 +0000 (15:51 +0700)]
libltdl: don't trip subdir-objects warning from Automake >= 1.14.
Latest Automake releases now warn when subdir-objects is not
specified in preparation for Automake 2.0. The option has been
in Automake for more than a decade, so there's minimal risk of
someone using the next release of Libtool alongside an ancient
release of Automake when bootstrapping libltdl client projects.
* libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects.
Yaakov Selkowitz [Mon, 17 Jun 2013 21:46:54 +0000 (23:46 +0200)]
libtool: fix conversion warnings in cwrapper
build-aux/ltmain.in (func_emit_cwrapperexe_src:main): XMALLOC wants a
size_t. Also use int instead of intptr_t for the return value (which
is fine since the _spawnv call is synchronous).
(func_emit_cwrapper_src) [MSVC]: Remove the intptr_t helper define.
(func_emit_cwrapperexe_src:find_executable): Use size_t for variables
involved in strlen computations.
(func_emit_cwrapperexe_src:lt_setenv): Likewise.
(func_emit_cwrapperexe_src:lt_extend_str): Likewise.
(func_emit_cwrapperexe_src:lt_update_exe_path): Likewise.
THANKS: Update.
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Peter Rosin [Sun, 28 Apr 2013 07:16:56 +0000 (09:16 +0200)]
libtool: break all the way out when a good nm is found
The current code tries to locate a compatible nm tool. It starts with
a prefixed nm tool (great!) and includes a plain nm too (that's fine).
The problem is that the code searches for the prefixed nm before the
plain nm (normally fine), but doesn't break once it has found a valid
match, and the plain nm ends up the winner.
Report and analysis by Mike Frysinger.
* m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match.
Gary V. Vaughan [Sun, 27 Jan 2013 14:07:27 +0000 (21:07 +0700)]
bootstrap: fix func_insert_if_absent bugs.
* gl/build-aux/bootstrap.in (func_insert_if_absent): Print verbose
message when there is a new entry to add.
Also, make sure to update the .gitignore file when changed.
* bootstrap: Regenerate.
* THANKS: Add Pádraig Brady.
Reported by Pádraig Brady.
Bernhard Voelker [Sat, 26 Jan 2013 05:50:04 +0000 (12:50 +0700)]
bootstrap: always auto-add .gitignore files at the top.
* gl/build-aux/bootstrap.in (func_gitignore_entries): New function.
Strip comments and blank lines.
(func_insert_sorted_if_absent): Renamed...
(func_insert_if_absent): ...to this. Adjust all callers.
Instead of comparing the sorted new file with the original,
compare the line count, being careful to diagnose duplicate
entries which would otherwise skew the count.
Co-authored-by: Gary V. Vaughan <gary@gnu.org> Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Gary V. Vaughan [Thu, 3 Jan 2013 09:49:35 +0000 (16:49 +0700)]
maint: patch gitlog-to-changelog to reduce bogus warnings.
Rather than trying to find a new useful warning among the 55
expected warnings from vanilla gitlog-to-changelog, patch it to
elide the bogus warnings from duplicate log entries.
* gl/bulid-aux/gitlog-to-changelog.diff: Omit-from-ChangeLog is
a new log entry tag to skip legitimate log duplicates.
* build-aux/git-log-fix: Instead of deleting all content of
duplicates and generating a warning, append the new
Omit-from-ChangeLog tag to elide silently.
* Makefile.am *($(changelog)): Remove the 'expect 55 warnings'
echo.
Peter Rosin [Tue, 22 Jan 2013 21:54:43 +0000 (22:54 +0100)]
libtool: factor out the dll .def file test and improve it
Resolves bug#13414. Problem reported by Erik van Pienbroek
and Martin Doucha.
build-aux/ltmain.in (func_mode_link): Factor out the test if a
given symbol file is a module-definition (.def) file into...
(func_dll_def_p): ...this function, which also improves the check.
m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
<cygwin, mingw, pw32, cegcc>: Similarly, factor out the test if
a given symbol file is a module-definition (.def) file into...
(_LT_DLL_DEF_P): ...this macro, which also improves the check.
tests/export-def.at: New test.
Makefile.am (TESTSUITE_AT): Add above test.
NEWS: Update.
THANKS: Update.
Peter Rosin [Mon, 21 Jan 2013 05:41:00 +0000 (06:41 +0100)]
libtool: allow tabs in *_cmds variables
This is in preparation for the next patch, which needs to have literal
tab characters survive the evaluation of the *_cmds variables.
build-aux/ltmain.in (func_execute_cmds, func_mode_link): Don't collapse
tabs and surrounding whitespace into a single space when executing a
tilde-separated cmds construct, instead keep any tabs intact.
Peter Rosin [Sat, 19 Jan 2013 21:14:16 +0000 (22:14 +0100)]
libtool: avoid tabs in all *_cmds variables.
This is in preparation for the next change, which will preserve
tabs when the *_cmds variables are evaluated. Removing tabs first
ensures that the libtool output stays the same when tabs are not
collapsed with surrounding whitespace.
m4/libtool.m4: Convert indenting tabs to spaces for all *_cmds
variables.
Peter Rosin [Wed, 16 Jan 2013 12:39:52 +0000 (13:39 +0100)]
libtool: feed .def files verbatim to the MSVC linker
m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC]
<archive_expsym_cmds>: When the symbol list isn't really a symbol list,
but instead a .def file, copy it to a file with .def extension so that
MSVC recognizes it as a module-definition file and feed it verbatim.
NEWS: Update
Peter Rosin [Tue, 15 Jan 2013 08:31:31 +0000 (09:31 +0100)]
libtool: use false or : for $always_export_symbols, and simplify
* build-aux/ltmain.in (func_mode_link): Save a string comparison
by setting $lways_export_symbols to false or : and using it directly
as the first argument to if. Make sure that it is always initialized
while at it.
Peter Rosin [Wed, 9 Jan 2013 11:58:55 +0000 (12:58 +0100)]
tests: fix nits in path handling
tests/bindir.at: func_save_and_prepend_path is already checking
$bindirneeded internally, so remove checks from call sites. Add
proper quoting while at it.
(func_save_and_prepend_path): Use $PATH_SEPARATOR instead of a literal
colon (in both instances).
Peter Rosin [Tue, 8 Jan 2013 21:44:51 +0000 (22:44 +0100)]
libtool: simplify quoting and code for symbols exporting sed programs
* m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC]
<archive_expsym_cmds>: Make the sed programs easier to read (and
recover some backslashes for later in the process).
Peter Rosin [Wed, 19 Sep 2012 06:43:57 +0000 (08:43 +0200)]
tests: don't feed -no-undefined to the linker during configure.
* tests/deplibs-mingw.at: Restore LDFLAGS for the configure run so that
the linker does not see -no-undefined. Makes the test pass instead of
skip on MinGW.
Peter Rosin [Tue, 1 Jan 2013 18:40:57 +0000 (19:40 +0100)]
maint: check if git works before relying on it
Makefile.am (m4/ltversion.m4): Take the opportunity to regenerate
$(srcdir)/.serial whenever git is actually working.
(git_version_gen): Provide a fallback version for the git-version-gen
script to use when .tarball-version does not exist and git is not
working.
Peter Rosin [Wed, 19 Dec 2012 10:20:28 +0000 (11:20 +0100)]
libtool: Drop $LDFLAGS when invoking the toolchain
m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [Solaris] <archive_cmds>: Drop
$LDFLAGS as it is a user variable that is usually used when invoking
libtool. As such, it should not be used by libtool when it invokes the
toolchain as it contains options intended for libtool, not the
toolchain. Fixes export.at and other tests that add -no-undefined to
LDFLAGS.
Signed-off-by: Peter Rosin <peda@lysator.liu.se> Tested-by: Richard Palo <richard.palo@baou.fr>
Peter Rosin [Fri, 2 Nov 2012 22:50:43 +0000 (23:50 +0100)]
libtool: add @INIT@ to the preloader, for data imports on Windows
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust
lt_cv_sys_global_symbol_to_cdecl so that it declares imported
data symbols as __declspec(dllimport). Adjust
lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they
fill in "(void*) 0" for imported data symbols. Add new
lt_cv_sys_global_symbol_to_import which finds imported data
symbols if non-empty and export this variable to the libtool script
in the global_symbol_to_import variable. Adjust
lt_cv_sys_global_symbol_pipe so that data imports can be located.
* build-aux/ltmain.in (func_generate_dlsyms): When data imports
are present, as indicated by global_symbol_to_import, generate
a relocation function lt_syminit that fills in the addresses
of data imports at runtime and point to the new function with a
new virtual @INIT@ entry in the symbol list.
* libltdl/loaders/preopen.c (add_symlist): Look for the virtual
@INIT@ symbol (i.e. lt_syminit) and call it.
(vm_sym): Step past the @INIT@ symbol, if present.
* tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present.
* NEWS: Update.
Peter Rosin [Fri, 2 Nov 2012 12:17:11 +0000 (13:17 +0100)]
libtool: unify the global symbol transformations
Since it is safe for $lt_cv_sys_global_symbol_to_cdecl to match
with a simple /^T .* .*$/ type expression, it is ok for the other
transformations as well. At least if you require at least one
$symcode at the start of the line, so that the just generated output
doesn't match the next sed expression.
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unify the matching expressions
in the sed programs that transform the extracted symbol lines.
Gary V. Vaughan [Thu, 25 Oct 2012 15:03:05 +0000 (10:03 -0500)]
bootstrap: use a decent awk if /bin/awk is hopeless.
Bootstrap used to fail without an explicit AWK environment
setting on machines with both nawk and awk, but where awk is a
museum piece.
* gl/build-aux/inline-source (AWK): Remove initial setting.
(require_awk): Search PATH for a gawk, mawk or nawk before
settling on awk, just like configure does.
(func_include): Use it.
Gary V. Vaughan [Thu, 25 Oct 2012 14:00:09 +0000 (14:00 +0000)]
bootstrap: be sure to register gnulib submodule.
* gl/build-aux/bootstrap.in (require_gnulib_submodule): Register
the gnulib submodule before updating it, even with a shallow
clone of gnulib.
* bootstrap: Regenerate.
Reported by Robert Boehne.
Gary V. Vaughan [Thu, 25 Oct 2012 11:28:57 +0000 (06:28 -0500)]
tests: fixup experr for addition whitespace in error prefix.
Fix spurious test failures due to unmatched experr output.
* tests/libtoolize.at, tests/old-ltdl-iface.at: Add the addition
2 spaces now used to justify error prefixes.
Gary V. Vaughan [Thu, 25 Oct 2012 10:11:33 +0000 (05:11 -0500)]
bootstrap: use of ';' in sed scripts is not portable.
* gl/build-aux/bootstrap.in (require_buildreq_automake)
(require_dotgitmodules_parameters, require_package)
(func_update_po_files): Use '\n' or -e to separate sed commands,
instead of ';'.
* gl/build-aux/extract-trace (func_autoconf_configure)
(func_extract_trace_first): Likewise.
* gl/funclib.sh: Likewise.
(func_tr_sh): Likewise.
* gl/build-aux/options-parser (func_usage_message): Likewise.
* bootstrap: Regenerate.
Reported by Robert Boehne.
Gary V. Vaughan [Thu, 25 Oct 2012 09:00:52 +0000 (04:00 -0500)]
bootstrap: display prerequisite program environment vars.
Be more helpful when a prerequisite program from $buildreq
cannot be located, by showing what variable to export if it
is already installed but not in PATH.
* gl/build-aux/bootstrap.in (func_check_versions): Display
associated environment variables for not found prerequisite
programs.
* bootstrap: Regenerate.