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

1329 Commits

Author SHA1 Message Date
Rene Rivera
cc84fc59b4 Use std::free instead of C free.
Fixes #671.
2020-12-27 09:49:59 -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
Rene Rivera
64a895a331 Adds redirection index.html file for Boost distro. 2020-12-17 09:37:45 -06:00
René Ferdinand Rivera Morell
f62f474ed3 Fix use of mutiple conflicting @() in one action.
In the case where multiple @() substitutions happen in one action the
dynamic choice of file vs content would apply to all. This would cause
problems as some of them might not be command options. This change
adds an ":O=" options specifier to variables that can control what type
of @() substitution can happen for each expansion. By specifying "O:=FC"
one can select to allow either file or content expansion making that @()
instance dynamic. When not specified the default is as if "O:=F".
2020-12-17 08:41:47 -06:00
René Ferdinand Rivera Morell
4f86b3da88 Merge remote-tracking branch 'origin/develop' into feature/response-file-feature 2020-12-14 14:58:18 -06:00
Pino Toscano
25879fc24d Basic changes for GNU/Hurd (#676)
* Define OSMINOR & OS_HURD on GNU/Hurd

Add a way to identify GNU/Hurd with b2, and also in the Python support.

* Use /proc/self/exe for executable_path on Hurd

Use the Linux compatibility procfs translator to get the full path of
the current executable.

* Define _GNU_SOURCE on any GNU libc-based OS

Make sure to enable GNU features when building on any OS that uses
GNU libc.
2020-12-14 13:37:32 -06:00
Tanzinul Islam
c7016328c3 Update "borland" toolset to bcc32c for building B2 (#680)
For bootstrapping `b2` itself, the current `borland` toolset is broken
now as `bcc32.exe` doesn't support C++11. Update that toolset to use
the Clang-based `bcc32c.exe`, which has largely the same cmdline args.
2020-12-14 11:36:54 -06:00
René Ferdinand Rivera Morell
4e26e133fa Fix coercion warning. 2020-12-14 09:55:44 -06:00
René Ferdinand Rivera Morell
1e658bae2b Fix missing subscript operator on new @() evals. 2020-12-14 08:19:59 -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
Andrey Semashev
5a7c36c8b5 Added missing include stdlib.h. (#672)
The header is needed for free().

Fixes https://github.com/boostorg/build/issues/671.
2020-11-22 08:49:19 -06:00
Miroslaw Stein
550f99c846 Fix memory leak in startup::bootstrap (boostorg#668) (#669)
The executable_path allocates a string (strdup) which was never released

Tested with ASAN and valgrind

Co-authored-by: Miroslaw Stein <miroslaw.stein@isode.com>
2020-11-14 21:22:19 -06:00
Rene Rivera
b29603fa88 Fix path to bootstrap for back compat.
fixes #650
2020-09-26 18:02:59 -05:00
Rene Rivera
c6b74d0683 Add missing BOOST_ROOT to boot strap search.
When the Jambase got ported we lost also searching BOOST_ROOT for the
bootstrap file. This is strictly a backward compatibility fix for Boost.

fixes #622
2020-09-26 09:01:23 -05:00
Rene Rivera
add4dfcd4f Fix for engine compile on FreeBSD. 2020-09-17 09:22:25 -05:00
Rene Rivera
2a7844ee35 As we are using std lib we need exception handling in msvc.
fixes #654
2020-09-13 09:17:07 -05:00
Ivan Melnikov
b97746e29c Fix detection of MIPS32 (#655)
_ABI64 and _ABIO32 are always defined on every
Linux MIPS system, at least if it's glibc-based:

https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mips/sgidefs.h;h=c9e00c6da53b1a13d83b4056f01ef5c30efe76ab

The correct way to use them is to compare them
against _MIPS_SIM symbol provided by the compiler.

With this change, engine correctly detects 32-bit
MIPS systems.

Signed-off-by: Ivan A. Melnikov <iv@altlinux.org>
2020-09-11 08:58:03 -05:00
Rene Rivera
ca8e6b1235 Support building as both 32 and 64 bit address model. 2020-09-11 07:05:12 -05:00
Rene Rivera
9188c2da73 Moce int32_t fix to config.h.
Not all source include jam.h and hence don't get the int32_t patch.
But everythign include config.h. So put the type patch there.
2020-09-10 23:35:00 -05:00
Rene Rivera
088c4bce3d Provide for compilers with missing int32_t. 2020-09-10 23:22:35 -05:00
Rene Rivera
b086888dd8 Reconcile warning on using BJAM_MALLOC for size_t. 2020-09-10 22:00:24 -05:00
Rene Rivera
a5a10d570d Another round of warnings on 32/64+debug/release. 2020-09-09 23:39:06 -05:00
Rene Rivera
fb078814e8 Fix mac cpu queries. 2020-09-09 22:58:32 -05:00
Rene Rivera
4096b2d51c Fix ignored return for fscanf. 2020-09-09 22:43:10 -05:00
Rene Rivera
84dae08aa0 Fix outstanding 32/64 warnings on Linux gcc+clang. 2020-09-09 21:49:17 -05:00
René Ferdinand Rivera Morell
84666e77fa 64/32 bit compile working by using int32 types as needed. 2020-09-09 09:46:08 -05:00
Gei0r
1c3636e8ed Enable building with clang on Windows (#651) 2020-09-07 20:01:18 -05:00
Rene Rivera
210cef7ae2 Another attempt at correct cmd length check. 2020-09-03 22:33:02 -05:00
Rene Rivera
8eeed08f01 More b64 fixes for windows. 2020-09-03 08:43:46 -05:00
Rene Rivera
874fadedbd Fix msvc/windows 64 bit build on older compilers. 2020-09-03 07:38:48 -05:00
Rene Rivera
7cacaef335 Tweaks to support 64 bit compile of engine. 2020-09-02 23:46:48 -05:00
Rene Rivera
5a5736696d Merge branch 'develop' into feature/address-model-64 2020-09-02 08:48:58 -05:00
viccie30
681362ba31 Add quotes to fix error on CXXFLAGS (#648) 2020-09-01 21:51:03 -05:00
Alain Miniussi
86271a4286 Bugfix/634 intel linux icpc (#639)
* repace icc with "official" icpc driver with intel-linux
* the right dialect selecton option needs a space with intel-linux
* Check for oneapi setvar script with intel-linux
* Consider oneapi from Intel if compiler not provided.
* Fix comment about fallback when looking for compiler
2020-08-31 23:34:59 -05:00
David McFarland
1da0fe27d1 Use /proc/self/exe for executable_path on Cygwin (#644) 2020-08-28 23:54:24 -05:00
Rene Rivera
64248802f8 Bump to v4.4. 2020-08-28 21:20:16 -05:00
Rene Rivera
444e7f91d1 Tweaks to engine build.
Fixes left over build residue. Supports using CXFLAGS during engine
build. Add thread flags for building with gcc on AIX.
2020-08-28 10:21:04 -05:00
Rene Rivera
6b40dd361e Fix path to portable install style bootstrap. 2020-06-25 13:52:05 -05:00
Rene Rivera
713c6037af Merge branch 'develop' into feature/native-jambase 2020-06-25 09:51:05 -05:00
Rene Rivera
a3bdb4fd98 Use newest available VS for bootstrap build.
This was detecting the "oldest" VS install instead of the most recent
one when multiple VS installs are available. It's always better to use
the latest one as it will have bug fixes.
2020-06-25 09:15:48 -05:00
Rene Rivera
15e1928399 Fix is_root check to account for Windows paths.
Windows drive style paths should also be considered rooted as otherwise
we can't bootstrap when we specify one of those paths. This caused a
regression in Boost where that is regularly used.
2020-06-25 08:37:43 -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
275dc6e6bf Work around some older compiliers.
Some older compilers don't coerce in the ctor even if there's one
available.
2020-06-22 17:36:23 -05:00
Rene Rivera
a511f6517c Add new startup.cpp for b2 engine build. 2020-06-22 10:38:48 -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
598425e294 Start of 64bit clean compile of b2 engine. 2020-06-07 08:07:08 -05:00
Nikita Kniazev
60270e4322 Missing import in property-set.create (#611) 2020-05-19 19:43:12 -05:00
Nikita Kniazev
a11b1c104f Fix timestamp_delta_seconds (#603)
* The multiplier 1000000 is wrong
* Return seconds as function name and description says
* Use `difftime` instead of assuming `time_t` is in seconds
2020-05-12 07:31:33 -05:00
Rene Rivera
319b6aa2a3 Rewrite yyacc util to actual C++.
Rewriting the yyacc utility in C++ makes it ASAN safe and hence makes it
possible to build an ASAN enabled b2 engine. To eventually make all
of the b2 engine ASAN safe.
2020-05-11 20:41:35 -05:00