2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Tanzinul Islam ccb9a97efb Fix build with Embarcadero C++ Builder ("borland" toolset) (#398)
* 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 in 00c2358, but it became
apparent after 9339693.
2019-02-26 19:32:53 -06:00
2018-01-22 09:45:02 -06:00
2018-09-26 09:54:06 -07:00
2018-11-18 12:00:51 -06:00
2018-11-11 20:57:27 -06:00
2018-09-26 09:54:06 -07:00
2018-09-26 09:54:06 -07:00
2018-11-18 11:27:11 -06:00

Boost.Build
===========

See the Boost.Build website at https://boostorg.github.io/build/.

See the `guidelines for contributing <./CONTRIBUTING.rst>`__.
Description
Mirrored via gitea-mirror
Readme 39 MiB
Languages
C++ 73.8%
Python 22.6%
C 1.6%
Batchfile 0.7%
Shell 0.6%
Other 0.6%