Commit Graph

12124 Commits

Author SHA1 Message Date
Rene Rivera
f5587c1f91 Undo command extensions, as it just fails.
[skip travis]
2019-03-22 09:27:30 -05:00
Rene Rivera
9e499e300a Maybe cmd extensions are disabled? 2019-03-22 08:06:22 -05:00
Rene Rivera
505c8eacfd Try and fix dirname logic for mingw CXX.
[skip travis]
2019-03-21 21:52:42 -05:00
Rene Rivera
15c7c5a909 Fix gold linker load errors and add clang-8.
[skip appveyor]
2019-03-21 21:34:58 -05:00
Rene Rivera
0d993b8d1b Fix bad var name in for loop.
[skip travis]
2019-03-21 21:02:08 -05:00
Rene Rivera
b03828cc3c Fix mingw by the silly addition to PATH.
[skip travis]
2019-03-21 21:00:30 -05:00
Rene Rivera
20f7efd042 Fix incorrect vc142 label.
[skip travis]
2019-03-21 19:16:33 -05:00
Rene Rivera
8c0faa3796 Attempt to fix vc2019 build. 2019-03-21 19:11:01 -05:00
Rene Rivera
3eceb036ef Internalize build options into config header. 2019-03-21 09:53:02 -05:00
Rene Rivera
5ee7ebcf16 Merge origin/develop 2019-03-20 19:38:36 -05:00
Rene Rivera
eb8da52df3 Remove special darwin toolset for engine build. 2019-03-20 19:23:12 -05:00
Rene Rivera
571b3ee50a Merge branch 'feature/cxx' of https://github.com/boostorg/build into feature/cxx 2019-03-20 19:20:41 -05:00
Steven Watanabe
32787ecf41 Merge VS2019 support from develop 2019-03-19 10:17:09 -06:00
Nikita Kniazev
e22a75c8fd MSVC extra warning levels. Followup to 6611aeb (#402) 2019-03-17 23:12:27 -05:00
jehelset
1cf0b2031a Read options before commit (#408)
* src/engine/jam.c
 ( main ): Read KEEP_GOING and PARALLELISM before calls to parse-file, so they are respected also here.
2019-03-17 23:11:14 -05:00
Rene Rivera
f8e6caeb45 Add VS2019 to CI testing.
[skip travis]
2019-03-17 22:44:30 -05:00
Nikita Kniazev
64d292d7a0 win: Increase communication buffers size (#412)
Currently the size of reading buffer is 16KiB while the the pipe buffer is of
system default size which seems to be 8KiB on Win7. Because of this the half of
the reading buffer is never used.

Also, recent Windows updates with Meltdown mitigation made syscalls more
expensive, and increasing the buffer size will lower the syscalls count.
2019-03-17 14:10:40 -05:00
Tom Kent
89b8dbf939 Merge remote-tracking branch 'upstream/develop' into bootstrap-vs16-no-vswhere 2019-03-11 19:20:54 -05:00
Damian Jarek
18886267dd
Remove off value of sanitizer features and rename norecover
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-11 19:31:19 +01:00
Steven Watanabe
3d4fa4162d Add missing path.make. 2019-03-10 23:05:42 -06:00
Steven Watanabe
71b1d5aa94 Relative paths for --prefix, --libdir, etc. are now bound relative to the current working directory, instead of being relative to the Jamfile. 2019-03-10 23:05:41 -06:00
Damian Jarek
8d0f375704
Add sanitizer feature example
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-11 02:08:50 +01:00
Damian Jarek
44e1befd0b
Add on-no-recover option for sanitizers
This option causes the program to exit after detecting the first
sanitizer issue.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-11 00:17:54 +01:00
Damian Jarek
67c2402053
Support for common sanitizers
Add support for a common set of sanitizers supported by both
gcc and clang:
- thread
- address
- undefined

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-10 23:59:20 +01:00
Steven Watanabe
f15a84a815 Add missing path.make. 2019-03-10 07:20:51 -06:00
Steven Watanabe
42aeed7ff1 Relative paths for --prefix, --libdir, etc. are now bound relative to the current working directory, instead of being relative to the Jamfile. 2019-03-09 14:00:21 -07:00
Steven Watanabe
9540e69b3f Clean up msvc initialization.
* If the user provided a command, don't try to use the autodetected command
  as well.  The fixes errors caused by passing too many arguments.
* If the user provided a command, but not a version, try to detect the
  version from the command.  This code already existed, but was useless
  because it was run too late.  It also failed for 14.1+ because of
  incorrect escaping for MATCH.
* When handling duplicate initialization, make sure that we compare
  the original user options to the new user options.  Previously, we
  compated the new user options to the auto-detected command which
  makes no sense at all.
* If the user specified a command, always search for it in PATH, instead
  of also searching version specific locations.
2019-03-09 11:08:57 -07:00
Tom Kent
de026bc61e Clear the error instead of not setting it.
Rearranged order for newest first.
2019-03-05 16:23:53 -06:00
Tom Kent
1691e6194c If the vswhere lookup fails, keep searching for others 2019-03-05 06:53:19 -06:00
Steven Watanabe
4ad28074f4 Don't accidentally detect msvc-14.1 as msvc-14.2.
- Fix copy/paste in the environmental variables.
- If vswhere exists, but doesn't find a given version, exit
  detection early and don't fall back on checking the environment.
- Clean up hackish vswhere handling.
2019-03-04 19:25:16 -07:00
Thomas Kent
0a93cc2b97 Added support for actually building with msvc-14.2 2019-03-01 16:06:03 -06:00
Tom Kent
bee2ef619b Future one is "UNK" 2019-03-01 16:04:01 -06:00
Thomas Kent
b655b3f1c2 Fixes vswhere lookup during bootstrap for 16.X and 17.X 2019-03-01 07:05:03 -06:00
Rene Rivera
c8e43a54e3 Merge branch 'develop' 2019-02-26 22:58:10 -06: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
Rene Rivera
6611aebf3c Define the warnings for the new set of options.
This avoids warnings=all and warnings-as-errors=on causing irreprerable
damage to humans. And makes it possible to have more warnings without
destorying the universe.

fixes #394
2019-02-23 10:55:02 -06:00
Rene Rivera
033ef59305 Add "extra" and "pedantic" warning levels for better warnings control. 2019-02-23 09:55:02 -06:00
David Michael
4746def4a2 Implement a pseudo-toolset for cross-compiling (#196)
When running build.sh with the cross-cc toolset, it uses the native
compiler settings found in the BUILD_CC, BUILD_CFLAGS, and
BUILD_LDFLAGS environment variables to create executables to run on
the build system.  It then sets the toolset to cc so that the
cross-compilers given as CC etc. are propagated to subprocesses.
This ensures both that the build system can build and execute its
required programs and that final executables are cross-compiled for
the target architecture.
2019-02-23 09:36:23 -06:00
Nikita Kniazev
d44023da09 boostbook: Fixed DTDXML path problems (#392) 2019-02-23 09:25:29 -06:00
tee3
e77bf6b336 Test the feature.valid to show that it fails. (#391) 2019-02-23 09:24:49 -06:00
Théo DELRIEU
c8c1064cac Handle <asmflags> in common (#397)
They were not forwarded in compile.asm actions, which prevented
cross-build scenarii.
2019-02-21 23:16:44 -06:00
Rene Rivera
854ee52028 Add feature for code coverage information instrumentation.
Fixes #396
2019-02-21 23:13:33 -06:00
Steven Watanabe
f1f02d7a26 Merge remote-tracking branch 'djarek/saxonhe' into develop 2019-02-15 12:36:24 -07:00
Steven Watanabe
acdf27398b Remove premature optimization that breaks piecemeal on windows.
The bug happens because exec_check replaces the shell inside
the command structure, but make1cmds retains a reference to
the old shell. The bug appears when all of the following are true:
- The action is piecemeal
- b2 is running on Windows
- SHELL is %
- The action contains elements that require a shell
- The action is split into multiple commands
In particular, this applies for gcc.archive with a large
number of object files.

Instead of attempting to reuse the same shell, we make
a new copy in every iteration of the loop.  The shell
and target lists are usually short and the cost of copying
them is insignificant compared to the other work done by the loop.
In addition, the optimization is rarely triggered because
piecemeal actions that require splitting are relatively rare.
2019-02-15 11:55:59 -07:00
Damian Jarek
39c8e85e71
Add support for SaxonHE for xsl processing
Will be used in generation of Beast qreference.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-02-13 23:00:14 +01:00
Peter Dimov
9bf1f14777 Fix clang version check; the in operator is true when $tag is undefined (#379) 2019-01-13 21:27:24 -06:00
Steven Watanabe
372e78a07f Merge branch 'develop' 2019-01-08 13:32:57 -07:00
Steven Watanabe
a283d72196 Expand subfeatures in target references. Fixes #380. 2019-01-03 10:17:41 -07:00
Steven Watanabe
b42fa406ea Fix test for windows. Also add package.py to test_all.py. 2018-12-18 20:39:16 -07:00
Steven Watanabe
914f7d4cbe Fix package.install-data, which was broken by my previous commit, and add tests for it. 2018-12-18 12:26:41 -07:00