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

4521 Commits

Author SHA1 Message Date
Nikita Kniazev
98cdf85e5a Fix type bases registering (#46)
The issue is also was a blocker for preprocessed test
2021-06-25 23:20:35 -05:00
Nikita Kniazev
8a20d6c430 Fix preprocessing on MSVC compiler (#44) 2021-06-24 11:35:18 -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
tee3
5c39c4e942 property: Fix print in error condition in property.find. (#35)
* property: Add a test to show the issue with property.find.
* property: Fix property.find to print the ambiguous key
2021-06-01 07:04:35 -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
Rene Rivera
ecaa7a9bda Allow empty free optional feature valus in CLI.
Features that are narked as 'free' and 'optional' will now be
ignored when the value specified on the command line is
empty. Hence once can specify `cxxflags=` on the command
line without errors. All current "flags" features are now optional.

fixes #5
2021-05-29 10:57:03 -05:00
Rene Rivera
f2efcabb90 Fixes missing exec and lib path for intel-linux.
Specifying the intel-linux compiler in the path would result in failure
because the path to the compiler would never get detected and hence
the path to the compiler libs would also be missing. This fixes the
issue by explicitly computing the absolute path to the compiler exec
always for both already specified and as found in PATH.

fixes #23
2021-05-28 21:34:27 -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
Peter Dimov
8b923d8eaf Declare the /python//numpy target to hold the include path (fixes #725) 2021-05-24 20:17:08 -05:00
Stéphan Kochen
2c4217ebb6 Set macOS default-toolset to clang (#30) 2021-05-12 07:23:15 -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
Nikita Kniazev
64dbb277b0 Include pch header automatically and on-demand (#19)
Previously it was needed to include pch header in every source file, but Clang does it automatically making the usage non-uniform. It is also a very noisy process to add pch header to an existing project. Automatic on-demand header inclusion solves both issues.

* pch: msvc source automatic header folder inclusion
* pch test refactoring
* pch test msvc automatic pch source generation
* Include pch header automatically and on-demand
* no more need in gcc pch naming hack
2021-05-03 10:56:15 -05:00
Nikita Kniazev
9552adf7e5 Versioned Clang automatic configuration (#1)
* Versioned Clang automatic configuration

Currently, without annoying `toolset.using` directives in `user-config.jam`, `b2 toolset=clang-xx` silently uses clang++ binary, even if it is a different version than requested. Instead of copycating GCC or reinventing a wheel I have generalized GCC automatic configuration and used it for Clang.
2021-04-23 18:42:53 -05:00
René Ferdinand Rivera Morell
aabf877be6 Start of 4.6.0 2021-04-23 18:40:31 -05:00
René Ferdinand Rivera Morell
4b56c50e19 Start of 4.6.0 2021-04-23 18:39:52 -05:00
Rene Rivera
c7a67d2484 Doc additions/fixes for release. 2021-03-30 21:39:32 -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
Alexander Grund
ca7d1729b1 Also check for m-suffixed python include folder (#4)
* src/tools/python.jam
    (compute-default-paths): When the python include folder without any
    suffix does not exist, but one with a m-suffix does, use the latter
2021-03-24 09:30:33 -05:00
René Ferdinand Rivera Morell
dec7030d3f Reenable ability of generators to return property-set as first item
Re-introduces functionality that was present in B2, but removed when the "" feature was introduced
Previously, generators could return a property-set as the first item in the result list, this feature removed that. It doesn't seem clear to me that removing this functionality was intentional or necessary to make the feature work. I suspect it was overlooked because the built-in generators did not utilize this functionality that the system supported
2021-03-23 07:18:53 -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
René Ferdinand Rivera Morell
630490cd63 Tweak the configure output to be more brief.
Adding the variant information to the configure messages caused a lot of
long output. Avoid most of the long output by removing the data output
duplication and summarizing the variants as notes below the configure
items.
2021-02-08 20:03:59 -06:00
René Ferdinand Rivera Morell
af640c4198 Allow indirect rule features to be removed from inheritance.
Before this indirect rule references in features like
"-<conditional>@global.my-rule" had no effect. This was due to such
references being contextually encoded and evaluated. Hence every
reference was different and nothing could be removed. This change
makes it such that those indirect references do not use the invocation
context to compare for the removal of the inherited features. And hence,
allowing them to work.

Fixes #709
2021-02-08 10:46:24 -06:00
Rene Rivera
95c875b1dd Remove fixed list of configure relevant features.
This change removes the "hard wired" set of features that are relevant
for a configure check. And instead uses the dynamic base properties
of the target property set. Hence always giving the minimal set of
unique properties for the configure check. This also adds output to
the configure items showing what that feature set is.

fixes #582
2021-02-03 10:19:15 -06:00
Nikita Kniazev
e652fa47bd Implement PCH on clang-win and clang-darwin (#626)
* clang-win: enable PCH
* clang-darwin: implement PCH
2021-02-01 22:42:29 -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
Edward Diener
e63cedb6c4 Support the new Intel OneAPI product (#700)
Fix for the latest icl.exe in the Intel OneAPI product. The icl.exe major version number in the oneAPI product starts with "2021" rather than "21", but the fix supports also specifying the major version number of icl.exe in the oneAPI as starting with "21". In the oneAPI product the setup file is called "setvars.bat" and not "iclvars.bat". Finally all tests for icl major versions are changed from the previously faulty string comparisons to the correct number comparisons.
2021-01-18 10:40:46 -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