Address more linker issues

This resolves a ninja-related issues, corrects passing private args to linker
while building libruby itself (without external LDFLAGS), exports the full
symbols table, and pet 'pkg check -d'. Issues with weechat, vim, facter,
rubygem-hpricot and rubygem-rdiscount should be fixed.  See [1] for long story
of hunting and fixing these issues.

Bump PORTREVISIONS accordingly.

PR:		230238 [1], 231361
Submitted by:	fuffy
Approved by:	fuffy
This commit is contained in:
Romain Tartière 2018-09-25 13:11:14 +00:00
parent d01b9add0a
commit 54c14279dc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=480661
3 changed files with 22 additions and 4 deletions

View file

@ -165,7 +165,7 @@ RUBY23= "" # PLIST_SUB helpers
# Ruby 2.4
#
RUBY_RELVERSION= 2.4.4
RUBY_PORTREVISION= 3
RUBY_PORTREVISION= 4
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0
RUBY24= "" # PLIST_SUB helpers
@ -175,7 +175,7 @@ RUBY24= "" # PLIST_SUB helpers
# Ruby 2.5
#
RUBY_RELVERSION= 2.5.1
RUBY_PORTREVISION= 4
RUBY_PORTREVISION= 5
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0
RUBY25= "" # PLIST_SUB helpers

View file

@ -18,11 +18,20 @@
void *arg, int (*compar)(void *, const void *, const void *));
],[ ],
[rb_cv_bsd_qsort_r=yes],
@@ -3423,7 +3423,6 @@
@@ -3423,7 +3423,7 @@
: ${LDSHARED='$(CC) -shared'}
if test "$rb_cv_binary_elf" = yes; then
LDFLAGS="$LDFLAGS -rdynamic"
- DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@'
+ DLDFLAGS="$DLDFLAGS "'-Wl,-E'
else
test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
fi
@@ -3896,6 +3895,7 @@
[freebsd*|dragonfly*], [
SOLIBS='$(LIBS)'
LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'
+ RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,${LIBRUBY_SO}'])
if test "$rb_cv_binary_elf" != "yes" ; then
LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"
LIBRUBY_ALIASES=''

View file

@ -18,11 +18,20 @@
void *arg, int (*compar)(void *, const void *, const void *));
],[ ],
[rb_cv_bsd_qsort_r=yes],
@@ -3245,7 +3245,6 @@
@@ -3245,7 +3245,7 @@
: ${LDSHARED='$(CC) -shared'}
AS_IF([test "$rb_cv_binary_elf" = yes], [
LDFLAGS="$LDFLAGS -rdynamic"
- DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@'
+ DLDFLAGS="$DLDFLAGS "'-Wl,-E'
], [
test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
])
@@ -3724,6 +3723,7 @@
SOLIBS='$(LIBS)'
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'
LIBRUBY_SONAME='$(LIBRUBY_SO)'
+ RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,${LIBRUBY_SO}'])
AS_IF([test "$rb_cv_binary_elf" != "yes" ], [
LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"
LIBRUBY_ALIASES=''