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

167 Commits

Author SHA1 Message Date
Vladimir Prus
1cfb8168d4 Make use_requirements.py work on NT/Cygwin, by using static lib in one
case.


[SVN r16833]
2003-01-09 15:52:23 +00:00
Vladimir Prus
adde0ddab3 Bugfix.
[SVN r16831]
2003-01-09 15:22:06 +00:00
Dave Abrahams
91e49d27e3 Fixes for Windows/GCC-3.2
[SVN r16815]
2003-01-09 01:29:30 +00:00
Dave Abrahams
5462e75669 Restore crucial missing line
[SVN r16810]
2003-01-09 00:03:25 +00:00
Dave Abrahams
e76fd2da84 Fixed up difference reporting again!
[SVN r16805]
2003-01-08 20:41:29 +00:00
Dave Abrahams
ec6cb7521b Fixed up difference reporting
[SVN r16804]
2003-01-08 20:34:00 +00:00
Dave Abrahams
954b6c9e00 Add verbosity options
[SVN r16803]
2003-01-08 20:11:15 +00:00
Dave Abrahams
a27cca7073 Add missing newlines at EOF
[SVN r16802]
2003-01-08 19:43:09 +00:00
Dave Abrahams
d715898f85 Add missing exe_suffix, dll_suffix
[SVN r16801]
2003-01-08 19:42:47 +00:00
Dave Abrahams
48e67e6a49 Add verbosity command-line option to dump build actions.
[SVN r16800]
2003-01-08 19:42:09 +00:00
Vladimir Prus
77817cb920 Making more tests work on windows.
* new/builtin.jam: The lib suffix in not "obj", even on windows.

* test/BoostBuild.py: (lib_suffix): New variable.
* test/generators_test.py: Use lib_suffix.


[SVN r16793]
2003-01-08 13:05:30 +00:00
Dave Abrahams
2dae35fbcc cleanup
[SVN r16761]
2003-01-05 18:40:55 +00:00
Dave Abrahams
8642622fe0 undo ls hack
[SVN r16760]
2003-01-05 18:40:33 +00:00
Dave Abrahams
5755486169 Use exe_suffix for Cygwin
[SVN r16759]
2003-01-05 18:27:05 +00:00
Dave Abrahams
89046eec23 Compute exe_suffix for Cygwin
Dump recursive directory on certain failures.
Allow List addition


[SVN r16758]
2003-01-05 18:25:58 +00:00
Dave Abrahams
685e43c097 Added missing newline at EOF which was causing warnings and thus test
failures with gcc-3.2


[SVN r16755]
2003-01-05 17:42:37 +00:00
Vladimir Prus
2d57d47b45 Work on BB14: allow target suffixes to depend
on build properties.

* new/builtin.jam
    Introduce "os" feature.

* new/gcc.jam
    Make object suffix "o" on all platforms.

* new/property.jam
    (property-map): New class.

* new/type.jam
    (.suffixes): Global propety-map instance, to
	keep properties->suffix mapping.
    (set-generated-target-suffix): New rule
    (generated-target-suffix): New argument
	'properties'.

* new/virtual-target.jam
    (abstract-file-target.actual-name): Pass
	properties to type.generated-target-suffix.

* test/project_test4.py
    Don't specify expected list of build properties,
    since it's not stable. Check head of error message
    only.


[SVN r16700]
2002-12-25 07:18:34 +00:00
Vladimir Prus
9605d9d16e Another bugfix for dependency properties in use requirements.
* new/targets.jam
    (generate-dependencies): New argument 'extra-properties.
        Add it to properties used for building dependencies.
    (basic-target.generate): Use the above change.


[SVN r16611]
2002-12-15 10:14:11 +00:00
Vladimir Prus
a0c8689ab0 Add a script to facilitate creating of tests from directories.
[SVN r16610]
2002-12-15 10:10:10 +00:00
Vladimir Prus
022ef577da Implement BB7: now there's "build-dir" project
attribute which controls where generated targets are put,
much in the same was as ALL_LOCATE_TARGET.

* new/virtual-target.jam
    (virtual-target.path): Respect build dir.
    (virtual-target.actualize-location): Don't
       compute path, but call call instead.

* new/project.jam
    (initialize): Set default value for 'build-dir'.
    (project-attributes.set): Handle 'build-dir'.

* new/path.jam
    (relative): New rule.

* test/build_dir.py: New test.


[SVN r16589]
2002-12-11 19:01:50 +00:00
Vladimir Prus
cfe61e5caa Introduce the <dll-path> and <hardcode-dll-paths> features.
* gcc.jam: Handle the <dll-path> feature.

* builtin.jam
    New features <dll-path> and <hardcode-dll-paths>.
    (link-action.adjust-properties): Add library's
    full paths to <dll-path> when <hardcode-dll-paths>
    is specified.


[SVN r16588]
2002-12-11 17:40:48 +00:00
Vladimir Prus
8905002026 Bugfix: dependency features in use requirements were mishandled.
* new/targets.jam
    (basic-target.generate): Use 'generate-dependencies'
    for use requirements on this target.

* test/use_requirements.py: More tests.


[SVN r16580]
2002-12-10 07:48:56 +00:00
Vladimir Prus
043e67d51f Bugfix: path features in target requirement were
not translated.

* test/path_features.py: Fix a bug in test.

* new/targets.jam
    (main-target-requirements): Bugfix.


[SVN r16579]
2002-12-10 07:15:33 +00:00
Vladimir Prus
2c841baa2d Replace the "prebuilt" rule with <file> feature.
* new/generators.jam
    (find-viable-generators): Allow target type of
       "*" mean any type. Try generators for "*" first.
       Really ignore generators for base types when
       there's a generator for derived type. Allow
       grist-only element in generators requirements
       to match all values of property.

* new/prebuilt.jam
    (prebuilt-target-class): Remove
    (prebuild-file-generator): New class.


[SVN r16578]
2002-12-10 07:06:43 +00:00
Vladimir Prus
149a9f83ef Improve shared/static linking interface and
introduce separate <link-runtime> feature.
Allow to use the 'lib' rule to declare
libraries that should be searched for.

* builtin.jam: Remove 'shared' features. Introduce
   'link' and 'link-runtime'.
   (searched-lib-target): New class
   (searched-lib-generator): New generator.
   (lib-action): New class, derived from 'action'.
   Handles instances of 'searched-lib-target' in sources.
   Also, moves all libraries from sources to property value,
   so that we can repeat them twice in command line.
   (lib-generator): Generator which uses 'lib-action'.

* generators.jam: Allow empty list of sources everywhere.

* virtual-target.jam (file-target): Split into
   'abstract-file-target' and 'file-target'.
   (abstra
  (action.actualize-sources): New rule. Allows to
  handle the fact that some sources are special,
  and should not become $(>) in action body.


[SVN r16573]
2002-12-09 10:02:37 +00:00
Vladimir Prus
c830f2d90a Better support project requirements with dependency properties
in it. Don't generate all main target into separate subdirectories
in this case.

* new/targets.jam:
    (project-target.reference-properties): New method
    (generate): Moved from basic-target.generate-source
    (generate-dependencies): New rule.

* test/project_dependencies.py: New test.


[SVN r16453]
2002-11-28 08:18:06 +00:00
Vladimir Prus
731f4ee7f7 Improve 'flags' and the gcc toolset.
* gcc.jam: Extend the 'toolset' feature with gcc here.
    Use flags for linking too and eliminate 'link-options'
    rule. Remove empty compile/archive/link/link-dll rules.

* toolset.jam (flags): Document somehow.
     (set-target-variables): Call 'actualize' on values
     of dependency features.


[SVN r16440]
2002-11-27 09:35:53 +00:00
Vladimir Prus
1f02cb3334 Add dummy actions for 'all', so that jam return 0 exit status. It used
to return 0 before because of a bug, but now that the bug is fixed, we
need to change test.jam.


[SVN r16359]
2002-11-21 12:27:38 +00:00
Vladimir Prus
d58cc867f1 Test for composite properties in target references.
[SVN r16347]
2002-11-20 16:38:53 +00:00
Dave Abrahams
8270fed72e Tests for v1 testing
[SVN r16345]
2002-11-20 15:51:53 +00:00
Vladimir Prus
d9b8b467ed Forgotten change.
[SVN r16248]
2002-11-15 07:15:10 +00:00
Vladimir Prus
b6d69f0b88 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
296276a550 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
75230dc75a 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
946edc4ce6 initial commit
[SVN r16122]
2002-11-05 19:56:18 +00:00
Dave Abrahams
2fe349e4b9 Proof-of-concept for testing
[SVN r16108]
2002-11-04 21:57:50 +00:00
Dave Abrahams
9fc2525046 Cygwin compatibility
[SVN r16107]
2002-11-04 21:56:41 +00:00
Vladimir Prus
2adc4a8664 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
bdae1e81eb Honour use-requirements for dependency properties.
[SVN r15964]
2002-10-23 10:39:23 +00:00
Vladimir Prus
16c30bee97 Forgotten file.
[SVN r15852]
2002-10-10 12:20:19 +00:00
Vladimir Prus
e60af004d1 Add more tests.
[SVN r15851]
2002-10-10 12:12:06 +00:00
Vladimir Prus
93ba07f369 Implement dependendency features.
[SVN r15850]
2002-10-10 11:58:41 +00:00
Vladimir Prus
b55dc66bf3 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
ef5eff03d0 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
12518b72c2 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
585b2f713e 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
b2ed2fe8f5 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
43f2565a2d Allow directory part in names of source files.
[SVN r15708]
2002-10-04 13:59:25 +00:00
Vladimir Prus
bba2939592 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
791b5ad620 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