diff options
author | tijl <tijl@FreeBSD.org> | 2015-08-02 23:03:19 +0800 |
---|---|---|
committer | tijl <tijl@FreeBSD.org> | 2015-08-02 23:03:19 +0800 |
commit | 2593b8ce7a7784074d28066b8690c9c2da075fd7 (patch) | |
tree | ea36e7f5c3df09ecf07eacd3dfa1065817e07c56 /Mk/Uses | |
parent | dfc31d8ad6426dcddd1e4f4718d93857c195b031 (diff) | |
download | freebsd-ports-gnome-2593b8ce7a7784074d28066b8690c9c2da075fd7.tar.gz freebsd-ports-gnome-2593b8ce7a7784074d28066b8690c9c2da075fd7.tar.zst freebsd-ports-gnome-2593b8ce7a7784074d28066b8690c9c2da075fd7.zip |
By default libtool replaces -export-symbols <file> with -retain-symbols-file
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do. On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).
Bump PORTREVISION on all ports where the build log contains -export-symbols.
audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions. Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to. Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.
japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything. Just don't hide anything at all
like the textproc/scim configure script does.
multimedia/schroedinger: Apply an upstream patch.
textproc/scim-input-pad: Same as japanese/scim-honoka.
PR: 201922
Approved by: portmgr (antoine)
Exp-run by: antoine
Diffstat (limited to 'Mk/Uses')
-rw-r--r-- | Mk/Uses/libtool.mk | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Mk/Uses/libtool.mk b/Mk/Uses/libtool.mk index d9db2c28b113..3149cd75fa31 100644 --- a/Mk/Uses/libtool.mk +++ b/Mk/Uses/libtool.mk @@ -32,6 +32,12 @@ patch-libtool: -e '/gcc_dir=\\`/s/gcc /$$CC /' \ -e '/gcc_ver=\\`/s/gcc /$$CC /' \ -e '/link_all_deplibs[0-9A-Z_]*=/s/=unknown/=no/' \ + -e '/archive_expsym_cmds[0-9A-Z_]*=.$$CC.*-retain-/ { \ + s/-retain-symbols-file/-version-script/; \ + s/$$export_symbols/$$lib-ver/; \ + s/$$CC/echo "{ global:" > $$lib-ver~ \ + sed -e "s|$$|;|" < $$export_symbols >> $$lib-ver~ \ + echo "local: *; };" >> $$lib-ver~&/; }' \ -e '/objformat=/s/echo aout/echo elf/' \ -e '/STRIP -V/s/"GNU strip"/"strip"/' \ -e "/freebsd-elf\\*)/,/;;/ { \ |