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

1892 Commits

Author SHA1 Message Date
Edward Diener
289cf16bf2 Embarcadero C++ clang-based compilers only support C++17, so cxxstd is turned off for all levels. (#559)
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
2020-03-28 21:39:02 -05:00
Edward Diener
221c8db153 The dinkumware library used by the Embarcadero clang-based compilers does not work with rtti turned off. I have reported this to Embarcadero as a potential bug but I strongly suspect that this is by design. (#556)
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
2020-03-27 13:52:24 -05:00
Edward Diener
686447ca98 Concatenate was not being done properly. I forgot to capture results. This led to // in a file spec, which did not seem to harm anything but still needs to be fixed. (#552)
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
2020-03-21 07:46:46 -05:00
Edward Diener
cf52a6b4af Added support for Embarcardero C++ compilers based on clang-5.0 (#551)
* Updated borland.jam to support latest Embarcadero C++ using the 32-bit compilers bcc32/bcc32c.

# Conflicts:
#	src/tools/borland.jam

* Don't pass command line options which bcc32c can not handle.

(cherry picked from commit 7c1ae7d6b1)

* Only set shared when creating DLL.

(cherry picked from commit c71077e2ef)

* Use -b- only with bcc32.

(cherry picked from commit 5be4246c43)

* Add embarcadero toolset for C++ Builder using clang technology. This initially includes bcc32c and bcc32x for 32-bit Windows and bcc64 for 64-bit Windows.

(cherry picked from commit 3dc0664ecf)

* Clean up conditional flags when the condition is not needed.

(cherry picked from commit 2bce8908d0)

* Fixed syntax and other errors.

(cherry picked from commit 3d350030c2)

* More fixes for embarcadero jam file syntax problems. Set the default EXE to a console application.

(cherry picked from commit 61844755ce)

* Added support for static library archive with tlib/tlib64.

(cherry picked from commit 365de8eb71)

* Update before further changes.

(cherry picked from commit 3a7e024686)

* Simplify requirements.

(cherry picked from commit 250ec1d7ed)

* Dropped support for bcc32c since it errors out with quite a number of clang command line options. That compiler is supported by the borland.jam file.

(cherry picked from commit 7648561a8c)

* Support for asm, archive, and user-interface options. Addition of precompiled header type.

(cherry picked from commit 25adec6e69)

* Added docs. Removed precompiled headers.

(cherry picked from commit 5af0447386)

* Remove change to version.jam and put code locally into borland.jam.

(cherry picked from commit 2ef8485e7a)

* Fixed a number of syntax issues. Fix the methods for finding the root directory. Updated the documentation.

(cherry picked from commit a52cda799f)

* Adding address model options for compile and link.

(cherry picked from commit 439c9fdaaf)

* Added linker option to generate the import library.

(cherry picked from commit b934a4fd8a)

* Update import library switch to link.dll.

(cherry picked from commit c8891dda7d)

* Added my copyright to borland.jam toolset and fixed the creation of DLLs and static libraries in the embarcadero.jam troolset.

Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
2020-03-20 21:33:17 -05:00
Rene Rivera
3595602a14 Big rename from Boost.Build to B2. 2020-03-09 11:08:48 -05:00
Richard Hodges
8c3900ae5e saxonhe_dir works on Windows (#523) 2020-01-20 14:04:02 -06:00
Peter Dimov
ab5ce1e468 Fix MinGW version tag to match GCC (#524) 2020-01-01 07:46:00 -06:00
Richard Hodges
39289a3fa0 add saxonhe_dir action (#522) 2019-12-27 17:16:10 -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
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
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
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
2a88fdfbda Support for VS2019 for intel-win 19.0 2019-07-09 03:32:12 -04: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
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
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
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