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

[enh] Generic way to hijack dependencies' dflags #279

Closed
Geod24 opened this issue Mar 12, 2014 · 2 comments
Closed

[enh] Generic way to hijack dependencies' dflags #279

Geod24 opened this issue Mar 12, 2014 · 2 comments

Comments

@Geod24
Copy link
Member

Geod24 commented Mar 12, 2014

There's currently no way to change a dependency dflags, other than changing the said dependency dub.json.
That is problematic for specific use case:

  • If one wants to use shared libraries, the code has to be PIC. I'm currently writing a PAM module which use vibe.d, and I had to fork it, branch it, and add a libevent-pic configuration. So that currently forces library writer to provide at least 3 versions of said library: static, static PIC, dynamic.
  • Aside from PIC, one may want to disable specific features (like "-mno-sse" on gdc).

It could be useful if we had a way to edit [d|l]flags (add / remove / do it from scratch) in the "subConfiguration".

@s-ludwig
Copy link
Member

The PIC issue needs to be managed by DUB automatically, that's a bug in the way shared library builds are performed right now (they are basically completely untested on my part).

For adding flags like -mno-sse, using the "buildTypes" field should be possible right now, but I think there is nothing to remove certain flags (except for the ones controllable using "buildRequirements"). But that's just the status quo, it would indeed be good to have more control here.

@Geod24
Copy link
Member Author

Geod24 commented Jul 14, 2021

Solved by #2040

@Geod24 Geod24 closed this as completed Jul 14, 2021
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

No branches or pull requests

2 participants