-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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
build: Improve the configure experience #1429
Conversation
Move all logic for headers/libraries for each shared library into the shared library scope - similar to how OpenSSL already works. Also, don't assume that b() returns a boolean.
Attempt to fetch information from pkg-config if available. Also, let the user provide a custom PKG_CONFIG path, based on a floating patch by Paul McClave <[email protected]>. Additionally, make library input parsing more robust as well as deduplicating what we provide to the linker.
Minor edits to current build flags and its help texts as well as grouping shared and i18n options into separate option groups. Hopefully this will improve the readability of `./configure` output.
Avoid custom validation as well as simplify output generated by configure. Add 'system-icu' to the list of valid choices.
In the last @iojs/build meeting we talked about potentially checking bundled versions with pkg-config. I think it's a good thing since it helps us in cases where we assume some versions being available (we will soon depend on openssl 1.0.2-specific stuff and we already assume libuv is at least 1.0). The biggest downside of this would be the complexity added to configure for parsing version out of bundled deps. I don't really see adding static versions somewhere as an alternative. How does others feel about this? |
Is there some reason for writing |
@monsanto since >>> foo = 'false'
>>> if foo:
... print 'true after all'
...
true after all
>>> if foo == 'true':
... print 'you\'ll never see me'
... |
@jbergstroem I don't understand what your point is. |
@monsanto sorry, I misunderstood the comment. Your suggestion is correct -- just pushed a new version. Edit: simplified my reply (no need to elaborate on reasoning). |
lgtm, might be good to get sign-off from @bnoordhuis too |
So, current state:
|
Ima close this and split it up into different PR's instead. Easier to review and discuss. |
Not sure about the PR topic here, but a few - imo - important changes in here, mainly concerning shared builds:
--shared-foo
)b()
in a previous commit. We now compare strings instead.--with-intl
is now validated the same way other choice options are (optparse)Open to further suggestions to improve the language of configure which is decent at best. Also, let me know if I should squash (and how).
/R=@iojs/build, ... ?
Edit: Adding R=@bnoordhuis since he regularly touches build/configure.