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

4027 Commits

Author SHA1 Message Date
Steven Watanabe
3f4db07187 Merge remote-tracking branch 'rdoeffinger/zstd' into develop 2018-01-16 12:11:14 -07:00
Steven Watanabe
c4888bee96 Add doc comment for lzma initialization. 2018-01-16 11:39:44 -07:00
Steven Watanabe
eb06ae1183 Merge remote-tracking branches 'rdoeffinger/typo' and 'rdoeffinger/lzma-test' into develop 2018-01-16 09:54:30 -07:00
Steven Watanabe
01d7660ade Mark all targets produced by the same action as FAIL_EXPECTED. The engine gets really confused for link-fail with msvc/debug otherwise. 2018-01-16 08:08:01 -07:00
Steven Watanabe
0b2643eb41 Only consider features that are directly relevant when merging virtual targets. 2018-01-15 15:37:33 -07:00
Reimar Döffinger
884f5c2b7c Add zstd.jam file.
Just a copy-paste of lzma.jam, except not introducing
the useless is-default option.
Will be used for zstd compression/decompression support
in iostreams (see also trac ticket #13356).
2018-01-15 20:10:05 +01:00
Reimar Döffinger
5adf3fb009 Fix typo in comment in lzma.jam 2018-01-15 19:22:11 +01:00
Steven Watanabe
f5b5cace60 linking-generator and archive-generator always consider <link> to be relevant. 2018-01-13 16:25:00 -07:00
Steven Watanabe
5cefb83f5c Always use a full three digit version for gcc. 2018-01-13 13:39:16 -07:00
Steven Watanabe
02359cb669 Add missed file that is necessary for building Boost.Dll on windows. 2018-01-13 13:36:45 -07: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
Steven Watanabe
ae4e151967 Passing -a -n usually means that we just want to see all the commands. Actually re-running configuration checks just wastes time. 2018-01-12 16:03:57 -07:00
Steven Watanabe
79dd4a7292 The manpage type should not break shared libraries with a version suffix. 2018-01-12 09:56:18 -07:00
Steven Watanabe
05a7419969 Remove an evil hack. The comment explaining why it is necessary appears to be out-dated. 2018-01-11 15:26:28 -07:00
Steven Watanabe
f3133e945e Rework configuration file loading to be more consistent. Any configuration file can be set (or disabled) with --xxx-config=. --config= overrides all configuration files. 2018-01-11 13:57:53 -07:00
Steven Watanabe
e350366096 Add a Jamfile in the test directory which runs test_all.py. Refs #268.
* python.jam: Allow run-pyd to work with just a python script.
* BoostBuild.py: Adjust paths to work regardless of the current
  working directory.
2018-01-09 07:49:59 -07:00
Steven Watanabe
c01182064e Attempt to fix a couple tests with qcc. 2018-01-08 19:52:41 -07:00
Steven Watanabe
6244e5ad21 Add specific tests for the processing of properties on the command line.
* Fix problems in x-product that could make it return extra property-sets
  in complex cases.  Also clarify exactly what it is supposed to do.
* free_features_request.py: This is subsumed by the new test.
* direct_request_test.py: This is mostly subsumed by the new test
  except for the last test for chained build-projects, which doesn't
  make much sense in the current code base as build-project is implemented
  very differently.
* Document using / to separate properties.
2018-01-08 17:01:32 -07:00
Steven Watanabe
e5d385d390 Rework handling of indirect conditionals.
* property-set now considers <conditional> to be conditional
* property.evaluate-conditionals-in-context now handles indirect
  conditionals as well.  This is the correct behavior for all places
  where evaluate-conditionals-in-context is currently used.
* Indirect conditionals now translate paths relative to the project
  in which they were defined, not relative to the current project.
* usage-requirements no longer use targets.evaluate-requirements,
  as the iterative algorithm is completely unnecessary (It's also
  wrong, since the new features shouldn't be applied to the evaluation
  context).
* indirect conditionals are removed from the property set when they
  are evaluated, just list regular conditionals.  (This is a consequence
  of passing them through evaluate-conditionals-in-context)
* This also allows non-free features in usage-requirements to "work" again
  (for some definition of work).
2018-01-06 16:01:36 -07:00
Steven Watanabe
15c876025a Make target requirements handle subfeatures and composites correctly
* feature.add-defaults: No longer accepts conditionals and returns
  expanded properties.  This matches the actual usage, and conditionals
  never really worked right anyway.
* property.refine: Remove subfeatures of removed features.
* Moved property-set expansion and adding defaults into
  targets.evaluate-requirements so that they correctly interact with
  the target requirements.
* Expand subfeatures when matching target alternatives.
* Non-property-specific subfeatures like <cxxstd>11-iso are expanded correctly.
2018-01-06 14:24:54 -07:00
Steven Watanabe
a4962133a0 Kill code that has no effect because it accesses a non-existent variable. This is already handled elsewhere. 2018-01-06 13:55:05 -07:00
Steven Watanabe
a3caa57af3 Clean up library modules. feature.get-values is nicer than property.select + G=. 2018-01-04 12:37:32 -07:00
Steven Watanabe
a0dbab8c78 Fix handling of implicit-dependency in xsltproc. Previously, <dependency> was necessary because the include scanner was not set up correctly. 2018-01-04 09:22:30 -07:00
Steven Watanabe
12decb3ce6 Rewrite gcc to use toolset.flags again. 2018-01-01 12:51:43 -07:00
Steven Watanabe
61989801ca Unduplicate options. Allow ranlib and ar to be set, to make mocking easier. Fix condition for setting linker-type. 2017-12-30 10:58:14 -07:00
Steven Watanabe
0c2f6ba03f Finally kill flavor as a gcc subfeature. Adjust check for cygwin. 2017-12-26 10:51:30 -07:00
Steven Watanabe
c594b12b13 Adjust check for using clock_gettime. 2017-12-23 09:47:32 -07:00
Steven Watanabe
6d7c0c752d Quote the name of the batch script so that it works when %TMP% contains a space. Fixes #274. 2017-12-21 15:16:45 -07:00
Steven Watanabe
d2b64dc55d Fix crash in the debugger's backtrace when a built-in function is on the stack. 2017-12-20 15:33:01 -07:00
Steven Watanabe
df321f5a3a Fix python tests. 2017-12-19 21:52:08 -07:00
Steven Watanabe
65cd9ce416 Fix stupid mistake. (On the bright side, the code works anyway.) 2017-12-19 17:05:24 -07:00
Steven Watanabe
f56035d11a Sync ac with configure. 2017-12-19 15:59:51 -07:00
Steven Watanabe
3ae87ff496 Add a new rule configure.choose that adds properties associated with the first target from a list that successfully builds. 2017-12-19 13:30:09 -07:00
Steven Watanabe
8aa702aaf4 Try to fix the build for older versions of XCode. 2017-12-19 10:27:31 -07:00
Steven Watanabe
0388086b3f Limit --remove-test-targets to the targets generated by the test case. This makes it safe to share object files and executables between test cases. 2017-12-18 15:51:49 -07:00
Steven Watanabe
0c6d0165b0 Support nanosecond timestamp resolution for posix. 2017-12-18 13:09:07 -07:00
Steven Watanabe
5391e53038 Clear the current project after configuring a toolset from the command line. 2017-12-18 10:13:25 -07:00
Steven Watanabe
6c3397fac8 Fix crash when calling a member function that doesn't exist. Fixes #260. 2017-12-16 15:19:00 -07:00
Steven Watanabe
4d58880c20 Move the msvc setup scripts from TEMP into the build directory. They are created as virtual-targets, so --clean-all should work as well. The scripts will also be auto-updated if their timestamps are older than the originals. Refs #257. 2017-12-16 12:15:45 -07:00
Steven Watanabe
e31489760c breakpoints should work even if they're hit repeatedly. 2017-12-15 15:15:54 -07:00
Steven Watanabe
7369dd2631 Use the right setup scripts for several tools. Previously, the first setup script processed would be applied unconditionally, because api was not defined which leaves the condition blank, and later setup scripts would be applied to winapi=phone, because api was not properly localized. 2017-12-14 12:26:24 -07:00
Steven Watanabe
dbff38df17 Subfeature expansion should not strip trailing dashes. This was caused by the fact that a list containing only empty strings is evaluated as false, thus causing the while loop to terminate prematurely. Fixes #207. 2017-12-14 10:21:05 -07:00
Steven Watanabe
b000980cd3 Make the caching of symlink/hardlink/junction detection more consistent. 2017-12-12 12:18:52 -07:00
Steven Watanabe
8cfe656d86 Fix rebuilding of configure checks with --reconfigure or -a. 2017-12-12 12:18:02 -07:00
Steven Watanabe
d81254cba0 Fix link-fail on Windows, Take 2. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259. 2017-12-12 09:59:21 -07:00
Steven Watanabe
4269c9e663 Revert "Fix link-fail on Windows. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259."
This reverts commit 0c3089d3c0.
2017-12-06 08:59:17 -07:00
Steven Watanabe
994bad539a hash requires the first element of the struct to be the key. 2017-12-05 19:27:11 -07:00
Steven Watanabe
192dedd2ee Fix debug builds of the debugger. Fixes #245. Fixes #246. 2017-12-05 18:26:09 -07:00
Steven Watanabe
0c3089d3c0 Fix link-fail on Windows. FAIL_EXPECTED now works correctly for targets that have multiple updating actions. Fixes #259. 2017-12-04 17:54:49 -07:00
Steven Watanabe
6cea15c958 Prevent --dump-tests from executing prematurely in the face of configuration checks and skipping some output. 2017-11-27 11:52:27 -07:00