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

46 Commits

Author SHA1 Message Date
Nikita Kniazev
da10b56586 Remove architecture=combined/combined-x86-power (#63)
combined-x86-power seems to be completely unused and combined is used only in darwin toolset for Objective-C compilation which seems to be broken for 4 years because it uses gcc.set-fpic-options which was removed in 12decb3ce6.

Boost has three libraries that mentions architecture=combined, I have checked they will not brake after this change.
2021-07-30 21:31:56 -05:00
Nikita Kniazev
f8c6e33e49 Fix typo in compileflags documentation (#60) 2021-07-27 11:38:24 -05:00
tee3
e37f6e40b4 Support values for instruction-set feature for Xilinx ZYNQ (#34)
* features: Support values for instruction-set feature to support Xilinx ZYNQ.

This adds several values for instruction-set (with extensions) to
support various ARM processors associated with Xilinx ZYNQ processors.

These instruction sets are used in various combinations for bare-metal
or FreeRTOS configurations.

* gcc: Support values for instruction-set feature for Xilinx ZYNQ.
2021-07-27 09:33:01 -05:00
YunQiang Su
230cae51fa MIPS: add generic mips architecture (#58)
Currently, mips1 is used as generic mips architectures, but it is
confusion.
We will remove mips1 and other unused mips* architectures.
2021-07-26 22:10:13 -05:00
Rene Rivera
ecaa7a9bda Allow empty free optional feature valus in CLI.
Features that are narked as 'free' and 'optional' will now be
ignored when the value specified on the command line is
empty. Hence once can specify `cxxflags=` on the command
line without errors. All current "flags" features are now optional.

fixes #5
2021-05-29 10:57:03 -05:00
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -06:00
Rene Rivera
714840f36f Add documentation for response-file feature. 2020-12-21 21:08:12 -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
Rene Rivera
30bb04845e Add missing compileflags feature.
fixes #653
2020-09-12 09:13:44 -05:00
Rene Rivera
798f7fb94d Add translate-path feature.
The translate-path feature allows for custom path handling, with a
provided rule, on a per target basis. This can be used to support custom
path syntax.
2020-06-06 07:56:41 -05:00
Andrey Semashev
e382e3acb1 Updated instruction-set feature with new x86 targets. (#597)
* Changed icelake to icelake-client and icelake-server. The single
  icelake switch is not accepted by gcc.
* Added cascadelake, cooperlake and tigerlake Intel targets.
* Added znver2 AMD target.
* Added c7 VIA target.
* Reordered the list of targets in instruction-set definition
  to group targets by CPU vendors.
* Updated toolsets with the new and updated values of instruction-set.
* Updated .py files as well. Added instruction-set values that were
  missing compared to .jam files.
2020-05-10 19:40:32 -05:00
Andrey Semashev
677e2f3d54 Add cxxstd value 20 for C++20 (#592)
* Added cxxstd value 20 for C++20.

The -std=c++20 is supported by clang 10.

* Updated cxxstd=latest for clang 5.0 and newer.

clang 5.0 supports -std=c++17. clang 6.0 supports -std=c++2a.
clang 10.0 supports -std=c++20.

* Updated cxxstd=latest for gcc.

gcc 4.9 supports -std=c++14. gcc 6 supports -std=c++17. gcc 10 will support
-std=c++20.

* Added support for cxxstd=20 to toolsets that don't support C++20.
2020-05-06 10:56:38 -05:00
Nikita Kniazev
f384d2f5a8 force-include feature (#558)
Specifies an include path that has to be included in a way like if
`#include "file"` appeared as the first line of the primary source file.
2020-04-02 11:56:47 -05:00
Rene Rivera
3595602a14 Big rename from Boost.Build to B2. 2020-03-09 11:08:48 -05: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
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
Neale Ferguson
844067eca1 Add z15 to the s390x platform (#484) 2019-09-20 11:48:26 -06: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
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
Neale Ferguson
a62f2daeb0 Add S390x as a supported platform (#432)
Add support for s390x
2019-05-01 10:52:33 -05:00
Rene Rivera
ca0e9fdf0c Merge pull request #409 from djarek/sanitizers
Support for common sanitizers
2019-04-21 17:30:25 -05:00
Andreas Schwab
e0e616229e Define the riscv architecture feature (#424) 2019-04-15 20:08:51 -05:00
Damian Jarek
18886267dd Remove off value of sanitizer features and rename norecover
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-11 19:31:19 +01:00
Damian Jarek
44e1befd0b Add on-no-recover option for sanitizers
This option causes the program to exit after detecting the first
sanitizer issue.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-11 00:17:54 +01:00
Damian Jarek
67c2402053 Support for common sanitizers
Add support for a common set of sanitizers supported by both
gcc and clang:
- thread
- address
- undefined

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-10 23:59:20 +01:00
Rene Rivera
033ef59305 Add "extra" and "pedantic" warning levels for better warnings control. 2019-02-23 09:55:02 -06:00
Rene Rivera
854ee52028 Add feature for code coverage information instrumentation.
Fixes #396
2019-02-21 23:13:33 -06:00
Andrey Semashev
20d72776c8 Added support for Ice Lake instruction set, which is available in gcc 8. (#354) 2018-10-17 21:48:07 -05:00
Steven Watanabe
a5704a926b Fix threadapi detection when the target-os is also affected by a conditional. Refs #352. 2018-10-11 13:03:16 -06:00
Andrey Semashev
d8245f6686 Added local-visibility feature. Mark visibility as a propagated feature. (#345)
local-visibility is intended to be used by libraries or targets that require
a particular visibility mode. It is not propagated to dependencies. It is
equivalent to the previous visibility feature.

The new visibility feature is a composite propagated feature, so it can be
specified by users and higher level targets as a requirement. This feature is
translated to local-visibility.
2018-10-01 22:02:05 -05:00
Andrey Semashev
3f7ce8fa5b Make visibility feature not propagated (#333)
This allows to enable hidden visibility on a library without affecting its dependencies, which may not (yet) support hidden visibility by default.
2018-08-24 16:24:44 -05:00
Andrey Semashev
898ddfa1b6 Added visibility feature. (#331)
The new visibility feature can be used to specify default symbol visibility
on compilers and platforms that support it. The default visibility is
global, which matches most compilers' defaults. In gcc documentation it is
called the "default" visibility. Other modes are: protected and hidden.
2018-08-19 14:06:48 -05:00
Steven Watanabe
ee613a6a28 Implement feature relevance.
* New feature <relevant> which is automatically deduced in most cases.
* Features which are not relevant do not affect target paths and
  do not prevent merging of virtual targets.
* generators.jam: generator.run always returns usage-requirements
  to allow usage-requirements in non-top-level generators.  This
  is necessary because we're using usage-requirements to track
  relevance from flags.
* New rule toolset.uses-features to specify features that the rule
  checks manually, instead of using toolset.flags.  In the future,
  we should consider restricting the properties actually passed,
  to detect errors.
* Adjust tests to handle the new paths (verified by inspection).
* Add temporary option --ignore-relevance to consider all features relevant
  to aid migration.
* New rule property.evaluate-conditional-relevance which helps tracking
  relevance in <conditional>.
* Widely scattered changes to use the new interfaces.
2018-01-13 09:13:49 -07:00
Rene Rivera
b062bf5eee Add default 'iso' value for 'cxxstd-dialect'.
Need a real default value instead of just optional for 'cxstd-dialect'
so that it can be use in command line for multi-variant build requests.
2017-10-29 16:36:15 -05:00
Rene Rivera
f6097309a1 Avoid redeclare of threadapi feature.
To deal with the threadapi feature code transition we guard the
declaration so that we don't error if it's already added.
2017-10-10 09:45:46 -05:00
Alexander Karzhenkov
bf60771147 Added <threadapi> feature from Boost.Thread (#251)
* Added <threadapi> feature
* <threadapi> definition placed to new structure for built-in features
2017-10-06 13:58:12 -05:00
Brian Kuhl
dcc5f627fd Merge remote-tracking branch 'upstream/develop' into develop
# Conflicts:
#	src/tools/gcc.jam
2017-09-01 22:52:44 -04:00
Rene Rivera
f9c88a635c Refactor the built-in generators into independent generator files. 2017-08-24 16:16:47 -05:00
Brian Kuhl
c6dca91367 Add basic support to build and test VxWorks with b2 jam files
( requires special handling of shared library paths in a cross build enviorment)
2017-08-16 11:13:33 -04:00
Andrey Semashev
399a50493d Added new x86 target architecture flags.
Adds support for Intel Broadwell, Skylake, Skylake-X/Skylake-SP,
Cannonlake, AMD Excavator, Ryzen.
2017-08-01 11:05:37 -05:00
Rene Rivera
76db93bb66 Lets be inclusinve and add values for intermediate C++ versions. 2017-07-25 16:31:42 -05:00
Rene Rivera
44aebcc61d Add dialect subfeature to cover the compiler extensions ot cxxstd. 2017-07-25 14:48:10 -05:00
Rene Rivera
4f5233911c Restructure built-in feature definitions to make it easier to add and document them.
This moves the built-in feature definitions into a subdirectory where each feature
(or cohesive set of features) are defined in their own file. Eventually
documentation can be added in the definitions files themselves and inported into the
full documentation. Not all features got move by this. There are some features
spread out through the toolset files. Those will also get moved as needed,
and as possible.
2017-07-24 21:36:07 -05:00