SCons usability improvements and GCC support for posix #190
Reference in New Issue
Block a user
No description provided.
Delete Branch "scons-gcc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The first commit uses the SCons
Variablesobject to register (and validate) command line arguments and generate ascons --helpoutput. Using things likeBoolVariablemakes our life easier as you can specifydebug=1,debug=ON,debug=True,debug=yes, etc., basically anything that would make sense for a bool, and it should work.I tried to keep the arguments names already in use for compatibility, but
64bitis not a valid identifier for SCons options (starts with a number), so I used a string enumbitsinstead.That commit also adds support for reading common C and C++ configuration flags from the environment and/or the command line. Those are used by the second commit to remove the hardcoded
CXX=clang++on Linux and let the user define it.Fixes #184.
Note that GCC builds doesn't work out of the box for me with GCC 5.5.0. #189 is needed to fix a first compilation, and then I hit a second one for which I'll open a ticket (Edit: #191).
Are Travis CI builds disabled for PRs? That's where they are most useful IMO, it would be nice to have them in this case to confirm that it still builds fine on CI before merging.
I don't remember if or why they were disabled, but I can look into enabling Travis builds for this PR.
I just enabled PR builds on Travis, but I think you'll need to push something new before it notices this.
I'll take the opportunity to add a GCC build to Travis then :)
Should be good to merge now, both GCC and Clang builds work fine on Travis (and locally) for Linux.
The OSX builds seem to still work, though they still fail with that spurious
Resource temporarily unavailableerror. It might be worth giving it a try locally once to ensure that OSX builds still work for you after the SCons changes.Apart from one test failure (segfault), this works with scons on my Mac.