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

1130 Commits

Author SHA1 Message Date
Steven Watanabe
a283d72196 Expand subfeatures in target references. Fixes #380. 2019-01-03 10:17:41 -07:00
Steven Watanabe
b42fa406ea Fix test for windows. Also add package.py to test_all.py. 2018-12-18 20:39:16 -07:00
Steven Watanabe
914f7d4cbe Fix package.install-data, which was broken by my previous commit, and add tests for it. 2018-12-18 12:26:41 -07:00
Steven Watanabe
3ca5a60bb6 Add package.paths to centralize calculations of installation paths. Also add a test case for package. 2018-12-17 18:38:33 -07:00
Rene Rivera
1b35aa7eda Rootless specific tests. 2018-10-18 22:51:13 -05:00
Rene Rivera
df2eadef97 Add test for rootless projects. 2018-10-18 10:22:32 -05:00
Rene Rivera
2744026f64 Adjust project test to account for rooted jamfile.
With sans-jamroot projects we don't get a missing jamroot error.
Hence we can get other errors, like in this test that fails to find
definitions in the missing jamroot.
2018-10-18 08:35:01 -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
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
Steven Watanabe
7ea55e4f2d Fix configure.choose when none of the targets build successfully. Refs #295. 2018-04-04 17:33:24 -06: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
Steven Watanabe
0d5e76ebf2 Upgrade the scanner to handle whitespace more intelligently
* The new scanner is currently disabled and only issues a warning
  for tokens that would be lexed differently.
* Special case a few common uses of ':', to limit breakage to
  a manageable level.
* Remove the horribly outdated Jambase code inherited from Perforce Jam
* Update all of Boost.Build to work in the presence of the new lexer.
2018-01-31 14:08:36 -07:00
Steven Watanabe
9470cebaf8 Don't duplicate linker flags for clang. 2018-01-31 12:42:04 -07:00
Steven Watanabe
30d87919bf Add a rule toolset.add-defaults similar to toolset.add-requirements. 2018-01-26 15:59:46 -07:00
Steven Watanabe
b5605d6f4a Add tests for clang-vxworks and some fixes. Fixes #278.
Squashed commit of the following:

commit a777fc2ed9
Author: Brian Kuhl <brian.kuhl@windriver.com>
Date:   Fri Jan 12 00:22:37 2018 -0500

    configure VxWorks/Dinkum STL to match <rtti>/<exception-handling>
2018-01-25 10:22:21 -07:00
Steven Watanabe
62595642f0 Don't write the import library to the PDB when <suppress-import-lib>true is present. 2018-01-22 19:05:44 -07:00
Steven Watanabe
23d3521ae7 Make clean-all include configure checks. Also fixes an issue with the msvc setup scripts being written to two different locations, depending on whether configure checks were cached. 2018-01-22 15:41:10 -07:00
Steven Watanabe
551ad6aeed Make test output sufficient to debug failures. 2018-01-22 15:17:44 -07:00
Steven Watanabe
3d5f4f4710 Fix return type of dummy function. 2018-01-18 08:41:47 -07:00
Steven Watanabe
358dd78eea Add a new rule check-has-flag, for detecting supported compiler arguments. 2018-01-17 20:30:38 -07:00
Steven Watanabe
d1f939a1e2 It shouldn't be necessary to import build-hooks into the global module. 2018-01-17 15:25:28 -07:00
Steven Watanabe
8962fb490c Fix implicit-dependency when a single main target produces multiple types that are usable as implicit-dependencies by different actions. 2018-01-17 14:36:16 -07:00
Steven Watanabe
5ad92cd76f Use os.environ instead of modules.peek to handle paths with spaces. 2018-01-16 17:51:12 -07:00
Steven Watanabe
9f481220c1 Allow named parameters in main target rules. Only implemented for the builtin type-based rules and testing rules. 2018-01-16 15:39:59 -07:00
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