2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00
Commit Graph

1287 Commits

Author SHA1 Message Date
Rene Rivera
15e1928399 Fix is_root check to account for Windows paths.
Windows drive style paths should also be considered rooted as otherwise
we can't bootstrap when we specify one of those paths. This caused a
regression in Boost where that is regularly used.
2020-06-25 08:37:43 -05:00
Rene Rivera
4f6f4a2510 Add missing early exits to bootstrap sequence.
Some tests failed because the bootstrap would continue to run even
detecting a problem. This puts in the missing early return statements
in the boost-build builtin rule to get the short circuit on error
like the original Jambase.
2020-06-23 22:15:07 -05:00
Rene Rivera
275dc6e6bf Work around some older compiliers.
Some older compilers don't coerce in the ctor even if there's one
available.
2020-06-22 17:36:23 -05:00
Rene Rivera
a511f6517c Add new startup.cpp for b2 engine build. 2020-06-22 10:38:48 -05:00
Rene Rivera
59b7a6dc69 Port Jambase to C++.
This ports the minimal Jambase to native C++. This removes the need for
mkjambase and the Jambase files. To accomplish that it adds C++
utility wrapers around Jam language primitives. Which makes future
similar work much easier.
2020-06-22 08:48:24 -05:00
Nikita Kniazev
60270e4322 Missing import in property-set.create (#611) 2020-05-19 19:43:12 -05:00
Nikita Kniazev
a11b1c104f Fix timestamp_delta_seconds (#603)
* The multiplier 1000000 is wrong
* Return seconds as function name and description says
* Use `difftime` instead of assuming `time_t` is in seconds
2020-05-12 07:31:33 -05:00
Rene Rivera
319b6aa2a3 Rewrite yyacc util to actual C++.
Rewriting the yyacc utility in C++ makes it ASAN safe and hence makes it
possible to build an ASAN enabled b2 engine. To eventually make all
of the b2 engine ASAN safe.
2020-05-11 20:41:35 -05:00
Nikita Kniazev
7fb91652ca Parallel B2 engine compilation on MSVC (#598) 2020-05-08 22:43:50 -05:00
Nikita Kniazev
f3f2b103d4 Fix config_toolset.bat VC14 flags (#595) 2020-05-06 20:52:04 -05:00
Nikita Kniazev
0eadb37690 Print fopen fail reason (#583) 2020-05-05 08:46:17 -05:00
Nikita Kniazev
ae6f588f92 Replace /Ox with /O2 and remove /Zi (#572)
Reduces b2 executable size for 60% (1174KiB vs 465KiB)

/O2 is essentially /Ox /GF /Gy
/Zi implies /debug which disables /opt optimizations
2020-04-19 17:17:39 -05:00
Nikita Kniazev
c84805991d Build B2 using native arch MSVC (#565) 2020-04-18 13:06:03 -05:00
Rene Rivera
8e3edfb0d6 Remove temp debug echo-s. 2020-03-31 22:16:18 -05:00
Rene Rivera
f414639736 Remove vc11 engine build. 2020-03-31 21:47:38 -05:00
Rene Rivera
48fb55c653 Temp: echo build execute. 2020-03-31 20:40:47 -05:00
Rene Rivera
24626819c2 Temp: print config_toolset execution. 2020-03-31 20:15:50 -05:00
Rene Rivera
8f3bd9e842 Remove left-over gcc pragma. 2020-03-31 14:59:26 -05:00
Rene Rivera
a47bd89c60 Fix missing predef or. 2020-03-31 14:36:22 -05:00
Rene Rivera
085fc552c9 Avoid pragma syntax warning in non-msvc compilers. 2020-03-31 14:33:44 -05:00
Rene Rivera
107c3d30c8 Have to disable warning in Windows header. 2020-03-31 12:24:13 -05:00
Rene Rivera
7f85769fd0 Fix implicit bool cast warning. 2020-03-31 11:33:46 -05:00
Rene Rivera
d799bcc52a Avoid warning from STL during build on msvc14. 2020-03-30 22:33:19 -05:00
Marcel Raad
3982f4808a Unbreak building from VS Preview command prompt (#549)
Commit de026bc61e changed the order to first detect the unusable vcunk
toolset before the vc142 and vc141 toolsets. This breaks building from
the Visual Studio Preview command prompt if no other Visual Studio
version is detected. Move the vcunk block down to where it was before
to restore this functionality.
2020-03-18 22:11:26 -05:00
Rene Rivera
ecb7bd6b84 Bump version number. 2020-03-18 21:05:56 -05:00
Rene Rivera
3595602a14 Big rename from Boost.Build to B2. 2020-03-09 11:08:48 -05:00
Mateusz Łoskot
bdccf53eec Make sure b2 exits immediately on syntax errors (#540)
Add test verifying Jam syntax error results in non-zero exit status.

Refines #538
Fixes #539
2020-03-02 14:03:38 -06:00
Mateusz Łoskot
71b8d4b823 Switch to explicit ANSI variants of Win32 API functions (#543)
Allow clean compilation with /DUNICODE defined.

Fixes #542
2020-02-28 07:32:34 -06:00
Rene Rivera
aa9b558bb2 Restore cygwin/vms only function.
fixes #541
2020-02-27 22:58:14 -06:00
Rene Rivera
4077c4fe41 More Windows build warning removal. 2020-02-26 16:25:43 -06:00
Rene Rivera
520ebfd0bf Remove some warnings on NT/Windows. 2020-02-26 14:36:54 -06:00
Rene Rivera
391939c93b Avoid MSVC secure, and one more un/signed warning. 2020-02-25 10:28:38 -06:00
Rene Rivera
e115f07729 Clean up build warnings (gcc & clang). 2020-02-24 22:10:15 -06:00
Mateusz Łoskot
b02e4c4e50 Fix non-zero exit code on Jam parsing errors (#538)
Prevent resetting the non-Zero status returned from yyanyerrors
on any parsing errors.
2020-02-22 15:24:06 -06:00
Rene Rivera
4dea1934c6 Rebuild grammar parser with latest Bison. 2020-02-18 20:49:39 -06:00
Rene Rivera
415bede6bc Nicer cxx11 error message pass from bootstrap to build.
Expanded error message for cxx11 requirment. And now passing bootstrap
arguments to build script to allow choosing toolset from bootstrap also.
2020-02-13 20:36:30 -06:00
Rene Rivera
89a7ac58db Add checks for C++11 with informative error.
This adds a check_cxx11.cpp source that is checked for compile with the
chosen toolset before actually building. This include an appropriate
user error. To see such errors, we also nolonger output to
bootstrap.log. Instead the bootstrap outputs to cerr and sets the
error code.
2020-02-13 07:30:17 -06:00
Rene Rivera
8182f7a91a Bump version for next release.
Also add current CI test compilers and OSes.
2020-02-09 11:31:20 -06:00
vahtis
6963718145 Fixes build on Sun toolset by adding C++11 compile option.
Add c++11 flags because sysinfo uses c++11 features

fixes #530
2020-01-29 09:11:25 -06:00
YunQiang Su
e67fc8a4be define OSPLAT: MIPS64/MIPS32 instead of MIPS (#517)
context need to define abi as o32 for MIPS32, while n64 for MIPS64.
we need a way to know about it.
2019-12-26 09:23:27 -06:00
Andrey Semashev
146ab9a227 Renamed strings.h to jam_strings.h to distinguish from POSIX strings.h. (#476)
Some system headers on POSIX systems indirectly include strings.h in extern "C"
region. This sometimes results in Boost.Build's strings.h being included into
such region, which marks all string_* functions as extern "C" and changes their
name mangling rules accordingly, which causes linking errors. To resolve this
header conflict, this commit renames strings.h to jam_strings.h. And strings.cpp
to jam_strings.cpp for consistency.

Fixes https://github.com/boostorg/build/issues/468.
2019-09-10 22:25:12 -05:00
Juan Alday
25ce5386f3 Extracts version of IBM and Sun compilers (#474)
xlc and suncc do not support the --version flag. This PR fixes the bootstrapper to use the correct flags.
2019-08-28 07:08:16 -05:00
Andrey Semashev
2b9645cd7e Fix compiler warnings about -std=gnu11 on Cygwin. (#458)
-std=gnu11 is a flag for C source files, for C++ -std=gnu++11 should be used.
2019-07-11 06:34:28 -05:00
Rene Rivera
35c86a1bed Start of 4.1.0 release. 2019-07-11 06:32:18 -05:00
Rene Rivera
a83f94aad2 Fix bad number of args to cpu count macro. 2019-06-18 09:24:18 -05:00
Rene Rivera
79c248c57a Restore POSIX & Linux core count.
Looks like the std core count function is no worse than the POSIX &
Linux specific methods. Re-enabling those platform methods.
2019-06-18 08:09:48 -05:00
Rene Rivera
9e4bb2e28b Disable the POSIX & Linux core count until stable.
Some methods for quering the cpu counts are unreliable when run
in a container or other cpuset restrictions. Disable them to prefer
the std query.
2019-06-14 23:48:59 -05:00
Rene Rivera
495410e2c1 Avoid warnings about redef of _GNU_SOURCE. 2019-06-11 21:34:58 -05:00
Rene Rivera
c27d575fb3 Rework sysinfo cpu to avoid overcounts.
When running in Linux containers the POSIX sysconf can return "too many"
cores or cpus. Instead we prefer using Linux specific sched_getaffinity
there.
2019-06-11 21:26:25 -05:00
Rene Rivera
a8ab76ef97 Final fallback for cpu count to use std::thread. 2019-06-04 17:07:24 -05:00