2
0
mirror of https://github.com/boostorg/build.git synced 2026-01-19 04:02:14 +00:00

57 Commits

Author SHA1 Message Date
Rene Rivera
ebfaa03c19 Older clangs don't have Wno-attributes. Use Wno-c++14-extensions to cover those also. 2024-06-03 23:40:03 -05:00
René Ferdinand Rivera Morell
fbb7fb175a Implement command database generation (i.e. compile_commands.json). (#399)
This implements obtaining and generating compile commands from toolsets that compile C or C++ sources. I.e. implements both the --command-database=json amd --command-database-out=<filename> CLI options. Although it implements the toolset changes for most compilers, only a few are tested.

Fixes #395
2024-06-02 10:38:38 -05:00
Nikita Kniazev
a7af57e291 clang-win: use lld linker, fix embed-manifest-via=linker (#385)
Fixes bfgroup/b2/issues/159
2024-05-21 14:28:36 -05:00
Rene Rivera
084030b085 Support cross-compile install of B2.
Because we use the bootstrap exe for the install it was not possible to cross-compile install B2. This change dynamically chooses which b2.exe to install based on target-os and host-os. When in a cross-compile context, i.e. host-os != target-os, the b2 installed is built from source (and using target-os) instead of using the bootstrap exe.

fixes #358
2024-01-24 08:44:34 -06:00
Rene Rivera
5688347c0b Fix FreeBSD errors when using tasks.
FreeBSD gcc, instead of failing at link time when using multithreading
and forgetting add the -pthread option it throws an exception at
runtime. This change default to using the -pthread option for bootstrap
on all platforms. It also turns on threading=multi on the jam build.
2023-08-29 09:02:25 -05:00
Rene Rivera
5148264f77 Remove unneeded grep test code+option. 2023-08-19 20:58:32 -05:00
Rene Rivera
8bd0937bb2 Only use rdynamic on Linux for rrdebug. 2023-08-06 08:25:06 -05:00
Rene Rivera
c25aadd9f9 Merge branch 'main' into feature/grep 2023-08-05 10:12:15 -05:00
Rene Rivera
3c406989c6 Some tweaks on regex use case and ripgrep compare. 2023-08-05 10:10:45 -05:00
Rene Rivera
1378ef781e Support reverse debugger in debug builds. 2023-08-04 08:19:49 -05:00
Nikita Kniazev
2aa8cf82b9 Long path and Unicode support on Windows 10.0.1607/10.0.1903+ (#316)
Long path support is still not universal, even after an app has explicitly opted-in via manifest it also requires registry modification or group policies, see https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later though Python and Git installers nudges to enable it by their installers for a while.

`-X utf8` forces Python to use UTF-8 when its outputs are piped (will be default in 3.15 https://peps.python.org/pep-0686/)

Also had to fix clang-linux and msvc toolsets manifest embedding issues.
2023-07-22 09:33:51 -05:00
Rene Rivera
d2a2a95384 Merge branch 'main' into feature/grep 2023-06-19 10:57:09 -05:00
Rene Rivera
09bd0f6750 Merge branch 'version/4.10.0' 2023-06-11 10:54:57 -05:00
Rene Rivera
2c511ffe11 Attempt to turn off deprecated warnings for all clangs. 2023-04-15 11:37:07 -05:00
Rene Rivera
685b52e63f Avoid deprecation warnings for xcode/osx.
Specifically this avoids the warning for using sprintf.
2023-04-05 21:51:20 -05:00
Nikita Kniazev
fee36b78c5 clang-win: bootstrap and test (#221)
* clang-win: bootstrap and test
* clang-win: fix default architecture/address-model condition
2023-03-17 08:28:22 -05:00
Rene Rivera
2399813afa Switch to string_view for some internal char handling.
Add some debug validation in Jam interpreter.
2023-03-11 14:44:59 -06:00
Rene Rivera
416d556b41 Tweak tasks to avoid busy wait for group and to obey -j limit. 2023-01-16 23:22:50 -06:00
Rene Rivera
39609a0aba WIP: Working parallel grep using std::thread. 2023-01-10 08:56:41 -06:00
Rene Rivera
690a53aded Working grep built-in (single-thread). 2022-12-27 18:14:04 -06:00
René Ferdinand Rivera Morell
c4b35e6aad WIP: Add parallel grep builtin. 2022-12-26 22:38:26 -06:00
Rene Rivera
b1a3332658 Add require-b2 builtin rule.
fixes #180
2022-08-24 08:30:21 -05:00
Rene Rivera
96ea7c366f Default to portable layout on Windows install. 2022-05-11 21:58:35 -05:00
Rene Rivera
e746a952c7 Remove Python port.
The Python port and support extensions in B2 engine were unmaintained.
This fully removes the bindings between Jam and Python. And removes the
incomplete build system port.
2022-04-24 21:14:56 -05:00
Rene Rivera
d717294709 Do direct build system bootstrap loading.
This removes the use of the boost-build rule to direct the loading of the
bootstrap.jam file. The file is now searched for directly based on the
b2 executable location and other criteria. This makes the installed
b2 the canonical way to use b2.
2022-04-24 16:38:59 -05:00
René Ferdinand Rivera Morell
85df075504 Don't include check sources in self engine build. 2021-06-09 22:36:20 -05:00
Rene Rivera
2daa520d36 Avoid some warnings from the generated jamgram.cpp.
Some latest compilers are rather eager intheir warnings. This can cause
problems with the generated grammar code. Hence avoid such warnings when
compiling the grammar parser.
2021-05-27 23:14:01 -05:00
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -06:00
Rene Rivera
713c6037af Merge branch 'develop' into feature/native-jambase 2020-06-25 09:51:05 -05:00
Rene Rivera
e037347820 Add "portable" install layout for B2.
This implements two styles of install layouts for B2: standard and
portable. This uses the new symbolic stage install locations. The
portable layout creates a structure relative to the B2 executable.
And hence allows for moving the B2 executable anywhere. This is
important for Windows and MacOS where there is no reasonable
packagining structures.
2020-06-23 07:46:53 -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
Rene Rivera
d52d7c3e33 Fix link errors with msvc. 2020-02-26 17:26:32 -06:00
Rene Rivera
66869d10e5 Try and get rid of more msvc deprecation warnings. 2020-02-25 11:19:15 -06:00
Rene Rivera
391939c93b Avoid MSVC secure, and one more un/signed warning. 2020-02-25 10:28:38 -06:00
Rene Rivera
1d42fed9b2 Need c++11 specified for older compilers. 2020-02-25 09:31:25 -06:00
Rene Rivera
7eab8ce45d Check for ability to gen grammar.
Avoid errors when building on system without the needed bison generator.
By checking that it exists and otherwise using the existing grammar.
2020-02-25 09:21:15 -06:00
Rene Rivera
2f9d6575f9 Don't compile cxx11 check with regular b2 build. 2020-02-18 20:44:35 -06:00
Rene Rivera
b9c0b100e7 Make install be minimal.
Don't install examples unless requested. And don't install Python
build files unless it's a Python capable b2.
2019-06-05 20:47:16 -05:00
Rene Rivera
8667d6df4d Add auto-detect of NT and VMS. 2019-04-15 08:30:31 -05:00
Rene Rivera
e4dc6b78b3 Minor cleanups. 2019-04-10 11:08:36 -05:00
Rene Rivera
395b088b77 Add with-python secondary building. 2019-04-09 22:48:41 -05:00
Rene Rivera
354fc15aa8 Undo rebuild of b2 for install.
Forgot that the way timestamps work it will end up that users might
get to rebuild the grammar. Which may not be possible as
they might not have bison available.
2019-04-08 22:59:25 -05:00
Rene Rivera
0d3abd5558 Install the 2nd stage b2 build. 2019-04-08 22:48:22 -05:00
Rene Rivera
0b9914ea90 Add jambase source generation to build. 2019-04-08 18:24:31 -05:00
Rene Rivera
4cc9183336 Add grammer build. 2019-04-08 10:20:08 -05:00
Rene Rivera
0c1e3a7689 Rename to cpp files and add dev builds of b2. 2019-04-07 15:17:30 -05:00
Rene Rivera
ef6a69b24b Tweaks to test install process. 2018-11-15 11:24:57 -06:00
Steven Watanabe
abdf4805c4 Include options/ and contrib/ when installing Boost.Build. 2017-03-01 08:43:15 -07:00
Artur Shepilko
c1de12e683 Add toolset vmsdecc for HP DECC/C++ on VMS. 2015-10-24 12:21:33 -05:00
Vladimir Prus
e50149de3d Make installation of Boost.Build work again.
It needs further work, to avoid $prefix/share/boost-build/src
and put everything directly under $prefix/share/boost-build
and to put examples under $prefix/share/doc/boost-build or
similar.
2013-12-27 10:04:27 +04:00