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

1105 Commits

Author SHA1 Message Date
Steven Watanabe
ebffaa1397 Avoid another conflict with python. Closes #284. 2018-01-16 13:59:52 -07:00
Steven Watanabe
3f4db07187 Merge remote-tracking branch 'rdoeffinger/zstd' into develop 2018-01-16 12:11:14 -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
b7046cc5f2 We don't actually care about the import lib or .exp files. 2018-01-15 16:54:45 -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
f4989237dc Add test for lzma.jam. 2018-01-15 20:24:57 +01: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
Steven Watanabe
94d2cfcdb7 Rename zlib.py to avoid conflict with the builtin zlib module in python 2.7.14. 2018-01-13 14:43:54 -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
ed37fd04af Merge regression.py, testing_support.py and test_result_dumping.py into testing.py. Also, make the tests from more systematic. 2018-01-12 15:45:20 -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
c4bfb6d2f7 Make mock-program compile in C++03 2018-01-08 19:15:46 -07:00
Steven Watanabe
6c5735a06d Add test for passing optional features on the command line. 2018-01-08 18:37:17 -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
429081e45e expect_content inadvertently ignored the first element. 2018-01-08 15:56:53 -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
12decb3ce6 Rewrite gcc to use toolset.flags again. 2018-01-01 12:51:43 -07:00
Steven Watanabe
bf5db0d505 Remove old test name. 2017-12-30 12:19:47 -07:00
Steven Watanabe
44598b2107 Clean up test names. 2017-12-30 10:53:03 -07:00
Steven Watanabe
205146c15f Tests for clang-linux. 2017-12-29 12:32:58 -07:00
Steven Watanabe
dda019c9d9 Tests for intel-darwin. 2017-12-28 15:40:00 -07:00
Steven Watanabe
6ffd6b9c7a Add test for clang-darwin. 2017-12-27 13:30:23 -07:00
Steven Watanabe
53cf891d8a Add test for the darwin toolset. 2017-12-26 21:27:01 -07:00
Steven Watanabe
a84c6d4c0c Add gcc/target-os=darwin test. 2017-12-26 16:31:37 -07:00
Steven Watanabe
fa78d4fed7 Don't pass -d0, except for the tests that actually require it. Suppress global -d arguments for tests that check stdout or set -d explicitly. All tests now pass in verbose mode. 2017-12-26 13:25:40 -07:00
Steven Watanabe
b339e8df4b Fix property order. 2017-12-26 10:38:14 -07:00
Steven Watanabe
89b0e49d99 Adjust expected suffixes to work on OSX and windows for gcc.py. 2017-12-26 09:50:33 -07:00
Steven Watanabe
858ad964c9 Add a mock of gcc as a first step towards testing all toolsets. 2017-12-23 15:57:26 -07:00
Steven Watanabe
14d745d691 Localize changes to the environment, so that we don't break later tests run in the same process. 2017-12-21 15:55:23 -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
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
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
6fce57e7da Make sure that we can always detect touched files even if we didn't wait for any other reason. 2017-12-18 11:20:44 -07:00
Steven Watanabe
bb300dac25 Make test_all.py print more information on failure. 2017-12-16 16:11:39 -07:00
Steven Watanabe
a96e3fcbc5 ignore doesn't handle . 2017-12-16 15:05:46 -07:00
Steven Watanabe
ff10c58b99 Fix Windows tests. 2017-12-16 13:16:21 -07:00
Steven Watanabe
ff8709997e Fix new tests for Windows, matching 40e7f0e8dd 2017-12-15 16:00:32 -07:00
Steven Watanabe
e31489760c breakpoints should work even if they're hit repeatedly. 2017-12-15 15:15:54 -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
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