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

4305 Commits

Author SHA1 Message Date
YunQiang Su
e67fc8a4be define OSPLAT: MIPS64/MIPS32 instead of MIPS (#517)
context need to define abi as o32 for MIPS32, while n64 for MIPS64.
we need a way to know about it.
2019-12-26 09:23:27 -06:00
Edward Diener
99e6619682 Update for Intel C++ 19.1 which is Parallel Studio XE 2020, just released by Intel (#521) 2019-12-26 09:19:58 -06:00
Mateusz Łoskot
d4efd2d911 Add png16 and libpng16 to library names in libpng.jam (#514)
* Add png16 and libpng16 to library names in libpng.jam

On Windows, this allows to successfully find the library installed
using vcpkg which deploys the library named as libpng16.lib
and not png16.lib or png.lib.

* Add rationale behind listing multiple libpng names
2019-12-18 16:02:53 -06:00
Mateusz Łoskot
eadc7acea4 Remove trailing apostrophe from version notice in msvc.jam (#513) 2019-12-16 14:56:03 -06:00
Peter Dimov
2c00d909f4 clang-win: fix found libraries not being passed to linker 2019-12-03 02:35:03 +02:00
hyc
1d6f085915 Allow replacing ar flags (#507)
We need to be able to add "D" option for deterministic builds.
2019-11-24 09:42:14 -06:00
Peter Dimov
d855b77a80 Check $(version[1]) before using it in [ numbers.less ] (#509) 2019-11-21 19:04:23 -06:00
Jonathan Wakely
9ac7d67758 Fix comment typo in gcc.jam (#508) 2019-11-18 09:10:01 -06:00
Michał Janiszewski
ba2993e595 Add proper armasm[64] support for MSVC toolchain (#502)
armasm and armasm64, the MSVC toolchain's assemblers for arm and arm64
respectively, have completely different invocations than their ml and
ml64 counterparts targetting x86 and x86-64.

Here's the full output of armasm's help:
```
cmd> armasm64 -h
Microsoft (R) ARM Macro Assembler Version 14.23.28106.4 for 64 bits
Copyright (C) Microsoft Corporation.  All rights reserved.

 Usage:      armasm [<options>] sourcefile objectfile
             armasm [<options>] -o objectfile sourcefile
             armasm -h              for help

<options>:            (Upper case shows allowable abbreviation)
  -Errors     errorsfile       redirect stderr diagnostics to errorsfile
  -I          dir[;dir]        add dirs to include search path
  -PreDefine  directive        pre-execute a SET{L,A,S} directive
  -NOWarn                      turn off warning messages
  -ignore <warning-num>        don't report warning-num
  -Help                        help (this information)
  -via <file>                  read further arguments from <file>
  -machine <machine>           set the PE machine type field
  -g                           generate debugging info
  -gh:SHA_256                  use SHA256 for file checksum in debug info (experimental)
  -errorReport:<option>        report internal assembler errors to Microsoft
      none - do not send report
      prompt - prompt to immediately send report
      queue - at next admin logon, prompt to send report (default)
      send - send report automatically

<machine>:  ARM64
```
2019-11-14 16:24:42 -06:00
Dmitry
8fbb25a18b make explicit only the targets created by the rule (#505) 2019-11-14 12:25:23 -06:00
Dmitry
e04b0c206e update stdlib feature (#494)
Adds gnu11 (libstdc++ with new ABI) and libc++ values to stdlib feature.
The value gnu was already in use by sun toolset, so this commit sets it as
libstdc++ with old ABI. Adds support for that feature to gcc, clang-linux and
clang-darwin toolsets. Refactors sun toolset to use stdlib feature via toolset
flags.
2019-10-29 05:35:25 -05:00
Dmitry
b54f53ccbc Document features (#498)
* move feature documentation into each feature's source file

* sort features in the docs

* updated docs for features
2019-10-28 07:22:42 -05:00
Peter Dimov
ffecbecf86 Fix errors when a source doesn't have a type; refs #493 (#496) 2019-10-28 07:19:48 -05:00
Dmitry
1a0ff1113b add LTO support (#495)
* add LTO support

Adds lto feature with 2 values: off (the default) and on. The feature
enables link-time optimizations. Also adds support for the feature to
gcc, clang and msvc toolsets.

* add docs for lto feature

* add lto-mode subfeature

* change lto-mode=full to be the default for uniform behaviour

* make lto feature optional
2019-10-28 07:18:51 -05:00
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