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

1376 Commits

Author SHA1 Message Date
Rene Rivera
2022e93af8 Bump version to 4.7.0. 2021-09-21 22:15:28 -05:00
DoctorNoobingstoneIPresume
861cd41c2b The engine can now be built with MinGW-w64 configured with --threads=win32. (#68)
* The engine can now be built with MinGW-w64 configured with --threads=win32.

This is the case for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++
distributed with the last versions of Cygwin compatible with Windows XP
(www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html).

The MinGW-w64 toolchains are very powerful, just like their gcc counterparts.
Even the ones with win32 threading model (as opposed to posix threading model),
while not able to use std::thread, can still build-and-use Boost.Thread.
(which, arguably, is more powerful than the Standard counterpart
for example with its support for thread interruption
-- which is less intrusive than the one offered by C++20 std::jthread).

For Windows XP, MinGW-w64 toolchains might be the only ones to support C++11.
Visual C++ has only been supporting C++11 since 2013
(and those versions require-and-often-target newer versions of Windows).

The only part of <thread> we were using was std::thread::hardware_concurrency
(in order to obtain the default value for b2's -j option).
For Windows, we now use dwNumberOfProcessors (in SYSTEM_INFO) and GetSystemInfo.
2021-09-09 08:24:22 -05:00
Brad Smith
dcffeb632e Do not unconditionally define unix on OpenBSD. (#85)
This resolves a warning that popped up when we switched to Clang as
Clang defines unix in addition to __unix__ unlike GCC.
2021-09-07 07:11:52 -05:00
Nikita Kniazev
23212066f0 Allow only suffixes starting with a digit (#79)
An easiest way to ignore toolset platform subfeature suffixes (-linux/darwin/win).
2021-09-02 22:23:08 -05:00
Nikita Kniazev
5731edb171 Bail out when list of lists limit is reached (#52)
Previously it was silently not appending anything, what also was leading to silently dropping rule parameters.
2021-07-11 21:39:31 -05:00
Nikita Kniazev
ab2c3a1cef Print scandir error message (#50) 2021-07-11 21:30:54 -05:00
Nikita Kniazev
d89f209402 Fix a memory leak from @() feature implementation (#51)
There are still some memory leaks left to catch, but those are seems to be introduced far back.
2021-07-11 15:15:25 -05:00
Nikita Kniazev
b522b50bf0 Clang: Use --version instead of -dumpversion (#39)
* Clang: Use --version instead of -dumpversion

Fixes issue when Clang 8 and below determined as 4.2.1 version.

* Bootstrap and test with versioned toolset

Eliminates need to manual configure toolsets via `user-config.jam` for testing, and allows to pass to `bootstrap.sh` the same toolset string as you would to B2 invocation what eliminates need to specify a custom exec via `--cxx=`.
2021-06-11 17:49:01 -05:00
René Ferdinand Rivera Morell
2fd5be1d96 Start a patch release. 2021-06-09 21:49:17 -05:00
Rene Rivera
91fd728f3e Add a default exec path logic.
This adds default/fallback logic to determine the b2 exec absolute path
as possible. It uses the arg0 and current dir or path to construct the
liekliest path.

fixes #25
2021-05-29 22:09:13 -05:00
Samuel Debionne
078c68a2e5 Add default value for cxx and cxxflags options for the cxx toolset (#24)
Add default value for cxx and cxxflags options for the cxx toolset
2021-05-28 19:55:04 -05:00
Rene Rivera
00e3b9e62f Update grammar with latest bison. 2021-05-26 16:57:50 -05:00
tkoecker
5aaf51b80e Check for needing -pthread for gcc engine build.
Some platforms, like AIX, when building with gcc need `-pthread` option to enable std thread support. This adds an alternate check with that option as fallback to plain gcc compile.
2021-05-04 08:53:48 -05:00
tkoecker
635fa23ee1 work around parse error on old busybox shells (#22) 2021-05-03 14:32:25 -05:00
Tanzinul Islam
da7efaa25b Avoid use of "local" in /bin/sh-based script (#26)
Looks like `/bin/sh` on Solaris doesn't have extra `bash`/`ksh` features, and [`local` is not in POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html).

Closes: boostorg/build#722
2021-05-03 13:47:52 -05:00
René Ferdinand Rivera Morell
aabf877be6 Start of 4.6.0 2021-04-23 18:40:31 -05:00
NeroBurner
3a8593fa9e Handle spaces in CXX path in config_toolset.bat (#13)
Surround the `CXX` path with double quotes to support spaces in the path.
Otherwise if the `CXX` variable is set to a path containing spaces like

```
C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
```

the following error message is printed:

```
'C:/Program' is not recognized as an internal or external command,
operable program or batch file.
```
2021-03-26 20:02:30 -05:00
Rene Rivera
af7a01d213 Disable pygments.rb as it has crossversion compat issues.
Using pygments.rb fails on Ruby3 because of missing class create
methods. Which makes using the same script for ruby2 and ruby3
a problem. We aren't using pygments currently anyway, so
disable it for now.
2021-03-26 07:51:27 -05:00
Rene Rivera
c4151cbfcf Bump version to 4.5.0 for next release cycle. 2021-03-08 22:49:57 -06:00
Rene Rivera
02cf118d80 Version 4.4.2 as first for BFG. 2021-02-20 23:10:30 -06:00
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -06:00
Rene Rivera
c11516aa52 Version 4.4.1 2021-02-12 08:23:37 -06:00
Rene Rivera
b593b9b841 Prefer clang on macOS for engine build. 2021-02-08 20:13:49 -06:00
Rene Rivera
b02801596e Update docs for current build.sh reality. 2021-02-01 08:54:03 -06:00
Rene Rivera
7497f61dde Rework build.sh to use options instead of env vars.
The CXX/FLAGS env vars caused a variety of issues, mainliy for Cloud CI.
This change replaces the env vars with some extra options.
2021-01-31 16:07:00 -06:00
Rene Rivera
4a7dd4937f Use pathnt.cpp on mingw. 2021-01-26 21:04:28 -06:00
Rene Rivera
895c49ccc4 Fix a bunch of problems with resetting various vars.
There was a systemic error of using ":=" instead of ":-" var expansion
that caused all kinds of problems. Replacing all the instances to be
correct fixed them. But also brought to light other problems. The
changes include fixing the intel detection to no leak and persist it's
setup. And to also support setup script generally if required.

Fixes #705
2021-01-23 10:56:53 -06:00
Rene Rivera
3468fa7b63 Fix POSIX sh inheriting early exit causing failed compiler detection. 2021-01-22 22:51:05 -06:00
Rene Rivera
6a21474e00 Merge branch 'develop' of https://github.com/boostorg/build into develop 2021-01-22 07:39:20 -06:00
Rene Rivera
5ede4e8d8d Rewrite intel-linux to support oneAPI release.
This rewrites the inte-linux toolset to support auto detection and
oneAPI version of compiler.
2021-01-22 07:39:14 -06:00
René Ferdinand Rivera Morell
e61e058746 Allow verbose and debug build control from env vars.
Allows presetting `B2_VERBOSE` and `B2_DEBUG` env vars to build displaying extra build info and building debug version of engine respectively.
2021-01-21 08:27:32 -06:00
Rene Rivera
2377e08262 Support building on Windows bash with mingw.
fixes #703
2021-01-20 16:17:28 -06:00
Rene Rivera
f3aa3f9ae8 Fixes for POSIX sh. 2021-01-16 16:59:28 -06:00
Rene Rivera
c6937c0228 Guard against non-bash shells. 2021-01-16 13:02:13 -06:00
Rene Rivera
69b1c679bb Fix script to work when run from outside dirs. 2021-01-16 10:41:04 -06:00
Rene Rivera
38e16bee51 Move local var to top to try and avoid Ubuntu errors. 2021-01-15 17:02:40 -06:00
Rene Rivera
e0fb497c0c Fix bac local var name on some shells. 2021-01-15 13:20:00 -06:00
Rene Rivera
9c8bb1d22f Make the use CXX only replace the exec.
CXX was previously only used to replace the exec part of the compiler
commands. This change restores that aspect. It also makes the toolset
checks short circuit so that we do get the best  toolset and command
detected.
2021-01-15 12:59:34 -06:00
Rene Rivera
98a6f94994 Rewrite, and simplify, build for better detection.
This rewrites the build.sh to remove duplication of base compiler
command to combine checking the command and specifying it.
Which allows for only detecting valid working commands, and
hence toolsets. This also adds the new Intel oneAPI compiler.
2021-01-15 09:05:20 -06:00
Rene Rivera
537dabb6d3 Revert more list alloc changes. 2021-01-01 16:40:42 -06:00
Rene Rivera
ba075e6ac9 Slightly more optimal list alloc by using realloc. 2021-01-01 14:22:23 -06:00
Rene Rivera
1e294144db Forgot to put back the list dealloc. 2021-01-01 11:08:44 -06:00
Rene Rivera
6bba7e3bc4 Fix list alloc crashes.
This is a brute force fix for the instability of list allocations. It
gets rid of the caching of lists in favor of straight de/alloc.
2021-01-01 11:06:50 -06:00
Rene Rivera
5fa06452bf Fix coercion warning. 2020-12-31 11:34:26 -06:00
Rene Rivera
51d3a6d1c3 Abstract apply mods value. 2020-12-31 08:39:17 -06:00
Rene Rivera
359b4f2885 Minor clean up list cache code. 2020-12-31 08:38:31 -06:00
Rene Rivera
29baa79c7e Fix two memory leaks from new @() features. 2020-12-29 11:36:17 -06:00
Rene Rivera
30d2bd61ff Use std::free instead of C free.
Fixes #671.
2020-12-27 09:49:16 -06:00
Rene Rivera
bc36ce8134 Merge remote-tracking branch 'origin/develop' into feature/response-file-feature 2020-12-21 19:07:37 -06:00
WindR
02bf50d3f7 Fix broken Visual Studio 2019 support (#688)
Microsoft still releases VS 2019 Previews, no need to drop their support yet.
2020-12-20 09:47:58 -06:00