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

362 Commits

Author SHA1 Message Date
Vladimir Prus
503da68bc4 Improve alternative selection.
* new/targets.jam
  (main-target.select-alternative): Rewrite.
  (main-target.generate-really): Issue error in all cases where best
  alternative could not be found.
  (basic-target.match): Renamed from 'match-rank' and changed.

* boost_build_v2.html: Document new algorithm.

* test/alternatives.py: More tests.


[SVN r20331]
2003-10-10 12:14:59 +00:00
Vladimir Prus
ada627ba32 Make the 'regression' test case work on windows with gcc.
[SVN r20299]
2003-10-08 05:49:57 +00:00
Vladimir Prus
7c4e61af9f Bugfix: path-constant rule was mishandling absolute paths on Windows.
[SVN r20297]
2003-10-08 05:40:16 +00:00
Vladimir Prus
d454a26cfe Add tests for regression system.
[SVN r20280]
2003-10-07 13:03:04 +00:00
Vladimir Prus
2eb79255bd Bugfix.
* new/BoostBuild.py
  (Tester.touch): Fix so that it can accept List instances.


[SVN r20279]
2003-10-07 12:50:17 +00:00
Dave Abrahams
5ffe27e49e Removed all property-adjuster references and the associated test.
[SVN r20207]
2003-09-29 15:27:47 +00:00
Vladimir Prus
959782b4d4 Enable some previously commented out test.
[SVN r20205]
2003-09-29 15:17:18 +00:00
Vladimir Prus
05c4757d82 Implement a somewhat better link-compatibility check.
* new/targets.jam
  (basic-target.check-for-link-compatibility): New rule.
  (basic-target.generate-sources, basic-target.generate): Call the above.


[SVN r20191]
2003-09-26 11:13:42 +00:00
Vladimir Prus
0419f26474 Drop the notion of link-compatibility. We don't really want it for
projects, and for individual targets, it will reappear later.

* new/property.jam:
  (refine): Don't check for link-compatibility.

* new/targets.jam
  (project-target.generate): Don't call 'refine' and don't emit any
  warnings.

  (basic-target.match-rank): The alternative selection mechanism dependended
  on link-compatibility in some way. Work around the difference in semantic
  we have now. This will be resolved in a more clean way later.

* new/property-set.jam
  (property-set.link-incompatible, property-set.link-incompatible-with):
  New methods.


[SVN r20190]
2003-09-26 10:22:22 +00:00
Vladimir Prus
a2f68ad42e Implement <implicit-dependency> feature.
* new/virtual-target.jam
  (subvariant-dg.implicit-includes): New method.
  (subvariant-dg.__init__): Check for <implcit-dependency>, not all
  dependency features.

* new/builtin.jam
  (compile-action.adjust-properties): Call 'implicit-includes'.


[SVN r20174]
2003-09-24 06:13:01 +00:00
Dave Abrahams
b6c3972f2c Use import rule
[SVN r20170]
2003-09-24 00:01:11 +00:00
Vladimir Prus
da15d4a222 Fix BB39: project root constants are available also in project-root module
itself.


[SVN r20077]
2003-09-16 14:54:09 +00:00
Vladimir Prus
a046f6b0c0 Make msvc happy.
[SVN r20019]
2003-09-11 08:12:58 +00:00
Vladimir Prus
a8758e0f2c Bugfix: allow a generator to create two targets of the same type.
* new/generators.jam
  (generator.__init__): Use parallel lists to store prefixes and postfixes
  for a name, not mapping with type as a key, since type is not unique.
  (generator.generated-targets): Adjust.


[SVN r19990]
2003-09-10 07:39:45 +00:00
Vladimir Prus
b8b18394e3 Add 'glob' rule to Jamfile context.
[SVN r19914]
2003-09-04 11:19:03 +00:00
Vladimir Prus
be258d889a Remove support for old-style target ids.
[SVN r19913]
2003-09-04 11:06:14 +00:00
Vladimir Prus
52547317f0 Bugfix. Allow "project-root" to work in Jamfile, again.
Thanks to Peter Schoen for bugreport.

* new/project.jam (initialize): Set 'project-root-module' attribute.
* new/project_root.py: New test.


[SVN r19899]
2003-09-01 14:00:26 +00:00
Vladimir Prus
e92b5c5d23 Fix a hard error whenever a target is skipped. Thanks to
Christopher Currie for spotting this bug.


[SVN r19854]
2003-08-29 08:48:15 +00:00
Vladimir Prus
c72f0987ca Python 2.3 fixes. Use __rmul__ for fixed mode operations on List, not
__coerce__, since it works in a wrong way and might be removed in future.


[SVN r19806]
2003-08-27 13:57:47 +00:00
Vladimir Prus
6165bef6c0 Test toolset inheritance
[SVN r19461]
2003-08-05 06:10:58 +00:00
Vladimir Prus
286825f9d5 Rename 'xclass' to 'class'.
[SVN r19458]
2003-08-05 05:25:33 +00:00
Vladimir Prus
a9cb673c30 Rename 'xnew' to just 'new'.
[SVN r19434]
2003-08-04 11:12:30 +00:00
Vladimir Prus
7fceeb4bc7 Drop all style classes support.
[SVN r19433]
2003-08-04 10:53:34 +00:00
Vladimir Prus
bd38c04d0e Move abstract-target hierarchy to new classes.
[SVN r19428]
2003-08-04 09:22:29 +00:00
Vladimir Prus
c1e3f990f1 Move generators to new-style classes.
[SVN r19427]
2003-08-04 09:19:54 +00:00
Vladimir Prus
88d198970c Speed up module imports.
* jam_src/builtins.c: New builtins IMPORT_MODULE and IMPORTED_MODULES.
  jam_src/rules.c: (bindrule): Refactor. (lookup_rule): New function.

* kernel/modules.jam: Make use of IMPORT_MODULE.


[SVN r19422]
2003-08-04 08:45:41 +00:00
Vladimir Prus
34b0c5d51d Correct the copyright.
[SVN r19325]
2003-07-28 08:25:29 +00:00
Vladimir Prus
630e14381f Bugfix. Keep the same suffix when staging files.
[SVN r19324]
2003-07-28 08:18:20 +00:00
Vladimir Prus
9935ca42e3 Weaken multiple main target default build check. Must be identical
rather then only defined on first.

The previous behaviour did not work when there were "default-build" attribute
on project and two alternatives for a main target.

Patch from Michael Stevens.


[SVN r19303]
2003-07-25 07:58:47 +00:00
Vladimir Prus
4f30918d6a Patch from Pedro Ferreira to implement <tag> feature.
* new/targets.jam
  (basic-target.tag-name): New rule.
  (basic-target.generate-really): Temporary change self.name

* test/tag.py: New test.


[SVN r19298]
2003-07-24 13:57:45 +00:00
Vladimir Prus
11d9de9016 Unbreak the test on Windows.
[SVN r19258]
2003-07-22 09:31:45 +00:00
Vladimir Prus
15b0e35204 Python 2.1 compatibility.
[SVN r19255]
2003-07-22 09:02:09 +00:00
Vladimir Prus
7b8c2fca3f Fix BB46 (inline targets renaming).
* new/targets.jam
  (project-target.add-alternative): New rule.
  (project-target.build-main-targets): New rule.
  (project-target.generate, project-target.main-target,
   project-target.has-main-target): Call 'build-main-targets'
  (project-target.rename-main-target): Remove.

  (main-target-sources): Use 'rename', not project.rename-main-target.
  (main-target-alternative): Simplify.

* test/inline.py: Test for fix.


[SVN r19245]
2003-07-21 08:30:20 +00:00
Vladimir Prus
72d84b8e49 Bugfix: conditionals properties was misbehaving when there were ":" in
property value.

* new/property.jam
  (evaluate-conditionals-in-context): Don't be greedy in regex.

* test/conditionals3.py: New test.


[SVN r19243]
2003-07-21 07:17:19 +00:00
Vladimir Prus
d14334895e Unbreak STLport and railsys test.
* tools/stlport.jam
  (stlport-target-class.generate): New method.

* test/test_all.py: Run 'railsys' again.


[SVN r19242]
2003-07-21 06:43:28 +00:00
Vladimir Prus
370c9f2bfe Work on BB43 (hang on loop in main target references).
* new/targets.jam
  (start-building, end-building): New rules.
  (main-target.generate): Call the above rules.

* test/loop.py: New test.


[SVN r19241]
2003-07-21 06:21:27 +00:00
Vladimir Prus
1a7819fe34 Fix BB38 (composite properties expansion buggy).
* new/build-request.jam
  (expand-no-defaults): Don't expand composites.

* new/targets.jam
  (main-target.generate): Expand composites.

* test/property_expansion.py: New test.


[SVN r19240]
2003-07-21 05:55:42 +00:00
Vladimir Prus
35aa067d95 Fix a bug which caused non-free feature to appear twice in property set.
[SVN r19239]
2003-07-21 05:34:15 +00:00
Vladimir Prus
c1d153e914 Add missing file.
[SVN r18932]
2003-07-03 10:11:38 +00:00
Vladimir Prus
d2ad8e70c5 Implement inline main targets.
* new/targets.jam
  (main-target-sources): New rule.
  (abstract-target.rename): New rule
  (project-target.rename-main-target): New rule.


[SVN r18923]
2003-07-03 07:23:26 +00:00
Vladimir Prus
eb5d60e764 Make searched targets really work on borland.
* new/builtin.jam
  (lib-generator): Remove.
  (lib-target-class): New class. Target class is more powerfull then
  generator, here.

* new/generators.jam
  (construct): New argument 'return-all'.

* bew/property-set.jam
  (property-set.add-raw): New method.


[SVN r18917]
2003-07-02 12:23:50 +00:00
Vladimir Prus
745fbefcf4 Add --preserve option to test system.
[SVN r18915]
2003-07-02 11:46:19 +00:00
Vladimir Prus
6834f94a49 Robustify dependency_test.
[SVN r18907]
2003-07-01 14:10:03 +00:00
Vladimir Prus
a61389b1c6 Change the core so that both "existing" and "updated" modifiers are both
allowed.


[SVN r18901]
2003-07-01 09:45:56 +00:00
Vladimir Prus
3a68b842ae The "explicit" targets are now specified by "explicit" rule in Jamfile,
not by project attribute. The problem with the previous interface was
that it was not possible to mark target as explicit anywhere else,
such as in helper module which declares target in project module, or
in toolset module.

* new/targets.jam
  (project-target.mark-target-as-explicit): New rule
  (project-target.targets-to-build): Use self.explicit-targets.

* new/project.jam
  (project-attributes.set): Don't allow 'explicit-targets'.


[SVN r18900]
2003-07-01 06:46:15 +00:00
Vladimir Prus
ee237153c7 Update build system for bjam changes.
[SVN r18890]
2003-06-30 14:28:05 +00:00
Vladimir Prus
bd5a03d448 Handle include dependencies between generated sources correctly.
[SVN r18889]
2003-06-30 14:24:20 +00:00
Vladimir Prus
c2abccc7de Bugfix: make searched libraries really work on borland.
[SVN r18867]
2003-06-24 12:43:11 +00:00
Vladimir Prus
cace6663db Enable 'custom_generator' test.
[SVN r18833]
2003-06-18 06:37:43 +00:00
Vladimir Prus
83394f7ff8 Implement new target-id syntax.
[SVN r18780]
2003-06-11 12:22:03 +00:00