diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-03-15 10:08:38 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-03-15 10:08:38 +0200 |
commit | 27bab046b055dc8820487ce333eec0b23cfc1c1d (patch) | |
tree | 0f5f43f9ecc7ec6aa2607f47b3b4e5cb4acc1a82 | |
parent | cbf10b8d1659be3656207745c6932f45f4b100e1 (diff) |
Add NEWS files
-rw-r--r-- | NEWS | 76 | ||||
-rw-r--r-- | buildfile | 2 |
2 files changed, 77 insertions, 1 deletions
@@ -0,0 +1,76 @@ +Version 0.3.0 + + * Support for High Fidelity Builds (HFB). + + The C++ compiler and link rules now detect when the compiler, options, or + input file set have changed and trigger the update of the target. Some + examples of the events that would now trigger an automatic update: + + * Compiler change (e.g., g++ to clang++), upgrade, or reconfiguration. + * Change of compile/link options (e.g., -O2 to -O3). + * Rename of a source file name (e.g., foo.cpp to foo.cxx). + * Removal of a file from a library/executable. + + * Support for the Intel C++ compiler on Linux. + + * Command line options, variables, and buildspec can now be specified in any + order. This is especially useful if you want to re-run the previous + command with -v or add a forgotten config variable: + + b test -v + b configure config.cxx=clang++ + + * Implement C++ compiler detection. Currently recognized compilers and their + ids (in the <type>[-<variant>] form): + + gcc GCC + clang Vanilla Clang + clang-apple Apple Clang (and the g++ "alias") + icc Intel icpc + msvc Microsoft cl.exe + + The compiler id, version, and other information is available via the + following build system variables: + + cxx.id + cxx.id.{type,variant} + cxx.version + cxx.version.{major,minor,patch,build} + cxx.signature + cxx.checksum + cxx.target + cxx.target.{cpu,vendor,system,version,class} + + * Implement ar/ranlib detection. The following information is available + via the build system variables: + + bin.ar.signature + bin.ar.checksum + bin.ranlib.signature + bin.ranlib.checksum + + * On update for install the C++ link rule no longer uses the -rpath + mechanism for finding prerequisite libraries. + + * Set build.host, build.host.{cpu,vendor,system,version,class} build system + variables to the host triplet. By default it is set to the compiler target + build2 was built with but a more precise value can be obtained with the + --config-guess option. + + * Extracted header dependencies (-M*) are now cached in the auxiliary + dependency (.d) files rather than being re-extracted on every run. This + speeds up the up-to-date check significantly. + + * Revert back to only cleaning targets in subdirectories. + + Cleaning everything as long as it is in the same strong amalgamation had + some undesirable side effects. For example, in bpkg, upgrading a package + (which requires clean/reconfigure) led to all its prerequisite being + cleaned as well and then rebuilt. That was very surprising, to say the + least. + + * Allow escaping in double-quoted strings. + +Version 0.2.0 + + * First public release. @@ -5,7 +5,7 @@ d = build2/ tests/ doc/ ./: $d \ -doc{INSTALL LICENSE README version} \ +doc{INSTALL LICENSE NEWS README version} \ file{INSTALL.cli config.guess config.sub bootstrap manifest} include $d |