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

4335 Commits

Author SHA1 Message Date
Rene Rivera
085fc552c9 Avoid pragma syntax warning in non-msvc compilers. 2020-03-31 14:33:44 -05:00
Rene Rivera
107c3d30c8 Have to disable warning in Windows header. 2020-03-31 12:24:13 -05:00
Rene Rivera
7f85769fd0 Fix implicit bool cast warning. 2020-03-31 11:33:46 -05:00
Rene Rivera
d799bcc52a Avoid warning from STL during build on msvc14. 2020-03-30 22:33:19 -05:00
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
Marcel Raad
3982f4808a Unbreak building from VS Preview command prompt (#549)
Commit de026bc61e changed the order to first detect the unusable vcunk
toolset before the vc142 and vc141 toolsets. This breaks building from
the Visual Studio Preview command prompt if no other Visual Studio
version is detected. Move the vcunk block down to where it was before
to restore this functionality.
2020-03-18 22:11:26 -05:00
Rene Rivera
ecb7bd6b84 Bump version number. 2020-03-18 21:05:56 -05:00
Rene Rivera
3595602a14 Big rename from Boost.Build to B2. 2020-03-09 11:08:48 -05:00
tee3
0984ee59bc help: Print help for local modules as well. (#423) 2020-03-07 07:39:18 -06:00
Mateusz Łoskot
bdccf53eec Make sure b2 exits immediately on syntax errors (#540)
Add test verifying Jam syntax error results in non-zero exit status.

Refines #538
Fixes #539
2020-03-02 14:03:38 -06:00
Mateusz Łoskot
71b8d4b823 Switch to explicit ANSI variants of Win32 API functions (#543)
Allow clean compilation with /DUNICODE defined.

Fixes #542
2020-02-28 07:32:34 -06:00
Rene Rivera
aa9b558bb2 Restore cygwin/vms only function.
fixes #541
2020-02-27 22:58:14 -06:00
Rene Rivera
4077c4fe41 More Windows build warning removal. 2020-02-26 16:25:43 -06:00
Rene Rivera
520ebfd0bf Remove some warnings on NT/Windows. 2020-02-26 14:36:54 -06:00
Rene Rivera
391939c93b Avoid MSVC secure, and one more un/signed warning. 2020-02-25 10:28:38 -06:00
Rene Rivera
e115f07729 Clean up build warnings (gcc & clang). 2020-02-24 22:10:15 -06:00
Mateusz Łoskot
b02e4c4e50 Fix non-zero exit code on Jam parsing errors (#538)
Prevent resetting the non-Zero status returned from yyanyerrors
on any parsing errors.
2020-02-22 15:24:06 -06:00
Rene Rivera
4dea1934c6 Rebuild grammar parser with latest Bison. 2020-02-18 20:49:39 -06:00
Rene Rivera
415bede6bc Nicer cxx11 error message pass from bootstrap to build.
Expanded error message for cxx11 requirment. And now passing bootstrap
arguments to build script to allow choosing toolset from bootstrap also.
2020-02-13 20:36:30 -06:00
Rene Rivera
89a7ac58db Add checks for C++11 with informative error.
This adds a check_cxx11.cpp source that is checked for compile with the
chosen toolset before actually building. This include an appropriate
user error. To see such errors, we also nolonger output to
bootstrap.log. Instead the bootstrap outputs to cerr and sets the
error code.
2020-02-13 07:30:17 -06:00
Rene Rivera
8182f7a91a Bump version for next release.
Also add current CI test compilers and OSes.
2020-02-09 11:31:20 -06:00
jehelset
c6a5df5a4e move abstract-file-target.root to virtual-target. (#537)
seems to only be called from basic-target.create-subvariant, which
seems (looking at the comments and 5.6.4 of docs) to assume that it
exists on virtual-target.

without this fix a user wanting to produce something derived from
virtual-target in the construct-function of something derived from
basic-target will get an error.
2020-02-09 08:45:45 -06:00
jehelset
770be841fb import errors.error in targets.resolve-reference. (#536)
* import errors.error in targets.resolve-reference.

* fix import statement.
2020-02-09 08:38:50 -06:00
vahtis
6963718145 Fixes build on Sun toolset by adding C++11 compile option.
Add c++11 flags because sysinfo uses c++11 features

fixes #530
2020-01-29 09:11:25 -06: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
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