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

--abbreviate-paths leads to build config clashes #325

Open
Flamefire opened this issue Jun 29, 2023 · 2 comments
Open

--abbreviate-paths leads to build config clashes #325

Flamefire opened this issue Jun 29, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@Flamefire
Copy link
Contributor

Brief problem description

I was using something like <relevant>boost.locale.std <relevant>boost.locale.icu together with --abbreviate-paths and noticed failures as

  • ./b2 --abbreviate-paths boost.locale.std=off
  • ./b2 --abbreviate-paths boost.locale.icu=off

created the same folders "bst.l-off" leading to skipped rebuilds where different defines would have been required.

Expected behavior summary

The abbreviated paths of relevant features should be unique.

@Flamefire Flamefire added the bug Something isn't working label Jun 29, 2023
@grafikrobot
Copy link
Member

The path shortening that --abbreviated-paths does is both very limited. And, yes, will generate duplicates for features that have share a common, not short prefix. I could try and make it more clever. But it would never guarantee uniqueness. If you need virtually guaranteed shorter paths there's the --hash option.

@pdimov
Copy link
Contributor

pdimov commented May 1, 2024

--abbreviate-paths should probably split on both '.' and '-' in order to handle this case. (It's common for library-local features to have such composite names separated with dots instead of hyphens.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants