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

11647 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
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
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
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
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
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
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
6945dad036 Added python tool examples. Contributed by Tom Kent. Fixes #171. 2018-01-09 08:23:19 -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
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
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
bf5db0d505 Remove old test name. 2017-12-30 12:19:47 -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
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
0c2f6ba03f Finally kill flavor as a gcc subfeature. Adjust check for cygwin. 2017-12-26 10:51:30 -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
Peter Dimov
c91455ff75 Add xcode 8, 7.3, 6.4 to Travis (#275)
* Add xcode 8, 7.3, 6.4 to Travis
* Add xcode 9.x, linux precise to Travis; restrict branches
* Restrict branches in Appveyor, too
2017-12-23 11:13:41 -06:00
Steven Watanabe
c594b12b13 Adjust check for using clock_gettime. 2017-12-23 09:47:32 -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