From 27bab046b055dc8820487ce333eec0b23cfc1c1d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 15 Mar 2016 10:08:38 +0200 Subject: Add NEWS files --- NEWS | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ buildfile | 2 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 NEWS diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..38845e0 --- /dev/null +++ b/NEWS @@ -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 [-] 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. diff --git a/buildfile b/buildfile index 1f6ca0e..cd8cf12 100644 --- a/buildfile +++ b/buildfile @@ -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 -- cgit v1.1