summaryrefslogtreecommitdiffstats
path: root/build2
Commit message (Collapse)AuthorAgeFilesLines
...
* Tweak assert directive diagnosticsBoris Kolpackov2018-11-141-3/+4
|
* Minor terminology tweaks (model -> build state)Boris Kolpackov2018-11-134-11/+11
|
* Fix bug in command line variable override depth calculationBoris Kolpackov2018-11-091-7/+11
|
* Add support for relative to base scope command line variable overridesBoris Kolpackov2018-11-096-52/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if we say: $ b dir/ ./foo=bar The scope the foo=bar is set on is relative to CWD, not dir/. While this may seem wrong at first, this is the least surprising behavior when we take into account that there can be multiple dir/'s. Sometimes, however, we do want the override directory to be treated relative to (every) target's base scope that we are building. To support this we are extending the '.' and '..' special directory names (which are still resolved relative to CWD) with '...', which means "relative to the base scope of every target in the buildspec". For example: $ b dir/ .../foo=bar Is equivalent to: $ b dir/ dir/foo=bar And: $ b liba/ libb/ .../tests/foo=bar Is equivalent to: $ b liba/ libb/ liba/tests/foo=bar libb/tests/foo=bar
* Make command line variable override scope syntax consistent with buildfileBoris Kolpackov2018-11-081-18/+74
| | | | | | | | | | | | | | | | | | | Before: $ b dir/:foo=bar ... After: $ b dir/foo=bar Alternatively (the buildfile syntax): $ b 'dir/ foo=bar' Note that the (rarely used) scope visibility modifier now leads to a double slash: $ b dir//foo=bar
* Fix bug in override logic for command line variable with project visibilityBoris Kolpackov2018-11-083-5/+29
|
* Remove extraneous spaceBoris Kolpackov2018-11-071-1/+1
|
* Improve parser diagnosticsBoris Kolpackov2018-11-071-0/+11
|
* Ignore non-existent /usr/local/{include/,lib/}Boris Kolpackov2018-11-061-17/+28
| | | | | This should fix some bizarre yo-yo'ing cases where uninstall removes the directories which in turn triggers a rebuild on the next invocation.
* Only search for external tools (compilers, linkers, etc) in PATHBoris Kolpackov2018-11-056-11/+42
| | | | | | | Specifically, omit the current executable's directory on Windows since there is no reason for them to be found there automagically and this can lead to surprising behavior (for example, our MinGW GCC being used instead of the user's even though the user's is in PATH before ours).
* Distinguish between MSVC command line errors and warningsBoris Kolpackov2018-11-052-2/+5
|
* Resolve /WN /Wall /w option overridesBoris Kolpackov2018-11-052-7/+73
| | | | Failed that, MSVC "helpfully" warns that one is overriding the other.
* Handle MSVC command line warningsBoris Kolpackov2018-11-052-36/+66
|
* Fix typoBoris Kolpackov2018-11-023-3/+3
|
* Use rule-specific variables for backlink valueBoris Kolpackov2018-11-023-13/+22
|
* Use rule-specific variables for module name set on bmi*{} targetsBoris Kolpackov2018-11-023-13/+21
|
* Fix atomic count initializationBoris Kolpackov2018-11-011-2/+2
|
* Add support for rule-specific variables, use to fix cc.type data raceBoris Kolpackov2018-11-0114-68/+231
|
* Fallback to --version for GCC/Clang-like compilers if -v didn't workBoris Kolpackov2018-10-271-15/+20
|
* Add config.{c,cxx}.{id,version,target} configuration variablesBoris Kolpackov2018-10-2612-500/+714
| | | | | | | These variables allow overriding guessed compiler id/version/target, for example, in case of mis-guesses or when working with compilers that don't report their base (e.g., GCC, Clang) with -v/--version (common in the embedded space).
* Add support for libpkgconf 1.5 APIKaren Arutyunov2018-10-261-2/+41
|
* Redesign cc::compiler_id to make variant customizableBoris Kolpackov2018-10-259-190/+223
|
* Fix execute_direct() to handle "match failed" caseBoris Kolpackov2018-10-251-5/+11
|
* Fix race in rule synthesis logicBoris Kolpackov2018-10-253-11/+50
|
* Fix bug in add_adhoc_member() (set group)Boris Kolpackov2018-10-251-0/+3
|
* Fix GCC 8 -fimplicit-fallthrough warningsKaren Arutyunov2018-10-241-0/+3
|
* Treat invalid names as values if they are quotedBoris Kolpackov2018-10-231-19/+29
|
* Move invalid_argument handler from default_thunk() to call()Boris Kolpackov2018-10-232-17/+19
| | | | This way we let a custom thunk catch derived exception (like invalid_path).
* Suggest override variable (config.x) when tool is not foundBoris Kolpackov2018-10-195-13/+63
|
* Fix bug in binutils pattern derivation logicBoris Kolpackov2018-10-191-7/+15
|
* Improve inconsistent compiler behavior diagnosticsBoris Kolpackov2018-10-191-9/+15
|
* Fix bug in binless library linking logicBoris Kolpackov2018-10-183-27/+16
|
* Raise libcpp version in regex-related check to 7.0.0Karen Arutyunov2018-10-161-1/+1
|
* Fix uncaught invalid_path exceptionKaren Arutyunov2018-09-141-18/+25
|
* Bump version to 0.9.0-a.0.z, master is open for businessBoris Kolpackov2018-09-121-1/+1
|
* Change build.version.stage to falseBoris Kolpackov2018-09-111-1/+1
|
* Replace libu with libue in buildfilesKaren Arutyunov2018-09-101-4/+4
|
* Fix binless logic some moreBoris Kolpackov2018-09-072-15/+16
|
* Fix issues with interaction between binless logic and Windows DLLsBoris Kolpackov2018-09-064-26/+46
|
* Fix bug in pkgconfig_load()Boris Kolpackov2018-09-051-1/+1
|
* Only consider common .pc file for binless variant if there is no binfullBoris Kolpackov2018-09-053-15/+30
|
* Adjust pkg-config logic to cover binless librariesBoris Kolpackov2018-09-053-131/+234
|
* Create .buildignore file in testscript root working directoryKaren Arutyunov2018-09-055-12/+112
|
* Check for binless-ness after seeing through to import library memberBoris Kolpackov2018-09-041-11/+16
| | | | | This makes a difference for installed libraries since the DLL location might be unknown (empty path).
* Initial work on binless (binary-less aka header-only) library supportBoris Kolpackov2018-09-049-354/+514
|
* Rename .test/test{} to .testscript/testscript{}Boris Kolpackov2018-09-042-6/+6
|
* Ignore directories with .buildignore file when generating names with ↵Karen Arutyunov2018-09-031-9/+11
| | | | wildcard patterns
* Use (native) C and C++ compilers we were built with as defaultsBoris Kolpackov2018-09-034-7/+44
|
* Add ability to print cc compiler_id valueBoris Kolpackov2018-08-312-0/+24
|
* Adjust terminology in diagnostic and commentsBoris Kolpackov2018-08-311-5/+5
|