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

29 Commits

Author SHA1 Message Date
Vladimir Prus
d97aec24f5 Bugfix: recognize a.so.1.2 as file of type SHARED_LIB.
Thanks to Peter Schoen for bug report.

* new/type.jam
  (type): Accept filename, not just suffix. Improve logic.


[SVN r20036]
2003-09-12 07:13:42 +00:00
Vladimir Prus
81dc7f094b Rename 'xclass' to 'class'.
[SVN r19458]
2003-08-05 05:25:33 +00:00
Vladimir Prus
a8291718dd Rename 'xnew' to just 'new'.
[SVN r19434]
2003-08-04 11:12:30 +00:00
Vladimir Prus
96ba56a2e9 Drop all style classes support.
[SVN r19433]
2003-08-04 10:53:34 +00:00
Vladimir Prus
fe09f7e4fe Move abstract-target hierarchy to new classes.
[SVN r19428]
2003-08-04 09:22:29 +00:00
Vladimir Prus
6338351c15 Make action hierarchy use new style classes.
[SVN r19426]
2003-08-04 09:15:36 +00:00
Vladimir Prus
648087afed Make virtual-target hierarchy use new style classes.
[SVN r19425]
2003-08-04 09:13:22 +00:00
Vladimir Prus
60e89037fb 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
83ed59d79b Fix a couple of fallouts from the default build change.
* new/make.jam
  (make): Pass 'default-build' in the right position.

* new/targets.jam
  (basic-target): Use empty property-set if no default-build is passed.
  (main-target): Use 'raw' to test property-set for emptines. The string
  emptyness test that use to be there does not works for property-sets.


[SVN r18440]
2003-05-19 10:28:02 +00:00
Dave Abrahams
5eb7ea1192 Note: there is currently a circular dependency between type.jam and
virtual-target.jam.

- Added the missing explicit imports, now that we don't dump
  everything into the global module with qualification

- stopped using the feature-space hack for temporary testing states of
  the feature module.  Instead we move its global variable definitions
  to a temporary module.

- the way feature.action was invoking the rule it was being passed was
  evil.  Now you pass (even local) rules without qualification and
  they are invoked in the source module context.

- module __test__ rules are always executed in a separate module, so
  that their import dependencies can be separated from those of the
  module being tested.

- better reporting of circular module-loading dependencies
  implemented.

- minor changes:

    property-set.jam:  moved .empty initialization to avert circular
    load dependency .

    symlink.jam: fixed global variable naming.


[SVN r18407]
2003-05-15 22:22:13 +00:00
Douglas Gregor
3797ec4082 Allow passing in the caller to the make rule, so that other modules
(that aren't user projects) can use it to add targets to their callers


[SVN r18137]
2003-03-30 15:24:57 +00:00
Vladimir Prus
caa491f503 Prevent the 'make' rule perform reduntant builds. Thanks to Kirill Lapshin
for the bug report.

* new/make.jam
    (make-target-class.construct): Pass the result through
    'virtual-target.register'.

* new/virtual-target.jam
    (register): Ignore incidental properties when deciding if targets are
    equivivalent.

* test/make_rule.py: Add new test.


[SVN r17701]
2003-03-03 07:47:14 +00:00
Vladimir Prus
5b56d78725 Allow additional argument for user rule, with "make" main target.
* new/make.jam
    (make): Change name only of the first element in 'generating-rule'

* new/virtual-target.jam
    (action.actualize): Pass only first element of action name to
       toolset.set-target-variables.

* test/make_rule.py: New test.


[SVN r17543]
2003-02-20 07:20:52 +00:00
Vladimir Prus
8e8891b7dd Introduce the 'property-set' class, which is used instead of
plain old lists of properties in most cases where we need property sets.

The changes are too numerous and mostly automatic to comment each one.


[SVN r17305]
2003-02-10 14:40:38 +00:00
Vladimir Prus
b12a902687 Clean ups.
* new/builtin.jam: Made 'toolset' and 'variant'
    features symmentic. Document and fix the 'variant' rule.

* new/virtual-target.jam: Refactoring attempts. Split
   virtual-target into virtual-target and derived from it
   file-target. Eliminate some duplication in setting target
   locations.


[SVN r16437]
2002-11-27 08:37:07 +00:00
Vladimir Prus
cb7c085b33 Cleanup main target alternative creationg.
* new/targets.jam
    (abstract-target.name): New method.
    (abstract-target.project): New method.
    (main-target-alternative): Simplify. Only register
       main target alternative. Don't to fancy processing
       of arguments.
    (main-target-requirements): New rule.
    (main-target-use-requirements): New rule.
    (main-target-default-build): New rule.


[SVN r16249]
2002-11-15 07:20:23 +00:00
Vladimir Prus
e147aa0b32 Make some refactoring.
* new/virtual-target.jam (virtual-target): Eliminate 'subvariant'
   attribute. Use properties of action to for the same
   purpose.

* new/testing.jam: Induced changes.
* new/make.jam: Induced changes.
* new/generators.jam: Induced changes.


[SVN r16128]
2002-11-06 08:13:40 +00:00
Vladimir Prus
ca4653d555 Make the 'make' rule work with locally declared generating rules.
[SVN r16097]
2002-11-04 17:28:46 +00:00
Vladimir Prus
ca18960a9e Implement simple form of use requirements.
* new/virtual-target.jam
        (virtual-target.use-requirements): New rule.
        (virtual-target.set-use-requirements): New rule.

    * new/generators.jam (construct): Use 'use-requirements' of sources.

    * new/targets.jam (basic-target.generate): Store use requirements for
             generated targets.
      (main-target-alternative): Process use requirements.

    * new/project.jam: Support 'use-requirements' project attribute.


[SVN r15821]
2002-10-09 11:33:22 +00:00
Vladimir Prus
4115276dec Sundry improvements:
Bison and lex support.
    unit-test rule
    --version option
    default build really works

    * new/build-system.jam: Bugfixes. Added "--version" option.

    * new/project.jam: If default-build is not specifies, don't stick "debug".

    * new/property.jam (evaluate-conditionals): New rule.

    * new/targets.jam (basic-target.generate): Evalute conditional properties.

    * test/BoostBuild.py (Tester.maybe_do_diff): New method.
        (Tester.run_build_system): Call the above method when
        appropriate.


[SVN r15771]
2002-10-07 13:34:14 +00:00
Vladimir Prus
742e30850e Fix some obscure bugs.
* new/virtual-target.jam (clone-template): Improve interface and logic.

    * new/make.jam (make-target-class.construct): Set type and suffix on
    generated targets.

    * new/generators.jam (construct): Make sure all targets have known
     types.


[SVN r15766]
2002-10-07 13:08:04 +00:00
Vladimir Prus
c3d228af10 Wholesale commit of generators.
[SVN r14924]
2002-08-16 14:13:15 +00:00
Vladimir Prus
32f895a1be Facilitate new main target rules creation.
* new/targets.jam (make-target-alternative): New rule, which handles
        applying project requirements and default build, when needed.
    * new/make.jam (make): Use the above rule.


[SVN r14894]
2002-08-15 16:01:45 +00:00
Vladimir Prus
80c96a8efe Introduce 'incidental' features.
* new/feature.jam: The above change.
    * new/property.jam
      (remove): Renamed & generalized from 'remove-free'.
      (take): Likewise.


[SVN r14752]
2002-08-09 11:37:59 +00:00
Vladimir Prus
38a1af562f Deleted project_test2 and moved the interesting tests from it to project_test4.
[SVN r14404]
2002-07-11 10:01:53 +00:00
Vladimir Prus
8c2434fe71 Work on issue 577833: Finish target paths.
* new/targets.jam (main-target.generate) Add extra path component to
        virtual target which free properties are not equal to project's.
        (basic-target.generate): Pass refined properties to 'construct'.
        (virtual-target.extra-path): New rule.
        (virtual-target.actualize): Make use of extra path.
    * new/property.jam (take-free): New rule.


[SVN r14396]
2002-07-10 16:05:15 +00:00
Vladimir Prus
27268e2ba7 Work on the issue 578618. Moved all the data out of jamfile modules.
* new/project.jam (project-attributes): New class to keep all the
        project related data. (attritutes, attribute): New rules to access
        the project attributes. (target): New rule to access the project
        target for a jamfile module.
        (initialize): Store attribute in project-attributes instance.
        (project): Moved to jamfile module.
        (assign-option): Moved with modifications to project-attributes.get.
    * new/targets.jam, new/project-root.jam, new/make.jam,
      new/build-system.jam: Induced changes.


[SVN r14362]
2002-07-09 07:56:51 +00:00
Vladimir Prus
53150ba4b7 Cleanups.
* new/targets.jam: (main-target.alternatives): Renamed from
      'main-target.variants'. Comment improvements.


[SVN r14342]
2002-07-08 10:38:54 +00:00
Vladimir Prus
082c25530d Beginning of the 'make' rule.
* new/targets.jam: Check for duplicate 'basic-target::generate()' calls.
        Use better logic to tell is source is another main target or file.
        (project-target::has-main-target): New rule.
    * new/project.jam (lookup): Fixes. (find-target): Implemented.
    * new/make.jam: New file, defines the 'make' rule and associated target
        class.
    * new/build-system.jam: Import 'make'. Generate virtual targets and
        actualize them.
    * new/utility.jam: Added "MkDir" rule and actions.
    * test/project_test3.py: New test.


[SVN r14249]
2002-06-27 14:00:30 +00:00