Cannot override positional-dependent options
- 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
Assessment
This issue has not been assessed yet.