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

128 Commits

Author SHA1 Message Date
Vladimir Prus
ac6efa3dc8 Forgotten change.
[SVN r16248]
2002-11-15 07:15:10 +00:00
Vladimir Prus
4bb9890107 Revive all the tests.
* boost_build_v2.html: Document new option.

* new/generators.jam (find-viable-generators): Revert part of Dave's
   commit, essentially disabling finding base type generators.
   This part breaks a test, and need to be thinked about.

* new/errors.jam: Handle "--no-error-backtrace" option.

* test/project_test4.py: Adjust for new error syntax.


[SVN r16233]
2002-11-14 10:17:50 +00:00
Vladimir Prus
b683f1da14 Fix rule echoing.
* jam_src/make1.c (make1c): Output don't output nonqueit when neither
     DEBUG_MAKE nor DEBUG_MAKEQ is set.

   * test/code_d1d2.py: New test.


[SVN r16231]
2002-11-14 07:11:16 +00:00
Vladimir Prus
24d1722d55 First implementation of "stage" and "prebuilt" rule.
* new/common.jam (copy): New rule.

* new/targets.jam (main-target.generate): Use a different
   algorith for selecting subvariant. Favour one with
   the longest intersection of requirements with build
   properties.

* new/virtual-target.jam (virtual-target): Eliminate 'subvariant'
   attribute. Use properties of action to for the same
   purpose. New methods 'set-path' and 'extra-grist'.


[SVN r16129]
2002-11-06 10:26:11 +00:00
Dave Abrahams
172669b521 initial commit
[SVN r16122]
2002-11-05 19:56:18 +00:00
Dave Abrahams
37f30070bb Proof-of-concept for testing
[SVN r16108]
2002-11-04 21:57:50 +00:00
Dave Abrahams
d45cc334b1 Cygwin compatibility
[SVN r16107]
2002-11-04 21:56:41 +00:00
Vladimir Prus
f9bf8ef5e2 Made 'include' adjustment for generated headers work when other
targets are specified as sources, not only as dependency properties.

    * new/virtual-target.jam (subvariant-dg): Note which sources
    are roots of dependency grapgs and record those graphs.


[SVN r16095]
2002-11-04 17:24:41 +00:00
Vladimir Prus
6354355cbe Honour use-requirements for dependency properties.
[SVN r15964]
2002-10-23 10:39:23 +00:00
Vladimir Prus
3be178a1ea Forgotten file.
[SVN r15852]
2002-10-10 12:20:19 +00:00
Vladimir Prus
2e0e73f25f Add more tests.
[SVN r15851]
2002-10-10 12:12:06 +00:00
Vladimir Prus
e44de6f1b0 Implement dependendency features.
[SVN r15850]
2002-10-10 11:58:41 +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
9e696814a3 Bugfixes.
* new/virtual-targets.jam (virtual-target.root): New rule
        (traverse): Don't traverse past roots.
    * new/targets.jam (main-target): Call 'virtual-target.root' as
        appropriate.


[SVN r15773]
2002-10-07 14:34:43 +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
4b5d5cc6e4 Allow to specify target ids in command line.
* project.jam (lookup-with-load): New rule.
      (find-target): Try interperting target id as project first.

    * build-request.jam (from-command-line): Don't grab
      unconditionally elements which have slashes -- they may be target
      ids.

    * build-system.jam: Allow target ids is command
      line. Accept --clean option.

    * BoostBuild.py (run_build_system): Call 'ignore_directoies' on diff.

    * tree.py (Trees_different.ignore_directoies): New method.


[SVN r15768]
2002-10-07 13:18:27 +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
f7ad708129 Allow directory part in names of source files.
[SVN r15708]
2002-10-04 13:59:25 +00:00
Vladimir Prus
688f31f78c Implement path features.
* property.jam (translate-paths): New rule.

    * targets.jam (main-target-alternative): Translate path
      properties.

    * project.jam (project-attributes.set): Likewise.

    * builtin.jam (variant): Fixes.


[SVN r15707]
2002-10-04 13:48:38 +00:00
Vladimir Prus
2d011cda17 Implement variant declaration.
* builtin.jam (variant): New rule.

    * build-system.jam: Unconditionally add <toolset>gcc to build
        request. Will be fixed when toolset support is ready.

    * feature.jam (extend-feature): Bugfix.


[SVN r15678]
2002-10-03 16:29:21 +00:00
Vladimir Prus
18991908fc Propagate free properties in build request to all directly requested targets.
* targets.jam
        (abstract-target.direct-build-request): New rule.
        (project-target.direct-build-request): New rule.
        (main-target.direct-build-request): New rule.
        (main-target.generate): Use data stored by
        'direct-build-request' to adjust build properties.

    * build-system.jam: Call 'direct-build-request' on project
         target in "."

    * feature.jam (feature): Don't allow propagated free features.


[SVN r15677]
2002-10-03 15:18:59 +00:00
Vladimir Prus
9fa663224f Skip projects when property refinement for them fails.
Skip main targets when no alternative can be build.
Issue error when 'construct' for alternative fails.


[SVN r15676]
2002-10-03 15:01:09 +00:00
Vladimir Prus
da0376118c Cleanups.
[SVN r15651]
2002-10-02 16:13:54 +00:00
Vladimir Prus
4af9e4371f Test for poor main's per-source requirements.
* new/builtin.jam: Make 'obj' main type.
    * new/generators-test/*: Try compiling the same CPP file with
        different defines and linking in the same exe.


[SVN r15649]
2002-10-02 12:38:13 +00:00
Vladimir Prus
1c8db11b60 Dependency scanning implementation.
* jam_src/builtins.c: New builtin SEARCH_FOR_TARGET.

    * jam_src/rules.c
         (bind_explicitly_located_targets): New function.
         (search_for_target): New function.

    * jam_src/make.c (make): Call 'bind_explicitly_located_targets()'
        immediately on entering.

    * jam_src/search.c (call_bind_rule): No longer 'static'.

    * new/builtin.jam (c-scanner.process): Real implementation.

    * test/dependency_test.py: Really test for dependencies.


[SVN r15646]
2002-10-02 11:56:32 +00:00
Vladimir Prus
f1ae04c4a9 Infrastructure for dependency scanning.
* virtual-target.jam (virtual-target.actualize): Accept
        'scanner' parameter and create different actual targets
        for different values of that parameter.
     (virtual-target.includes): Remove.
     (binding): New rule
     (remember-binding): New rule.

    * type.jam (set-scanner): New rule. (get-scanner): New rule.

    * scanner.jam: New file.

    * class.jam (__init__): Define __name__ in class scopes.

    * builtin.jam (c-scanner): New scanner class, associated with CPP
        files.


[SVN r15644]
2002-10-02 10:04:03 +00:00
Vladimir Prus
616e43dd10 Adjust include paths for compilations, so that generated headers are found.
* virtual-target.jam (traverse): New rule, returns a list of
    targets, given the graph root.
  (subvariant-dg): New class, to keep all targets for a given
    subvariant.
  (virtual-target.dg): New rule to access subvariant-dg.
  (virtual-target.path): New rule

* targets.jam (main-target.generate): Assign subvariant dg to all
  created targets.

* builtin.jam (compile-action.adjust-properties): Use subvariant
  dg to find all targets, their location, and add those location
  to include path.


[SVN r15619]
2002-10-01 17:00:24 +00:00
Vladimir Prus
5369e948b4 Added hooks to allow special property adjustment for generators and actions.
For example, this would allow compilers to add generated headers into include
path.

	* virtual-target.jam (action.adjust-properties): New rule.
	  (clone-action-template): Don't slice cloned object.

	* generators.jam (generator.action-class): New rule, to allow
	  overriding action class on per-generator basis.

	* builtin.jam (compile-action): New class.
	    (C-compiling-generator): New class.

	* gcc.jam: Use C-compiling-generator for gcc. Honor includes.


[SVN r15618]
2002-10-01 16:31:31 +00:00
Vladimir Prus
0ce8654d3a Tweak test system.
[SVN r15611]
2002-10-01 14:55:52 +00:00
Vladimir Prus
4c4567dde5 Introduced SHARED-LIB and STATIC-LIB target types. Also introduced LIB target
type and a generator, which relays either to SHARED-LIB or STATIC-LIB,
depending of the value of "shared" feature.


[SVN r15529]
2002-09-27 07:35:03 +00:00
Vladimir Prus
38f178b0d8 Work in progress.
- Got rid of vectors of vectors in generators code. That was not only slow, it
  was also troublesome.
- Started work on transformation caching. Works but needs review/cleanup.


[SVN r15465]
2002-09-20 12:50:44 +00:00
Vladimir Prus
c46c7fdae0 Prevent creating two equivivalent virtual targets. This, in particular,
prevents complining the same source twice with the same properties.
Also allow generators to change source names using patterns.

    * new/generators.jam (generator): Accept name patterns together with
        target types.
        (generator.generated-targets): Use name patterns. Transform generated
        targets with 'virtual-targets.register', to eliminate duplicate
        virtual targets.


[SVN r15302]
2002-09-13 12:19:42 +00:00
Vladimir Prus
556ae33347 Added generators test to the test suite.
[SVN r15269]
2002-09-11 15:56:56 +00:00
Vladimir Prus
23e47181a9 Small fix.
[SVN r15268]
2002-09-11 15:54:39 +00:00
Dave Abrahams
503f434ea3 More cygwin/NT compatibility fixes
[SVN r15267]
2002-09-11 15:40:32 +00:00
Dave Abrahams
f175af9955 Workaround for cywgin/NT build
[SVN r15263]
2002-09-11 14:37:25 +00:00
Vladimir Prus
4950f269d3 Some cleanups. At the same time, allowed several suffixes to target types
(e.g. "cpp" and "cxx").


[SVN r15262]
2002-09-11 14:18:52 +00:00
Vladimir Prus
00be3e6cc4 Added future generators test -- not automated now.
[SVN r14926]
2002-08-16 14:25:22 +00:00
Vladimir Prus
0d6ed73e1d Created a new file 'common.jam' to keep rules not specific to a toolset.
* new/targets.jam: Use 'common' instead of 'utility'.
    * test/project_test3.py: Test that 'clean' works.
    * test/svn_tree.py: Sync with upstream revision 2944. Fix a bug
       which caused empty directory to be treated as file.


[SVN r14886]
2002-08-15 09:29:49 +00:00
Vladimir Prus
0318e1da7c Propagate only propagated properties.
[SVN r14884]
2002-08-15 08:42:08 +00:00
Vladimir Prus
c4ca067b26 More checks for 'use-project' in project root module.
[SVN r14707]
2002-08-06 07:01:19 +00:00
Rene Rivera
99da6d0a8b Add call to project root use-project for testing.
[SVN r14704]
2002-08-06 04:10:55 +00:00
Vladimir Prus
0239d83337 Made names of preserved directories printed by tests.
* test/TestCmd.py (TestCmd.cleanup): Print the names of preserved
        directories. Reset self._dirlist even if directories are preserved.
    * test/BoostBuild.py (Tester.cleanup): New method.


[SVN r14489]
2002-07-17 09:16:37 +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
5f0728f3fa Renamed the 'subproject' rule to 'build-project' in UI.
[SVN r14403]
2002-07-11 09:41:29 +00:00
Vladimir Prus
5dfeb8a97f Recover project_test3 to life.
[SVN r14399]
2002-07-10 16:27:25 +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
668108dda5 Changed reporting of unability to satisfy a build request.
* new/target.jam (main-target.generate): Give a more detailed error
        message when no alternative is found. (basic-target.generate):
        Don't exit with error when requirements can't be satisfied. Just
        return an error string.


[SVN r14393]
2002-07-10 09:06:24 +00:00
Vladimir Prus
62670d109e Forgotten file.
[SVN r14392]
2002-07-10 08:43:11 +00:00
Vladimir Prus
5d5132bfae Implemented main target alternative selection.
* new/targets.jam (main-target.generate): Select the alternative
         based on the list of non-free requirements.
     * new/property.jam (remove-free): New rule, removes free property from
         a property set.


[SVN r14391]
2002-07-10 08:37:31 +00:00