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

4209 Commits

Author SHA1 Message Date
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
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
214e083860 Allow named parameters in lib, alias, make, generate, boostbook, and doxygen. 2018-01-30 16:00:12 -07:00
Steven Watanabe
e1ee0777fb Set the default target os for gcc. Fixes #285. 2018-01-26 16:11:20 -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
fb43f6bb60 Print output from actions immediately in single-threaded builds (-j1). Output is still buffered in parallel builds and for quiet actions. This should also fix the output order for VMS which doesn't support parallel builds. Fixes #210. 2018-01-26 12:49:09 -07:00
Steven Watanabe
22c800894a Remove unused and out-dated file. clang-win needs more fixes than this to make it work. 2018-01-25 11:57:23 -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
eae02a51f5 Make the toolset relevent for all test targets to help the regression testing system out. 2018-01-24 08:54:22 -07:00
Steven Watanabe
ca9de064f4 Generalize flags output check. Make it work for intel and vc71. 2018-01-23 09:29:20 -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
Rene Rivera
1f2051c306 Merge branch 'develop' into feature/new-doc-format 2018-01-21 20:45:57 -06:00
Steven Watanabe
e4efe91a84 Fix spurious rebuilds with msvc-14.1. Refs #288. 2018-01-20 14:30:48 -07:00
Steven Watanabe
7c2de26d1b Fix doc for classes. 2018-01-18 15:53:59 -07:00
Steven Watanabe
00c540cbf0 Only print specific docs for args that are documented. 2018-01-18 12:38:41 -07:00
Steven Watanabe
fe432547dc Parse multiline comments. 2018-01-18 11:31:44 -07:00
Steven Watanabe
ac8ba7d5e6 Make doc parsing resilient against different line endings. 2018-01-18 10:34:04 -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
3edd6e36a0 FILE_OPEN should take a native path. 2018-01-17 16:57:51 -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
6d2849534d When we see non-free usage requirements, issue a warning and ignore them. They don't actually work and are likely to break randomly, but several libraries use them anyway. 2018-01-17 10:10:59 -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
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
Rene Rivera
0370c83116 Squashed commit of the following:
commit 61f7def696caaddcf7213c1ff5c6dcfeb8faa3be
Author: Rene Rivera <grafikrobot@gmail.com>
Date:   Tue Oct 17 08:36:10 2017 -0500

	Undo doc print to qbk.

commit 095f7807c42c3056862eb1db110b16f5739dcc10
Author: Rene Rivera <grafikrobot@gmail.com>
Date:   Tue Oct 17 08:09:54 2017 -0500

	Fix test that collides with manpage type.

commit d3eca8827d08c683d07a3224bd9670e5a4b9a300
Author: Rene Rivera <grafikrobot@gmail.com>
Date:   Mon Oct 16 22:39:44 2017 -0500

	Merge branch 'feature/asciidoctor' of https://github.com/boostorg/build.git into feature/asciidoctor

commit 65c780725357b706e942c173a0af0a6837fc4c88
Author: Rene Rivera <grafikrobot@gmail.com>
Date:   Mon Aug 07 21:41:24 2017 -0500

	Initial support for asciidoctor tool.

commit 0a5a12c16ae87f5694be91cd72439840710adce0
Author: Rene Rivera <grafikrobot@gmail.com>
Date:   Mon Aug 07 21:41:24 2017 -0500

	Initial support for asciidoctor tool.
Merge remote-tracking branch 'origin/develop' into feature/new-doc-format

Conflicts:
	doc/src/overview.xml
	doc/src/reference.xml
2018-01-15 10:36:37 -06:00
Rene Rivera
da4c254863 Complete initial set of reformatted docs complete. 2018-01-14 16:01:54 -06: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