Commit Graph

4063 Commits

Author SHA1 Message Date
Gary V. Vaughan
d695e72b74 bootstrap: fix gitlog-to-changelog detection.
* gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop
that relies on $IFS for element splitting instead of a one-shot
case glob that is not tolerant to \n in $gnulib_modules.
* THANKS: Add Reuben Thomas.
Reported by Reuben Thomas

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:44 +13:00
Gary V. Vaughan
0955ed3ca4 maint: update copyright notices to include 2014.
* .x-update-copyright: New file. Exclude files not owned by this
project from update-copyright rules.
* doc/libtool.texi: Replace m-dash with n-dash in texinfo
copyright notice so that update-copyright matches correctly.
Undo bogus copyright updates to example output from gdb session.
Bump copyright year.
* Changelog.old: Revert bogus updates from previous years
without .x-update-copyright.
AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO,
bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk,
configure.ac, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
gl/build-aux/inline-source, gl/build-aux/options-parser,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/configure.ac, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, libltdl/lt__alloc.c,
libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c,
libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h,
libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4,
m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4,
m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4,
tests/am-subdir.at, tests/archive-in-archive.at,
tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at,
tests/configure-iface.at, tests/convenience.at, tests/ctor.at,
tests/cwrapper.at, tests/darwin.at, tests/demo.at,
tests/depdemo.at, tests/deplib-in-subdir.at,
tests/deplibs-ident.at, tests/deplibs-mingw.at,
tests/destdir.at, tests/dlloader-api.at,
tests/dumpbin-symbols.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/exceptions.at,
tests/execute-mode.at, tests/exeext.at, tests/export-def.at,
tests/export.at, tests/f77demo.at, tests/fail.at,
tests/fcdemo.at, tests/flags.at, tests/help.at,
tests/indirect_deps.at, tests/infer-tag.at,
tests/inherited_flags.at, tests/install.at,
tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at,
tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at,
tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at,
tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at,
tests/need_lib_prefix.at, tests/no-executables.at,
tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at,
tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at,
tests/resident.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/slist.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagdemo.at,
tests/template.at, tests/testsuite.at, tests/versioning.at,
tests/with-pic.at: Bump copyright year.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:44 +13:00
Gary V. Vaughan
11ab8f1f63 gnulib: update to latest upstream revision.
* gnulib: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:43 +13:00
Gary V. Vaughan
564d58222c tests: gcj cannot reliably compile directly to .o from .java
Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy'
symbol into every object file when compiling directly from .java
to .o:
* tests/convenience.at (GCJ): make .class files from .java
sources first, and then compile those to native objects. This
works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:30 +13:00
Gary V. Vaughan
8d285ed54b testsuite: with SunStudio12.x f77, don't fail on system symbols
Modern SunStudio f77 is just a wrapper for f90, which
explains why current master fails these test groups with:

 Undefined	first referenced
  symbol  	    in file
 __f90_slw_ch      .libs/foof2.o
 __f90_sslw        .libs/foof2.o
 __f90_eslw        .libs/foof2.o
 ld: fatal: symbol referencing errors. No output written to
.libs/libfoo2.so.0.0.0

So we allow some undefined symbols in the libraries, which are
resolved by the $(FLIBS) added to the final binaries in the tests.
This seems like the simpler, and less error inducing solution to
me (compared to adding $(FLIBS) to every library LDFLAGS line).
* tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS)
(libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined
flag.
* tests/fcdemo.at: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:30 +13:00
Gary V. Vaughan
7f99bfd86c maint: use $SED and $GREP, not sed and grep in all scripts.
Choosing between hardcoding a tool's name, or using the shell
variable with a path to the user's prefered implementation or
configure's idea of the best available is a premature
optimisation.
* build-aux/ltmain.in, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
libtoolize.in: Use $SED and $GREP consistently throughout,
instead of hardcoding sed and grep.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:30 +13:00
Gary V. Vaughan
0e1ba2182c tests: use TESTS_ENVIRONMENT for EGREP and FGREP.
Be consistent about passing commands to the testsuite, and use
TESTS_ENVIRONMENT consistent.
* Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP.
* tests/testsuite.at: Remove EGREP and FGREP extractions from
generated libtool script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:30 +13:00
Gary V. Vaughan
747c60634e tests: use $GREP throughout.
Trust the user, and use $GREP from TESTS_EVVIRONMENT uniformly.
* Makefile.am (TESTS_ENVIRONMENT): Add GREP setting.
* tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at,
tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at,
tests/demo.at, tests/destdir.at, tests/dumpbin-symbols.at,
tests/early-libtool.at, tests/execute-mode.at, tests/export-def.at,
tests/export.at, tests/f77demo.at, tests/fcdemo.at, tests/flags.at,
tests/help.at, tests/inherited_flags.at, tests/install.at,
tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at,
tests/localization.at, tests/lt_dladvise.at, tests/lt_dlopen.at,
tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at,
tests/mdemo.at, tests/old-m4-iface.at, tests/pic_flag.at,
tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at,
tests/static.at, tests/sysroot.at, tests/template.at,
tests/testsuite.at, tests/versioning.at: Replace all hardcoded grep
invocations with $GREP.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
cc189e7daf tests: use $SED throughout.
Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly.
Hardcoding 'sed' for "simple" edits is a premature optimisation.
* tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at,
tests/darwin.at, tests/demo.at, tests/duplicate_conv.at,
tests/duplicate_members.at, tests/execute-mode.at, tests/export.at,
tests/inherited_flags.at, tests/install.at, tests/libtoolize.at,
tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at,
tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all
hardcoded sed invocations with $SED.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
83405160af tests: run cmdline_wrap last, or not at all if anything else failed.
* Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at
to the end of the list.
* tests/cmdline_wrap.at: If previous tests have failed, then we
already know that rerunning them will fail too, so save time by
skipping in that case.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
3050db962c configury: remove spurious g modifier in sed expression.
* Makefile.am (rebuild): Remove useless g modifier from sed
expression.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
24be64322d configury: use $(SED) where input does not end in newline.
On Solaris machines the system sed does not process the last
line of input unless it ends with a newline, which means it
cannot be used to massage the output of git-version-gen, because
it deliberately omits the terminating newline.
* Makefile.am (rebuild): Use the sed command found by configure,
which has a better chance of working properly than the first sed
on PATH.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
9cb8bb6d06 tests: skip fcdemo checks when $FC cannot compile fortran90.
Avoid spurious fcdemo failures when Autoconf picks f77 or
similar for a fortran90 compiler.
* tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make
TESTS_ENVIRONMENT, check that we really can compile fortran90
or else skip.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
4e373ebe13 funclib.sh: improve comments.
* gl/build-aux/funclib.sh: Add a comment explaining the need for
extra SED and GREP searches.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Peter Rosin
4494446e43 maint: fix out-of-tree autoreconf w/o manual rebootstrap
build-aux/ltmain.in: Look for funclib.sh and options-parser in
the same location ltmain.in is found.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2013-12-09 09:08:31 +01:00
Peter Rosin
a7462c5563 bootstrap: fix version sort
Reported by Ozkan Sezer who suffered from makeinfo 4.13 being detected
as lesser than the required makeinfo 4.8.

* bootstrap (func_sort_ver): Sort numerically on the non-primary keys
as well.
2013-11-19 11:54:27 +01:00
Peter Rosin
397f717256 tests: Use a basic grep that matches the basic regexp style.
Fixes a testsuite failure on Cygwin.

* tests/tagdemo.at: Use grep instead of egrep.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2013-11-08 18:56:55 +01:00
Gary V. Vaughan
880a41f6f5 bootstrap: fix a quoting error.
* gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote
the extracted version number correctly so that it is displayed in
verbose mode.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-29 17:08:49 +13:00
Gary V. Vaughan
fec7d87180 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>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
9fd7b88bc2 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
94271692f0 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
13d640337a 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:43:14 +13:00
Gary V. Vaughan
97a331b094 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:43:13 +13:00
Gary V. Vaughan
2c8c28acbd 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 10:13:34 +13:00
Gary V. Vaughan
eea1df80de maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2013-10-27 13:02:07 +13:00
Gary V. Vaughan
4427784fe7 version 2.4.2.418
* NEWS: Record release date.
2013-10-27 11:52:43 +13:00
Gary V. Vaughan
e168b14b1b gnulib: update to latest upstream revision.
* gnulib: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-27 11:23:40 +13:00
Gary V. Vaughan
c2e13d8030 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 15:54:32 +13:00
Gary V. Vaughan
60a8f165b5 refactor: move func_sort_ver from bootstrap.in to funclib.sh.
* gl/build-aux/bootstrap.in (func_sort_ver): Move from here...
* gl/build-aux/funclib.sh (func_sort_ver): ...to here.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 15:33:07 +13:00
Gary V. Vaughan
e693c9ac96 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[])'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 13:33:14 +13:00
Gary V. Vaughan
404dbdf202 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 12:37:46 +13:00
Gary V. Vaughan
d7d5228b53 maint: Update README-release for Makefile.inc -> ltdl.mk rename.
* gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 12:37:46 +13:00
Gary V. Vaughan
16bee7404b maint: bump serials on m4 sources changed since v2.4.2.
* m4/argz.m4: Bump serial to 6.
* m4/libtool.m4: Bump serial to 58.
* m4/ltdl.m4: Bump serial to 19.
* m4/ltoptions.m4: Bump serial to 8.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 12:37:46 +13:00
Gary V. Vaughan
fb38c688b3 maint: fix a syntax-check violation from commit 12641bd.
* build-aux/ltmain.in (func_mode_link): Reverse test operands to
forestall misinterpretation of contests of shell variable as
operand 1.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 12:37:45 +13:00
Vadim Zeitlin
12641bdc45 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.

Copyright-paperwork-exempt: Yes
2013-10-09 17:35:13 -07:00
Brooks Moses
1c89ed8e1c libtool: Remove unneeded quotes in assignment.
The quotes in this assignment cause "make syntax-check" to
fail.  Thus, this patch removes them.
2013-10-09 16:39:31 -07:00
Fabian Groffen
eee4f85301 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.

[1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/
msg00000.html
[2] http://osdyson.org/issues/8

Copyright-paperwork-exempt: Yes
2013-10-09 14:44:15 -07:00
Olivier Blin
9f51e6182e libtool: Fix detection of ld version with parentheses.
ld from crosstool-NG reports a version string with an extra
version number in a parenthetical note:
GNU ld (crosstool-NG 1.13.0) 2.21.1

This made libtool assume that the ld version was the
crosstool-NG version (1.13.0) instead of the real ld version
(2.21.1).

To fix the ld version string, this patch filters out any string
between parentheses that is followed by a space.

Because of this bug, filtering of exported symbols was not
taking place with crosstool-NG toolchains.

This issue has bee noticed when building pango, which exported
harfbuzz symbols that should have remained hidden.

Copyright-paperwork-exempt: Yes
2013-10-09 14:33:39 -07:00
Brooks Moses
ad8c0319d0 libtool: Fix comment indentation
This trivial patch fixes indentation on a comment to match
the style used elsewhere in m4/libtool.m4.
2013-10-09 14:28:16 -07:00
DJ Delorie
c4eb7992f8 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.
2013-10-09 14:25:13 -07:00
Vincent Lefevre
cdb4d6a3db 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.

Copyright-paperwork-exempt: Yes
2013-10-09 14:24:11 -07:00
Peter Johansson
d5a9df4837 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'.
2013-10-09 14:08:25 -07:00
Joseph Prostko
829eec5870 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.

http://ports.haiku-files.org/browser/haikuports/sys-devel/
libtool/patches/libtool-2.4.2.patch

Copyright-paperwork-exempt: Yes
2013-10-09 13:39:15 -07:00
Brooks Moses
d9a35fe9d3 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
2013-10-09 12:32:48 -07:00
Ondřej Bílka
f7e760d738 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)
2013-10-08 18:06:56 -07:00
David 'Digit' Turner
8eeeb00dae libtool: Add Android/Linux support.
This patch adds proper Android support to libtool. The main
issues are the following:

  - Versioned libraries are not supported by the platform and
    its build/packaging tools.

  - The dynamic linker is not GNU ld, there is no support for
    DT_RUNPATH.

  - Similarly, there is no ldconfig.
2013-10-08 14:42:07 -07:00
Peter Rosin
0ebb734910 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.

Fixes bug#15321 reported by Ozkan Sezer.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20425
[2] http://lists.gnu.org/archive/html/bug-libtool/2006-09/msg00019.html

* 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.
2013-09-17 20:34:29 +02:00
Gary V. Vaughan
75051fb536 bootstrap: clean up spurious 'gnulib-cache.m4 missing' error.
* gl/build-aux/bootstrap.in (func_reconfigure): Don't show an
error when running without gnulib-cache.m4.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-16 11:02:23 +07:00
Gary V. Vaughan
2d744d9eda 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-15 20:40:07 +07:00
Gary V. Vaughan
96d876301b 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-15 13:38:11 +07:00