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

1186 Commits

Author SHA1 Message Date
Dmitry
7402029c33 Skip targets with <build>no in usage requirements (#81) 2021-09-02 22:30:08 -05:00
Dmitry
ac2cf96483 Evaluate conditionals in a loop (#80) 2021-09-02 22:25:34 -05:00
psandana
37622df644 Avoid warnings about threading model for qt5.
Fixes #64 qt5.jam warning <threading>multi ignored.
2021-08-03 20:26:24 -05:00
Nikita Kniazev
a844236dd8 Move Objective-C support to GCC toolset (#62)
Removes code duplication in darwin and clang-darwin toolsets.

Removes undocumented `<flags>` from several toolsets, there is documented `<compileflags>` that should be used instead.
2021-07-28 16:57:47 -05:00
Nikita Kniazev
2b1a9de81b Replace ranlib call with s flag in ar call (#56)
`ar s` seems to be widely supported for a very long time:
  - at least binutils 2.10 (June 2000)
  - at least Darwin 8.0 (April 2005)
  - since FreeBSD 3.0 (October 1998)

Note: Most of other (non-widely used) toolsets do not call `ranlib` and do not call `ar` with `s` flag either. I have no idea if they are correct or not, so I am not touching them here.
2021-07-25 21:52:12 -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
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
7d0704debb Reanimate bunch of abandoned tests (#43)
* Remove useless and unused railsys test
* Reanimate bunch of abandoned tests
2021-06-23 22:59:17 -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
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
Rene Rivera
9184d2b313 Minor updates/tweaks to docs for bfgroup. 2021-02-23 23:01:04 -06:00
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -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
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
ddf2a8c5e0 Add support to override b2 exec for testing.
Adds use of `B2` env var to specify the b2 exec to use for testing.
This allows us to use debug and sanitizer builds for testing.
2020-12-31 08:34:59 -06:00
Rene Rivera
af486c017f Damn python not groking utf-8. 2020-12-21 21:30:15 -06:00
Rene Rivera
714840f36f Add documentation for response-file feature. 2020-12-21 21:08:12 -06:00
Rene Rivera
03ef46ec4d Add python coding hint as py is too dumb to figure it out by itself. 2020-12-13 21:52:12 -06:00
Rene Rivera
e206f0d602 Initial implementation of dynamic response files.
This implements the ability for response file "@()" substitution to
dynamically adjust to either expand the content or create the response
file depending on the possible command line length. This should
reduce the create of such response temp files improving build
performance.
2020-12-13 21:30:03 -06:00
René Ferdinand Rivera Morell
482c25f3a2 Minor fix for py3 compat. 2020-10-22 21:04:49 -05:00
sjcooke
59065850ec Add missing relevant features for searched lib targets (Fixes #515) (#640)
* Add missing relevant features for searched lib targets (#515)
* Added a regression test for searched lib targets (#515)
2020-09-01 21:52:44 -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
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
Edward Diener
992e1044ba Using latest clang-linux-3.9.0.py. Corrected msvc.jam once again. 2020-06-04 22:21:11 -04:00
Edward Diener
b03b5d2808 Merge branch 'develop' of https://github.com/eldiener/build into cppbuilder 2020-05-19 11:50:13 -04:00
Rene Rivera
c2137c3503 Allow wildcard matching for arg_file type args. 2020-05-14 20:24:55 -05:00
Edward Diener
2cfc73214d Merge branch 'develop' of https://github.com/boostorg/build into cppbuilder 2020-05-02 00:38:21 -04:00
Edward Diener
3c06be3d2f Updated fies. 2020-05-02 00:37:39 -04:00
Rene Rivera
7d9866256d Allow testing toolsets that use response files.
This adds exclusions for toolsets that use response files for some
commands. Mostly it ignores the generated rsp files.
But also adds a special arg_file value to the MockProgram for future
use for possible content checking.
2020-05-01 10:13:28 -05:00
Nikita Kniazev
943a28a8ba Fix pch path conflict on GCC (#563)
* Follow-up to removed restriction of pch naming on GCC

* Fix pch path conflict on GCC

gcc-pch-generator rewrites target name to a value derived from a header name
and this cases path conflict if multiple pch are created from the same header.

hello.cpp is duplicated in the test for the same reason but for `exe` target --
`exe hello-afx : hello.cpp ;` uses `hello.o` for object file name.
2020-04-03 20:27:41 -05:00
Nikita Kniazev
8198576481 Remove pch target naming restriction on GCC (#561)
Do not require pch target to have the same name as the header base name.

The restriction was added in 76d041d7c1 without
a rationale and only for GCC while reworking PCH support for GCC and MSVC.
2020-04-03 07:30:15 -05:00
Nikita Kniazev
f384d2f5a8 force-include feature (#558)
Specifies an include path that has to be included in a way like if
`#include "file"` appeared as the first line of the primary source file.
2020-04-02 11:56:47 -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
Edward Diener
d8cdc48fa6 Warning about writing to the console when running the tests for Boost Build. (#470)
* Add a warning to running the Boost Build tests about outputting to the console in a configuration jam file.

* Fix the tests if the toolset passed has a version.
2019-08-28 07:10:31 -05:00
Rene Rivera
4348970fc8 Fix unit tests to account for -j default. 2019-06-03 22:02:40 -05:00
Rene Rivera
3549a4d5da MinGW passes all tests. 2019-04-02 00:09:54 -05:00
Rene Rivera
a3b3054856 Merge remote-tracking branch 'origin/develop' into feature/cxx 2019-04-01 21:04:59 -05:00
Steven Watanabe
1c50088007 Propagate the python executable for the mock toolset tests. 2019-04-01 14:20:53 -06:00
Steven Watanabe
0de4c23deb Fix test for msvc. 2019-04-01 13:55:07 -06:00
Steven Watanabe
1e19d74d46 Change always to affect all targets created by a metatarget and add a test for it. Fixes #390. 2019-04-01 12:32:41 -06:00
Rene Rivera
b032a8e514 Decode bytes output we can get from commands. 2019-03-31 18:24:27 -05:00
Rene Rivera
60027ff4de Fix bga.py for py3. 2019-03-31 15:58:20 -05:00
Rene Rivera
85e5a2caa8 Port b2 tests to dual py2 and py3.
Now that the tests work in py2 or p3 we don't set py version in AP. This
allows for dealing with the AP images that don't have a way to set the
py version.
2019-03-31 15:37:03 -05:00
Steven Watanabe
ae682028d5 Adjust the properties passed to check-target-builds correctly. Also some translation fixes for indirect conditionals in general. Fixes #419. 2019-03-30 14:20:44 -06:00
Rene Rivera
854c9f075b Fix newly broken prebuilt test for msvc. 2019-03-24 22:07:42 -05:00
Rene Rivera
683b1c70a8 Fix prebuilt test to account for mingw lib names. 2019-03-24 20:57:00 -05:00
Rene Rivera
143aa649e5 Try and fix prebuilt test for mingw. 2019-03-24 17:44:03 -05:00