Fabian Groffen wrote:
>>> Perhaps we could add a new function to the flag-o-matic that does the
>>> CHOST check, and appends the flag, so the check code wouldn't have to be
>>> duplicated in ebuilds? It should be rather trivial.
>>
>> ok, chost check would be cheap. how about,
>> usage: append-ldflags $(no-as-needed)
>
> that would work fine for me, and all possible future cases I can think
> of

+# @FUNCTION: no-as-needed
+# @RETURN: Flag to disable asneeded behavior for use with append-ldflags.
+no-as-needed() {
+       case $($(tc-getLD) -v 2>&1 </dev/null) in
+               *GNU*) # GNU ld
+               echo "-Wl,--no-as-needed" ;;
+       esac
+}

It's committed.

To avoid the already caused trouble for you (prefix), these should be
converted:

(It's a ugly grep -r from gentoo-x86. I will handle this also in a QA
bug, opening one later today.)

app-admin/apache-tools/apache-tools-2.2.11.ebuild:      # Instead of
filtering --as-needed (bug #128505), append --no-as-needed
app-admin/apache-tools/apache-tools-2.2.11.ebuild:      append-ldflags
-Wl,--no-as-needed
app-admin/apache-tools/apache-tools-2.2.13.ebuild:      # Instead of
filtering --as-needed (bug #128505), append --no-as-needed
app-admin/apache-tools/apache-tools-2.2.13.ebuild:      append-ldflags
-Wl,--no-as-needed
app-admin/apache-tools/apache-tools-2.2.12.ebuild:      # Instead of
filtering --as-needed (bug #128505), append --no-as-needed
app-admin/apache-tools/apache-tools-2.2.12.ebuild:      append-ldflags
-Wl,--no-as-needed
app-editors/mlview/mlview-0.8-r1.ebuild:        append-ldflags
-Wl,--no-as-needed
dev-games/ogre/files/ogre-1.4.9-as-needed.patch:+       ,-Xlinker
--no-as-needed -lstdc++)
dev-lang/gdl/gdl-0.9_rc2.ebuild:        use imagemagick &&
append-ldflags -Wl,--no-as-needed
dev-libs/yaz++/yaz++-1.1.0.ebuild:      append-ldflags
-Wl,--no-as-needed # FIXME.
dev-libs/dvmysql/dvmysql-1.0.2.ebuild:  append-ldflags -Wl,--no-as-needed
dev-libs/dvutil/dvutil-0.15.5.ebuild:   append-ldflags -Wl,--no-as-needed
dev-libs/dvutil/dvutil-1.0.5.ebuild:    append-ldflags -Wl,--no-as-needed
dev-lisp/sbcl/sbcl-1.0.19.ebuild:       append-ldflags
-Wl,--no-as-needed # see Bug #132992
dev-lisp/sbcl/sbcl-1.0.31.ebuild:       append-ldflags
-Wl,--no-as-needed # see Bug #132992
dev-lisp/sbcl/sbcl-1.0.27-r10.ebuild:   append-ldflags
-Wl,--no-as-needed # see Bug #132992
dev-lisp/sbcl/sbcl-1.0.26-r10.ebuild:   append-ldflags
-Wl,--no-as-needed # see Bug #132992
dev-lisp/sbcl/sbcl-1.0.28.ebuild:       append-ldflags
-Wl,--no-as-needed # see Bug #132992
eclass/apache-2.eclass: # Instead of filtering --as-needed (bug
#128505), append --no-as-needed
eclass/apache-2.eclass:                 append-ldflags -Wl,--no-as-needed
media-libs/SoQt/SoQt-1.4.1.ebuild:      append-ldflags -Wl,--no-as-needed
media-sound/pulseaudio/pulseaudio-0.9.15-r2.ebuild:     append-ldflags
-Wl,--no-as-needed
media-sound/pulseaudio/pulseaudio-0.9.18-r50.ebuild:    append-ldflags
-Wl,--no-as-needed
media-sound/pulseaudio/pulseaudio-0.9.19.ebuild:        append-ldflags
-Wl,--no-as-needed
media-sound/pulseaudio/pulseaudio-0.9.19-r50.ebuild:    append-ldflags
-Wl,--no-as-needed
media-sound/pulseaudio/pulseaudio-0.9.18.ebuild:        append-ldflags
-Wl,--no-as-needed
net-firewall/ebtables/ebtables-2.0.9.1.ebuild:  append-ldflags
-Wl,--no-as-needed
net-firewall/ebtables/ebtables-2.0.8.2-r2.ebuild:       append-ldflags
-Wl,--no-as-needed
net-libs/rb_libtorrent/rb_libtorrent-0.13-r1.ebuild:    append-ldflags
-Wl,--no-as-needed
net-mail/email/email-3.0.5.ebuild:      append-ldflags -Wl,--no-as-needed
sci-libs/mkl/mkl-10.0.2.018-r2.ebuild:          Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
sci-libs/mkl/mkl-10.0.2.018-r2.ebuild:          Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
sci-libs/mkl/mkl-10.0.2.018-r2.ebuild:          Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core -lmkl_lapack ${4} -lpthread
sci-libs/mkl/mkl-10.0.5.025.ebuild:             Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
sci-libs/mkl/mkl-10.0.5.025.ebuild:             Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
sci-libs/mkl/mkl-10.0.5.025.ebuild:             Libs: -Wl,--no-as-needed
-L\${libdir} ${2} ${3} -lmkl_core -lmkl_lapack ${4} -lpthread
sys-devel/libtool/libtool-2.2.6a.ebuild:                append-ldflags
-Wl,--no-as-needed
sys-libs/gwenhywfar/gwenhywfar-3.7.2.ebuild:append-ldflags
-Wl,--no-as-needed
sys-libs/gwenhywfar/gwenhywfar-3.8.0.ebuild:append-ldflags
-Wl,--no-as-needed
x11-wm/matchbox/matchbox-0.7.1.ebuild:  append-ldflags -Wl,--no-as-needed



Reply via email to