mirror of
https://github.com/boostorg/build.git
synced 2026-02-14 12:42:11 +00:00
ccb9a97efb39d338e3c30106c8f33f4433e38721
* Fix "bootstrap.bat borland" failing to find label "Test_Path" If an override toolset is given in the `bootstrap.bat` command-line, `bootstrap.bat` -> `src/engine/build.bat` bypasses loading `src/engine/guess_toolset.bat` entirely. Later on the call to `Test_Path` from `build.bat` -> `config_toolset.bat` fails to find that label. Fix this by making a new parameterized entry-point `test_path` inside `guess_toolset.bat` for this caller in `config_toolset.bat`. Fixes: #382. * Handle spaces in C++Builder toolchain path Nowadays a default installation goes into %PROGRAMFILES%, e.g. "C:\Program Files (x86)\Embarcadero\Studio\20.0\Bin". * Add "-Nd" before "/D"-options for bcc32.exe The preprocessor of the old Borland/C++Builder compiler (bcc32.exe) by default does not accept preprocessor statements of the form: #if SYMBOL_NAME where `SYMBOL_NAME` was `#define`-ed without a value. It insists on the `#if defined(SYMBOL_NAME)` or `#ifdef SYMBOL_NAME` forms (emitting error E2188 "expression syntax"). The workaround is to specify the `-Nd` option before the offending `/D` options, which effectively provides a value of "1" to the symbols being #define-ed. Apply this workaround in the recipes of `bjam` and `b2` to satisfy the preprocessor. The alternative here would be to migrate to the Clang-based (and much more standard-compliant) bcc32c.exe, but that would be a more involved change. * Separate :Guess_Yacc logic from :Guess_Toolset in build.bat This was an existing benign issue introduced in00c2358, but it became apparent after9339693.
Boost.Build =========== See the Boost.Build website at https://boostorg.github.io/build/. See the `guidelines for contributing <./CONTRIBUTING.rst>`__.
Description
Languages
C++
73.8%
Python
22.6%
C
1.6%
Batchfile
0.7%
Shell
0.6%
Other
0.6%