Re: <dll-path>'$ORIGIN' is prefixed by path with gcc
Steven Watanabe via Boost-build <[email protected]>
| Newsgroups | gmane.comp.lib.boost.build |
|---|---|
| Organization | Providere Consulting, Inc. |
| Message-ID | <[email protected]> |
AMDG On 08/24/2018 02:18 PM, Chambers, Matthew via Boost-build wrote: > Jamroot.jam: > build-project p ; > > p/Jamfile.jam: > lib a : a.cpp : <link>shared ; > exe p : p.cpp : <library>a ; > install install : p : <install-dependencies>on <dll-path>'$ORIGIN' ; > > ./b2 > <snip> > > objdump -x -a p/install/p | grep RPATH > RPATH p/$ORIGIN > > I expected dll-path to be set unmodified. Is this intended, and if so, > how do I prevent it? I haven't pinpointed exactly when this changed, but > it worked a couple years ago. This is using master at > c3dc95d3ac0219a0f774e6d382ed91d290cbde80. > This is broken because dll-path is a path feature, which causes $ORIGIN to be interpreted as a path relative to the containing project and is adjusted to be relative to the current working directory. As far as I can tell, it's always worked this way, but if you run b2 from p/ it should do what you want. Do relative paths even make sense for dll-path? The right thing might be to remove the path attribute from dll-path which will cause the argument to be passed through literally. In Christ, Steven Watanabe _______________________________________________ Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build