Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revamp Build System for Boost #43

Merged
merged 4 commits into from
Oct 5, 2012

Conversation

bska
Copy link
Member

@bska bska commented Oct 4, 2012

This change encodes the Boost library location into the active run-path of libopmcore.so.0.0.0 such that Boost is automatically conveyed on to clients of the OPM-Core library. This removes some of the inconvenience associated to using OPM-Core in other projects.

The change also splits the libopmcore.la link statement in such a way that all libraries are put at the end of the link line rather than the beginning. While the outcome is typically unchanged in the case of GNU's linker, this is the more portable definition.

This change implements the approach of (e.g.,) ax_boost_system.m4, but
may lose some of the initial refinements.  In that case, we will have to
refine this code.
This enables explicitly encoding the directory, e.g., in the OPM-Core
run-path.  This, in turn, reduces the burden on library clients that
would otherwise have to satisfy library link requirements in addition to
any other link requirements they might have.
Specifically, use the OPM_BOOST_LIBDIR variable created in commit
5c97e512 and Libtool's "-R" link-time switch to encode the library
location within OPM-Core's run-path.  This simplifies using the library,
because the onus of satisfying the library's link-time requirements is
removed from the client.

A second refinement puts the additional link-requirements (i.e., "-l"
and "-L" options) within the *_LIBADD primary.  This moves the libraries
from the middle to the end of the link statement.
middle.
Specifically, commit ff4f709e made the support for transitively
conveying interlibrary dependencies onto clients of OPM-Core more
robust.  As a consequence, we no longer need to explicitly link in the
Boost.System or Boost.Filesystem libraries to use the software contained
therein.
@atgeirr
Copy link
Member

atgeirr commented Oct 5, 2012

Builds with no problems for me, I'll merge.

atgeirr added a commit that referenced this pull request Oct 5, 2012
@atgeirr atgeirr merged commit e79dba2 into OPM:master Oct 5, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants