boostorg / boostorg/build

Cannot override positional-dependent options

Open
#329 4 comments 0 reactions 0 assignees View on GitHub
transition
Dominant language
C++
Stars
251
Forks
63
PR merge metrics
No merged PRs in 30d

Description

With the change at https://github.com/boostorg/build/commit/61989801cab6a8f92969fcb82340a1e299e14e5e a (perhaps) unintended side effect is that options specified in a `project-config.jam` file are no longer listed last - so those options (`-fvisibility` for example) which are position-dependent (later ones override earlier ones), there is no longer a way to override.

This can be seen by looking at the compile commands for `boost::log` and `boost::serialization` if you specify `-fvisibility=default` in `project-config.jam`. Prior to this commit (and, rolling back this commit) will place the `-fvisibility=default` *after* `-fvisibility=hidden`. After this commit, the `-fvisibility=hidden` comes after, thus not providing a way to override the option.

I am attaching a [project-config.txt](https://github.com/boostorg/build/files/2276270/project-config.txt) file. Building `boost::log` with clang on macOS will demonstrate the issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.