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

4291 Commits

Author SHA1 Message Date
Michael Haubenwallner
c331f126cd Improve using MSVC from within Cygwin (#480)
* build: Support toolset=msvc even as Cygwin build.

Fixes: https://github.com/boostorg/build/issues/459

* msvc.jam: Avoid segmentation fault if ProgramFiles env is missing.

When we run in an 'env -i' session in Cygwin, which may not have the
"ProgramFiles(x86)" or "ProgramFiles" environment variables set, we
really should not end up in a segmentation fault.

* msvc.jam: On Cygwin, query cygpath on missing ProgramFiles env.

When we run in an 'env -i' session in Cygwin, which may not have the
"ProgramFiles(x86)" or "ProgramFiles" environment variables set, we can
try to query cygpath instead.
2019-09-29 09:09:01 -05:00
Neale Ferguson
844067eca1 Add z15 to the s390x platform (#484) 2019-09-20 11:48:26 -06:00
Edward Diener
927ba8e60e Remove repeating option not created by condition. (#479) 2019-09-19 10:55:30 -06:00
Edward Diener
3e3fd1d70d Added <cxxstd> for the IBM compiler. (#478) 2019-09-11 07:08:32 -05:00
Andrey Semashev
146ab9a227 Renamed strings.h to jam_strings.h to distinguish from POSIX strings.h. (#476)
Some system headers on POSIX systems indirectly include strings.h in extern "C"
region. This sometimes results in Boost.Build's strings.h being included into
such region, which marks all string_* functions as extern "C" and changes their
name mangling rules accordingly, which causes linking errors. To resolve this
header conflict, this commit renames strings.h to jam_strings.h. And strings.cpp
to jam_strings.cpp for consistency.

Fixes https://github.com/boostorg/build/issues/468.
2019-09-10 22:25:12 -05:00
Juan Alday
25ce5386f3 Extracts version of IBM and Sun compilers (#474)
xlc and suncc do not support the --version flag. This PR fixes the bootstrapper to use the correct flags.
2019-08-28 07:08:16 -05:00
Aurelien Chartier
4e2be04c2c Add QNX support for threading-flags (#467) 2019-08-23 12:23:16 -05:00
Edward Diener
265c567757 Make code safer when attempting to use shell fails and there are no items. 2019-08-15 02:47:12 -04:00
Edward Diener
1e4fe9e090 Eliminated space at the end of a comment line. 2019-07-27 13:38:04 -04:00
Edward Diener
7f6496f590 Corrected comment. 2019-07-27 13:35:15 -04:00
Edward Diener
58e0eedd3d Corrected comment to avoid confusion. 2019-07-27 12:22:14 -04:00
Edward Diener
c15b3239d2 Updated documentation for the 'root' option for the intel toolset on Windows. 2019-07-27 12:10:45 -04:00
Edward Diener
923ce29a88 Corrected setting of root from the command. 2019-07-27 11:29:26 -04:00
Edward Diener
9e742cec13 The root should have a trailing / for the dirictory. 2019-07-27 10:53:30 -04:00
Edward Diener
03a14395d4 Merge branch 'develop' of https://github.com/boostorg/build into develop 2019-07-26 14:57:18 -04:00
Edward Diener
e1d19a69e1 Correct fix for grouping syntax. 2019-07-25 09:19:40 -04:00
Edward Diener
c23efb0210 Whoops, removed fix. 2019-07-25 09:15:26 -04:00
Edward Diener
5777341a39 I had assumed '!' has higher precedence than '&&' in the bjam language, but just in case that is not so I have made this fix. 2019-07-25 09:12:35 -04:00
Edward Diener
72d9e39555 Use root to find the archiver and ranlib if they are not specified. 2019-07-22 08:06:12 -04:00
Edward Diener
a866b6d216 Add support for a <root> option which points at runtime to the root directory of the gcc installation which clang uses at its backend. This is mainly for clang targeting gcc on Windows where multiple versions of mingw(-64)/gcc can be installed. On Linux clang will normally use the version of gcc in the PATH, so this option is normally not used in Linux. The idea is that the toolset command is a script, which sets the PATH for clang and gcc before invoking clang++, and then the <root> option points to the gcc installation at runtime so that any shared libraries will be found. 2019-07-19 22:27:20 -04:00
Edward Diener
f00ca383e0 Don't show direct compiler setup output. 2019-07-15 08:03:14 -04:00
Edward Diener
7c4f1b6643 Improve handling of <root> option. Add back VS2019 support for Intel 19.0 for Windows even though the /Q parameter warns about vc14.2 ( see https://software.intel.com/en-us/forums/intel-c-compiler/topic/814333 ). Add support for option <rewrite-setup-scripts>always to force regeneration of the single msvc-setup.bat file when using multiple Intel C++ for Windows toolsets and/or multiple vc++ compatibilities for a given toolset. 2019-07-15 00:16:50 -04:00
Rene Rivera
b6c05c9a92 Bump jam source version to 4.1 also. 2019-07-11 08:21:28 -05:00
Andrey Semashev
2b9645cd7e Fix compiler warnings about -std=gnu11 on Cygwin. (#458)
-std=gnu11 is a flag for C source files, for C++ -std=gnu++11 should be used.
2019-07-11 06:34:28 -05:00
Rene Rivera
35c86a1bed Start of 4.1.0 release. 2019-07-11 06:32:18 -05:00
Edward Diener
64e484ade5 Intel 19.0 only supports VS2017 (vc++14.1), and not VS2019 (vc++14.2) as I originally erroneously coded. Also added is the same support for an optional <root> option as the intel-linux compiler. In intel-win the optional <root> option must point to the user's directory where iclvars.bat exists for a particular intel-win installation. Like intel-linux the <root> option is mean for intel-win toolsets where the toolset 'command' is a script rather than either a full path to an invocation of the compiler as icl.exe or left blank. 2019-07-11 01:07:05 -04:00
Edward Diener
fb0a7eb9f8 Support for VS2019 for intel-win 19.0 (#457) 2019-07-09 06:36:03 -05:00
Edward Diener
2a88fdfbda Support for VS2019 for intel-win 19.0 2019-07-09 03:32:12 -04:00
Rene Rivera
a83f94aad2 Fix bad number of args to cpu count macro. 2019-06-18 09:24:18 -05:00
Rene Rivera
79c248c57a Restore POSIX & Linux core count.
Looks like the std core count function is no worse than the POSIX &
Linux specific methods. Re-enabling those platform methods.
2019-06-18 08:09:48 -05:00
Rene Rivera
9e4bb2e28b Disable the POSIX & Linux core count until stable.
Some methods for quering the cpu counts are unreliable when run
in a container or other cpuset restrictions. Disable them to prefer
the std query.
2019-06-14 23:48:59 -05:00
Rene Rivera
495410e2c1 Avoid warnings about redef of _GNU_SOURCE. 2019-06-11 21:34:58 -05:00
Rene Rivera
c27d575fb3 Rework sysinfo cpu to avoid overcounts.
When running in Linux containers the POSIX sysconf can return "too many"
cores or cpus. Instead we prefer using Linux specific sched_getaffinity
there.
2019-06-11 21:26:25 -05:00
James E. King III
9f17722e80 Add -fno-omit-frame-pointer to sanitizer options for gcc/glang (#450) 2019-06-10 09:06:08 -05:00
Hans Dembinski
11bd2898fb simplified coverage options and added docs (#449)
* simplified coverage options and added docs
* fix off must be first to be default
2019-06-09 09:03:10 -05:00
Rene Rivera
a8ab76ef97 Final fallback for cpu count to use std::thread. 2019-06-04 17:07:24 -05:00
Rene Rivera
52d0cb791c Fix some 11 warnings. 2019-06-04 09:07:39 -05:00
Rene Rivera
451059949d Implement minimal cpu sys info for POSIX.
This implements partial cpu count information on POSIX systems using
`sysconf` call. This should be the fallback for most Unix like systems
if they don't have a more accurate cpu count API.
2019-06-04 08:25:47 -05:00
Rene Rivera
150d69bd57 Default to available cpu threads for -j option.
This adds a `b2::system_info` class to obtain available information on
system we are running in. Currently provides CPU counts.
And currently only implemented for macOS.
2019-06-03 18:39:22 -05:00
tee3
a5cc06a9b4 features: Add freertos as an operating system. (#446) 2019-06-03 14:53:47 -05:00
Peter Dimov
1f6ac27ecd Add /manifest to clang-win.link (#442) 2019-06-03 14:51:22 -05:00
Rene Rivera
37bcce2f35 Minor change for b2 to build with bcc32. 2019-05-08 22:46:08 -05:00
Damian Jarek
16f49cac33 Add support for leak sanitizer: (#435)
Can be enabled via the `leak-sanitizer` feature.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-06 09:40:49 -05:00
Rene Rivera
f553984b77 Fix cygwin engine build from missing syms.
[fixes 427]
2019-05-01 17:05:54 -05:00
Dmitry
ed5cf45ca9 support for importing pkg-config packages (#422) 2019-05-01 11:27:36 -05:00
Neale Ferguson
a62f2daeb0 Add S390x as a supported platform (#432)
Add support for s390x
2019-05-01 10:52:33 -05:00
Damian Jarek
f2aca24408 Set coverage flags for gcc and clang: (#431)
- `<coverage>all` sets up `--coverage` for compiler and linker
- `<coverage>profile` sets up `-fprofile-arcs` for compiler and linker
- `<coverage>test` sets up `-ftest-coverage` for compiler and
  `-lgcov` for linker

Reference:
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-30 11:13:23 -05:00
Steven Watanabe
2d306dbe9c Fix errors reported by ubsan. (memcpy w/ nullptr). 2019-04-24 16:31:31 -06:00
Rene Rivera
ca0e9fdf0c Merge pull request #409 from djarek/sanitizers
Support for common sanitizers
2019-04-21 17:30:25 -05:00
Rene Rivera
3fe7120a19 Merge branch 'develop' of https://github.com/boostorg/build into develop 2019-04-16 21:15:45 -05:00