Page MenuHomePhabricator

build: fix rpath for binaries which use ecore-x dependencies

Authored by zmike on Jul 19 2018, 5:16 PM.



somehow ecore-x explicitly pulls in ${libdir}/ at link-time,
which causes libtool to add ${libdir} to the rpath executable wrappers
before the remainder of the in-tree efl paths. this causes binaries run
from these wrappers (e.g., tests, built-time tools such as codegens) to
use system libraries instead of in-tree libraries


Depends on D6634

Diff Detail

rEFL core/efl
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
zmike created this revision.Jul 19 2018, 5:16 PM
zmike updated this revision to Diff 15804.Jul 23 2018, 4:45 AM
zmike edited the summary of this revision. (Show Details)
stefan_schmidt added a subscriber: vtorri.

@vtorri it would be great if you use your m4 wisdom here to help review if this patch is fine. I am always a bit scared when I see changes to our m4 macros. :-)

First of all, getting this long standing bug fixed would be great.

I understand the changes needed inside the m4 macro (minus my ignorance of the m4 syntax), but is the order change in the ecore makefile for LDADD needed as well? I would expect the change in the m4 macro would take care of it? Quite possible I am wrong here, but it looks strange to me.

zmike added a comment.Jul 27 2018, 5:21 AM

The ecore-x libs have to be last-ish wherever they're listed, including in the makefiles.

As for the m4 changes, I don't think any particular expertise is needed to review this? It's just reordering existing code.

vtorri accepted this revision.Jul 30 2018, 12:57 AM

no problem for me, the m4 diff is only a reordering of variables

This revision is now accepted and ready to land.Jul 30 2018, 12:57 AM
stefan_schmidt accepted this revision.Jul 30 2018, 8:21 AM

I had my troubles with re-ordered linker command lines before. :-) I am glad to have vtorri having a look first.

This revision was automatically updated to reflect the committed changes.