Rene Rivera
03dd13ef23
Use safer, but slower, select_last_t for msvc.
2022-03-29 08:38:42 -05:00
Rene Rivera
a9a21dfc72
Make all jam stack access type safe.
2022-03-29 08:31:02 -05:00
Rene Rivera
266c664fd9
Remove public function STACK access.
...
In preparation to clean up the Jam function global stack move the
definition of the STACK and related functions inside the function.cpp
source file only.
2022-03-22 23:02:51 -04:00
Rene Rivera
02c076e14a
Start of 4.9.0
2022-03-19 17:52:19 -05:00
Rene Rivera
0b8a8ad7d6
Fix crash on exit cleanup from targets list dtor and pop.
2022-03-17 23:51:57 -05:00
Rene Rivera
7c3ff9a80d
Fix engine build for EXIT_* possibly missing.
2022-03-16 21:54:29 -05:00
Rene Rivera
c9557503c4
Update history and readme for release.
2022-03-10 22:39:49 -06:00
Rene Rivera
524ce68d5e
Add future C++ versions.
...
fixes #135
2022-03-10 21:20:47 -06:00
Rene Rivera
b793d6f0a6
Fix warnings.
2022-03-03 23:19:42 -06:00
Rene Rivera
e0c7d35b1f
Remove use of freelist caching.
...
Modern memory allocator is fast enough to not need our own
chained caching of specific data. Hence remove the use of caching
of free LIST instances to simplify memory management.
Also remove uses of exit/abort.
2022-03-03 22:49:45 -06:00
Rene Rivera
157e26303f
Avoid crash if modules_done is called early.
2022-03-03 21:41:49 -06:00
Rene Rivera
027ee7379f
Remove memory leaks.
2022-03-03 21:40:48 -06:00
Rene Rivera
a9aed5c40a
Convert alloc/free calls with unique_ptr managed code.
...
Using unique_ptr allows to not loose track of memory when early
exit when clean_exit throws an exception.
2022-03-03 21:39:00 -06:00
Rene Rivera
a9aafc7a70
Replace most exit/abort with exception equivalent.
...
This replaces most abort/exit calls with the utility that throws an
exception. The exception is caught in main to cleanly return failure.
This allows to clean up allocations and always return a valid status
value instead of abnormal termination.
2022-03-03 21:17:38 -06:00
Rene Rivera
efab66b211
Add LIST ctor to prevent no-init errors.
2022-03-03 20:54:12 -06:00
Rene Rivera
d66a79b698
Add b2::clean_exit to replace plain exit/abort.
2022-03-03 20:51:43 -06:00
Rene Rivera
1ab86c307a
Add utilityies for managing the Jam dynamic objects.
2022-03-03 20:46:14 -06:00
Rene Rivera
ddecd777bd
Fix memory leaks in filesys.
2022-02-21 23:22:06 -06:00
Rene Rivera
2847e6cc90
Fix compile of BJAM_NO_MEM_CACHE mode.
2022-02-21 23:21:09 -06:00
Rene Rivera
22187fae9c
Fix memory leak in variable ctro from char*.
2022-02-21 23:19:55 -06:00
Rene Rivera
f1382e4aef
Fix memory leak in targets lists.
...
This changes the pointer type used everywhere for _targets/TARGETS to a
unique_ptr to manage the ownership correctly. Thus removing the memory
leaks resulting therein.
2022-02-21 16:01:24 -06:00
Rene Rivera
38dc406527
Replace all direct pointers in rules with typedef.
...
Moving towards true C++ type safety by retyping all raw pointers. The
typedefs will eventually be replaced with managed pointers.
2022-02-16 22:55:02 -06:00
Rene Rivera
43358117aa
Shift CI to account for AZP removing vs2017.
2022-02-15 08:35:43 -06:00
Zhang Na
c6409fa0e7
Add support for LoongArch
2022-02-15 07:17:32 -06:00
Alain Miniussi
9ef234db6b
Tell intel compiler to lik with intel static librariess if availables, and fall back on shared objects if not.
2022-02-14 22:43:19 -06:00
Alain Miniussi
97420841b0
On linux, the archive version of libstdc++ availability cannot be assumed.
...
So we cannot use the -static option.
Also, -s is not documented in the compiler manual page.
2022-02-14 22:43:19 -06:00
Peter Dimov
8a675ca396
msvc.jam: put user-supplied <cflags> and <cxxflags> last; support <compileflags>. Closes #137 . Refs #118 .
2022-02-14 08:57:12 -06:00
Dimitry Andric
a01b64fcc5
Add special case processing of RPATH to clang-linux toolset ( #117 )
...
Similar to 8faba6ab2 , don't add double quotes around the RPATH
expansion in clang-linux's link actions, so '$ORIGIN' can be used.
The gcc.quote-rpath rule already checks whether double quotes need to be
added, and skips it if the rpath argument already has single quotes.
2022-02-13 08:45:14 -06:00
Laurent Bigonville
13ecd50cfa
Use the FreeBSD way to detect the executable path also on kfreebsd ( #126 )
2022-02-12 21:30:05 -06:00
Jim King
dce955c816
add .ipp files to scanner so headers are not missed ( #134 )
2022-02-12 21:24:34 -06:00
Nikita Kniazev
7568c84471
MSVC mock test ( #125 )
...
Initial step in fixing flags issues
2022-02-12 21:22:40 -06:00
Rene Rivera
9463525ef4
Update ZAP tested compilers.
2022-02-12 17:50:05 -06:00
Rene Rivera
24bd22bd53
macOS-10.14 no onger avail in AZP.
2022-02-12 12:03:10 -06:00
Nikita Kniazev
b59e85fc76
CI: Actually test intended msvc versions ( #127 )
...
* CI: Simplify Appveyor script
* CI: Actually test intended msvc versions
2022-01-09 21:07:00 -06:00
Nikita Kniazev
f10c1d267b
Improve dependency cycle diagnostic message ( #114 )
...
Before:
```
error: ./forward ./stage ./stage-proper libs/filesystem/build/stage libs/filesystem/build/stage-dependencies libs/log/build/stage libs/log/build/stage-dependencies libs/filesystem/build/stage
```
After:
```
error: ./forward -> ./stage -> ./stage-proper -> ***libs/filesystem/build/stage*** -> libs/filesystem/build/stage-dependencies -> libs/log/build/stage -> libs/log/build/stage-dependencies -> ***libs/filesystem/build/stage***
```
2021-12-15 07:21:35 -06:00
Rene Rivera
1998d0656c
Bump to version 4.8.0
2021-12-14 13:02:00 -06:00
Dmitry
78fd284a42
Don't skip install targets if there's <build>no in ureqs ( #113 )
2021-12-11 07:58:23 -06:00
Rene Rivera
371b47af9d
FBSD gcc7 no longer available.
2021-11-18 20:22:02 -06:00
Rene Rivera
d1af45d606
Release note for cxxstd=20 for msvc.
2021-11-18 09:02:17 -06:00
Peter Dimov
aa2cfda382
Add cxxstd=20 to msvc.jam (msvc-14.2 and above support /std:c++20) ( #103 )
2021-11-18 08:46:00 -06:00
Rene Rivera
3b93835d53
History and bump for v 4.7.2
2021-11-17 20:29:39 -06:00
Rene Rivera
5bf40a9b15
Check if intel command are detected properly.
...
If intel exec commands are not detected we try to use the result anyway which would
error. This adds checks that prevent the errors to let the sequence of attempts
work.
fixes #109
2021-11-17 07:32:58 -06:00
Rene Rivera
84ed4e1b0a
Fix regression for linking with clang-win toolset.
...
fixes https://github.com/boostorg/build/pull/741
fixes https://github.com/bfgroup/b2/issues/98
2021-10-08 22:45:02 -05:00
Rene Rivera
e161f17dbf
Fix spelling adn grammar errors.
2021-10-03 14:25:29 -05:00
Rene Rivera
532c07a112
Last, hopefully, note for 4.7.0 release.
2021-10-03 12:08:18 -05:00
Dmitry
c56fb27395
Don't skip alias targets due to <build>no in ureqs ( #97 )
...
Adds rule skip-from-usage-requirements to basic-target, this allows
customizing whether the build of a target should be skipped because one
of its sources has <build>no in usage requirements. So far only one
class takes advantage of this: alias-target-class. As a result alias
targets aren't skipped due to dependencies, but downstream targets still
could.
So, lib <- alias <- exe skips exe if lib is skipped.
But lib <- alias -> lib does not skip alias if either of libs is
skipped.
2021-10-03 10:14:46 -05:00
Rene Rivera
c86b033368
No clang13 for FreeBSD yet.
2021-10-03 08:12:52 -05:00
Rene Rivera
adf98734d2
Switch to freebsd13.
2021-10-02 21:01:22 -05:00
Rene Rivera
414e60ef5b
Add clang13 ti freebsd, update readme to match.
2021-10-02 15:37:17 -05:00
Rene Rivera
280666a98a
Really fix asan b2 exec path.
2021-10-02 10:49:24 -05:00