Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-08-28 | Move cc build system module to separate library | Karen Arutyunov | 1 | -781/+0 | |
2019-08-28 | Move bin build system module to separate library | Karen Arutyunov | 1 | -1/+1 | |
2019-08-26 | Make target types project-wide | Boris Kolpackov | 1 | -7/+5 | |
2019-08-23 | Introduce notion of build context | Boris Kolpackov | 1 | -7/+9 | |
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time. | |||||
2019-08-21 | Cleanup context.hxx and its usage | Boris Kolpackov | 1 | -1/+0 | |
2019-07-05 | Move config, dist, test, and install modules into library | Karen Arutyunov | 1 | -2/+2 | |
2019-07-01 | Split build system into library and driver | Boris Kolpackov | 1 | -3/+3 | |
2019-06-24 | Constrain access to options to build system driver main() only | Boris Kolpackov | 1 | -2/+2 | |
2019-06-21 | Add support for [config.]{cc,c,cxx}.aoptions (archive options) | Boris Kolpackov | 1 | -0/+3 | |
In particular, this can be used to suppress lib.exe warnings, for example: cc.aoptions += /IGNORE:4221 | |||||
2019-06-19 | Improve diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2019-06-07 | Fix /usr/local/{include,lib} logic for Mac OS 10.14 | Boris Kolpackov | 1 | -0/+45 | |
Turns out there /usr/include is no more. | |||||
2019-06-07 | Complete and normalize paths in cxx.importable_headers | Boris Kolpackov | 1 | -22/+37 | |
Also add more header unit include/import tests. | |||||
2019-06-06 | Fix cc link rule matching ambiguity wrt to C/C++ sources | Boris Kolpackov | 1 | -10/+18 | |
Considering a C header as C++ source was definitely a bad idea. | |||||
2019-05-03 | Add config.{c,cxx}.std | Boris Kolpackov | 1 | -2/+17 | |
These values override {c,cxx}.std specified at the project level. In particular, this allows us to force a specific standard for all the projects in a build configuration, for example: b create: conf/,cc config.cxx=g++ config.cxx.std=experimental | |||||
2019-05-03 | Support <>-style header specification in importable_headers | Boris Kolpackov | 1 | -7/+43 | |
2019-05-03 | Rename [config.]cxx.header_units to importable_headers | Boris Kolpackov | 1 | -8/+8 | |
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 1 | -0/+45 | |
2019-03-14 | Add support for multiple variable overrides | Boris Kolpackov | 1 | -2/+2 | |
Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g | |||||
2019-02-15 | Check for /usr/local/include in addition to /usr/include | Boris Kolpackov | 1 | -6/+9 | |
Specifically, Apple Clang does not have /usr/include (it has its equivalent in /Applications/.../XcodeDefault.xctoolchain/usr/include/) but does have /usr/local/include. | |||||
2019-01-16 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-11-06 | Ignore non-existent /usr/local/{include/,lib/} | Boris Kolpackov | 1 | -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. | |||||
2018-10-26 | Add config.{c,cxx}.{id,version,target} configuration variables | Boris Kolpackov | 1 | -11/+15 | |
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). | |||||
2018-10-25 | Redesign cc::compiler_id to make variant customizable | Boris Kolpackov | 1 | -1/+1 | |
2018-10-19 | Suggest override variable (config.x) when tool is not found | Boris Kolpackov | 1 | -0/+1 | |
2018-09-03 | Use (native) C and C++ compilers we were built with as defaults | Boris Kolpackov | 1 | -5/+14 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-02-03 | Get rid of action rule override semantics | Boris Kolpackov | 1 | -16/+17 | |
Instead we now have two more or less separate match states for outer and inner parts of an action. | |||||
2018-01-08 | Implement compiler_info caching | Boris Kolpackov | 1 | -12/+14 | |
2018-01-08 | Complete runtime/stdlib detection | Boris Kolpackov | 1 | -5/+11 | |
2018-01-05 | Initial support for c/cxx runtime/stdlib detection | Boris Kolpackov | 1 | -51/+49 | |
2017-12-16 | Improve process execution diagnostics by reusing run_*() API | Boris Kolpackov | 1 | -1/+2 | |
2017-12-06 | More work on Clang on Windows/MSVC support | Boris Kolpackov | 1 | -1/+2 | |
2017-12-04 | Remap Clang on Windows target triplet to that of MSVC | Boris Kolpackov | 1 | -0/+17 | |
2017-12-04 | Recognize empty cc.pattern | Boris Kolpackov | 1 | -1/+1 | |
2017-12-04 | Improve diagnostics when c-family modules using different toolchains | Boris Kolpackov | 1 | -14/+35 | |
We now also warn on toolchain pattern mismatch. | |||||
2017-12-04 | Implement better cross-hinting between c-family modules | Boris Kolpackov | 1 | -46/+81 | |
2017-11-27 | Add {c,cxx}.class variables | Boris Kolpackov | 1 | -8/+15 | |
Compiler class describes a set of compilers that follow more or less the same command line interface. Compilers that don't belong to any of the existing classes are in classes of their own (say, Sun CC would be on its own if we were to support it). Currently defined compiler classes: gcc gcc, clang, clang-apple, icc (on non-Windows) msvc msvc, clang-cl, icc (Windows) | |||||
2017-11-24 | Add extra library search paths as -L options | Boris Kolpackov | 1 | -15/+17 | |
2017-11-20 | Only add /usr/local/{include,lib} if compiler added /usr/include | Boris Kolpackov | 1 | -14/+25 | |
This makes sure we don't mess up cross-compilations or even native compilations with a custom sysroot. | |||||
2017-10-03 | Extract system header search paths from GCC or compatible | Boris Kolpackov | 1 | -13/+25 | |
2017-09-25 | Get rid of pkgconfig module | Karen Arutyunov | 1 | -4/+12 | |
2017-09-07 | Implement {c,cxx}.guess modules | Boris Kolpackov | 1 | -34/+41 | |
These can be loaded before {c,cxx} to guess the compiler. Based on this information we can then choose the standard, experimental features, etc. For example: using cxx.guess if ($cxx.id == 'clang') cxx.features.modules = false cxx.std = experimental using cxx | |||||
2017-07-29 | Implement "see through" installation semantics for utility libraries | Boris Kolpackov | 1 | -8/+20 | |
2017-07-27 | Initial infrastructure for utility libraries | Boris Kolpackov | 1 | -0/+14 | |
2017-05-31 | C++ modules work: add target types | Boris Kolpackov | 1 | -8/+25 | |
2017-05-30 | Rework C/C++ standard translation in preparation for experimental/modules | Boris Kolpackov | 1 | -5/+6 | |
Also fix bug in clang-apple versioning. | |||||
2017-05-25 | Add compiler_id enum | Boris Kolpackov | 1 | -0/+1 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 1 | -8/+8 | |
2017-03-04 | Only set install variables if install module has been loaded | Boris Kolpackov | 1 | -14/+20 | |
While generally a good idea, failing to do this trips up our load generation protection. | |||||
2017-03-02 | Unconditionally load bin.ar module in c and cxx modules | Boris Kolpackov | 1 | -14/+8 | |
With our utility library/until test approach this will probably be more common than not. |