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

4104 Commits

Author SHA1 Message Date
Jonathan Wakely
8ff11a8ecc Fix memory leak
If vsnprintf returns -1 then the buffer should be freed before returning.
2018-10-10 17:17:10 +01:00
Jonathan Wakely
35ce23a327 Use correct sizeof in malloc call
This is allocating space for `nel` objects of type `ITEM*` so it should use `sizeof(ITEM*)` not `sizeof(ITEM**)`.

In practice the values are the same, but using the correct type is better anyway, and now matches the same calculation in the `memset` call in the following statement.
2018-10-10 13:47:13 +01:00
Peter Dimov
9df3a65a28 Update GCC and Clang mangling to reflect their new versioning scheme 2018-10-06 06:34:28 +03: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
David Olsen
81bc3e2a4d Fix PGI toolset to recognize the cxxstd feature (#340)
Add the appropriate language level option to pgc++ when b2 is invoked
with toolset=pgi and cxxstd set to something.
2018-10-01 21:58:46 -05:00
Jonathan Wakely
c08f1d2d02 Remove executable permissions from jam files (#335) 2018-10-01 14:19:34 -05:00
luzpaz
a2b8731d2a build: misc.typos (#341)
* build: misc.typos

Found via `codespell -q 3 --skip="./src/engine/boehm_gc" -L te,iff`

* Revert 3rdParty code changes
2018-09-26 09:54:06 -07: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
Steven Watanabe
1f46089bb0 Merge remote-tracking branch 'mksully22/build' into develop 2018-08-21 11:05:09 -06:00
Steven Watanabe
d11e3e4ef3 Don't break other toolsets that inherit from msvc (such as clang-win). Refs #330. 2018-08-21 10:47:27 -06:00
Mike Sullivan
b8329d25a8 boost/build: fix ch declaration in debugger.c 2018-08-20 11:34:15 +00: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
33d6396afd Fix memory leak. Fixes #326. 2018-07-27 11:13:45 -06:00
Rene Rivera
c5f1607382 Merge pull request #297 from jlapolla-cray/cray-toolset
Update Cray toolset
2018-06-12 07:30:08 -05:00
Rene Rivera
76e05ee890 Merge remote-tracking branch 'origin/develop' into feature/auto-load-package-manager-build-info 2018-05-23 19:56:09 -05:00
Rene Rivera
5576e68d20 Allow use-packages and auto-load in the same project.
Use the custom use-packages project rule to load packages as using
import doesn't allow for multiple definitions of packages in the same
project. This allows
2018-05-22 22:51:56 -05:00
Steven Watanabe
21f44855c4 Add missing import. Fixes #311. 2018-05-22 19:26:25 -06:00
Steven Watanabe
65368dfa75 When adding the default value of a feature, also add the default values of its subfeatures. Fixes #308. Closes #310.
* Rework the test case expansion.py to avoid interference from user-config.jam
  and toolsets which previously masked this problem.  Also add a test case
  specifically for this issue.
* Remove the test case for BB60.  I have no idea what BB60 is, but the test
  case doesn't seem particularly important for the current implementation
  given that project requirements are merged into the target requirements
  long before conditionals are evaluated.
2018-05-22 12:22:52 -06:00
Rene Rivera
4170ffd352 Add auto-loading of package manager build information. This adds a facility to define a glob pattern for auto-loading a B2 jam file as if it where part of the project. The jam file is loaded after a project definition but before the loading of the project jam file itself. Hence making it possible to act as if the auto-loaded file(s) are part of the current project. Currently only Conan is directly supported by default. But the facility is flexible to any PM that can generate B2 usable definitions and only needed to either set an env var or call the config rule to specify the glob. Having a built-in default allows non-intrusive use of a package manager assuming target definitions are uniform across package managers. 2018-05-22 00:38:13 -05:00
Rene Rivera
43738a898b Use --version instead of -dumpversion on Apple clang. This change uses --version on Apple clang as the -dumpversion only reports some old gcc compatibility version. This way we can tell the Apple version specifically. 2018-05-21 18:25:32 -05:00
Steven Watanabe
7433faf1fb Merge remote-tracking branch 'neuschaefer/poll' into develop 2018-05-12 20:08:08 -06:00
Rene Rivera
6dd4fca0d6 Merge remote-tracking branch 'origin/develop' into feature/new-doc-format 2018-04-25 19:53:09 -05:00
Justin LaPolla
3c608d2c69 Fix "unescaped special character" error
- This error appeared when I rebased this branch onto 'develop'.
2018-04-09 12:32:11 -05:00
Justin LaPolla
bb46e3d7c4 Remove empty line from the end of cray.jam 2018-04-09 12:32:11 -05:00
Justin LaPolla
28fde420c9 Set CCE feature defaults 2018-04-09 12:32:11 -05:00
Justin LaPolla
ab3505b312 Minor updates to cray.jam 2018-04-09 12:32:11 -05:00
Justin LaPolla
a91f11b527 Only use '-G 0' if we also have '-O 0' 2018-04-09 12:32:11 -05:00
Justin LaPolla
d80b2833d6 Refactoring: move call to caller 2018-04-09 12:32:11 -05:00
Justin LaPolla
6bf78a5e2b Refactor to reuse updating rule procedures 2018-04-09 12:32:11 -05:00
Justin LaPolla
2eda1d70e7 Add 'compile.asm' action to 'cray.jam' 2018-04-09 12:32:11 -05:00
Justin LaPolla
4018efbab5 Use '-G 0' and '-G 3' instead of '-G n' and '-G f'
- Turns out '-G n' and '-G f' are deprecated.
2018-04-09 12:32:11 -05:00
Justin LaPolla
fea201e31b Handle <debug-symbols> feature 2018-04-09 12:32:11 -05:00
Justin LaPolla
2b411daf63 Rearrange 'cray.init' function slightly 2018-04-09 12:32:11 -05:00
Justin LaPolla
9c0a0ac222 Detect CCE version 2018-04-09 12:32:11 -05:00
Justin LaPolla
bc173807f0 Expand 'cray' toolset 2018-04-09 12:32:11 -05:00
Steven Watanabe
51f9a4c338 Sync intel-win with msvc. It was broken by 4d58880c20. Refs #296. 2018-04-07 12:35:52 -06:00
Steven Watanabe
7ea55e4f2d Fix configure.choose when none of the targets build successfully. Refs #295. 2018-04-04 17:33:24 -06:00
Jonathan Neuschäfer
8b2054417c Avoid 100% CPU utilization if no timeout is set
While building boost, I noticed that jam0 and bjam used 100% of a CPU.
Strace showed that they were calling poll with a zero timeout in a loop.
This is because:
- the logic in exec_wait() initializes select_timeout to globs.timeout
- globs.timeout is zero when no action timeout is specified
- poll interprets a zero timeout as "return immediately" rather than
  "wait indefinitely".

Fix this by passing -1 to poll when globs.timeout is zero.
2018-04-02 15:20:57 +02:00
Reimar Döffinger
483c1135ab Find lzma and zstd for VisualC++ builds.
gcc builds add the lib prefix on their own,
for VisualC++ we need to do it manually.
2018-03-27 02:09:15 +02:00
Rene Rivera
4cb505ebcd Merge remote-tracking branch 'origin/develop' into
feature/new-doc-format
2018-02-21 15:35:10 -06:00
Steven Watanabe
0dacbc3df6 Make python.require-py safe to use when python is not found at all. 2018-02-20 11:38:12 -07:00
Steven Watanabe
2dd4ba21e5 Merge remote-tracking branch 'stefanseefeld/develop' into develop 2018-02-20 11:10:09 -07:00
Steven Watanabe
0d0c656c11 Quote or escape special characters in all modules. 2018-02-20 09:30:41 -07:00
Steven Watanabe
0a1ffa1deb Fix warnings on msvc. Note that the lack of a return shouldn't cause a problem, because we never actually call yypeek in a case where the return is needed, but it's still more future-proof to have it. 2018-02-19 12:28:37 -07:00
Steven Watanabe
8af8dda1e5 Increment jam version. This should actually have been done multiple times in the past, as there have been several significant updates to the engine. 2018-02-19 12:23:15 -07:00
Steven Watanabe
c2630072f4 Avoid an error in C with gcc-4.x. This fix is required because of -Werror (which is necessary in flags.jam). 2018-02-19 11:15:17 -07:00
Steven Watanabe
1e966040ab Remove <include> from asciidoctor. It doesn't actually work, and abusing <include> is wrong anyway. 2018-02-15 11:07:29 -07:00
Steven Watanabe
aff0b08eb3 #||# comments should not swallow to the end of the line. 2018-02-15 11:04:16 -07:00
Steven Watanabe
c8e35ddb09 Fix named parameters when some trailing parameters are blank. 2018-02-07 10:17:50 -07:00
Stefan Seefeld
c95f1302bf Add 'version-suffix' rule. 2018-02-06 21:35:16 -05:00