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

2124 Commits

Author SHA1 Message Date
Vladimir Prus
5b79cb74ed Patch from Andre Hentz.
* new/builtin.jam
  - register builtin.response-generator with 'register-linker', to
    take advantange of 'link-action'. Convert <library-path>,
    <find-static-library> and <find-shared-library> into on-target
    variables using toolset.flags.
  (builtin.response-file) Output variables for library path to response
    file.
  (searched-lib-generator.run): Assign 'null-action' instance to the
  generated target, to carry properties. Correct prototype and workaround
  some, as-yet-unknown problem.

* test/searched_lib.py: New test (added by me).


[SVN r18121]
2003-03-28 09:20:58 +00:00
Vladimir Prus
a85fd44bb4 Bugfix: quote filenames in actions.
[SVN r18102]
2003-03-27 15:40:07 +00:00
Vladimir Prus
783a7fe308 Fix path handling on Cygwin. Thanks to Andre Hentz for the patch.
[SVN r18091]
2003-03-26 12:16:01 +00:00
Vladimir Prus
d5e39ef214 Comments/renames.
[SVN r18089]
2003-03-26 09:09:42 +00:00
Rene Rivera
e6472a08c8 Changes to bootstrap and build with the MinGW environment.
* Define the OS as NT as this seems more reasonable than having MINGW as the OS (after all MinGW is the toolset not the OS).
* Add detection of one common install location for MinGW.


[SVN r18073]
2003-03-24 04:34:27 +00:00
Rene Rivera
f063766d8e Minor change to hopefully cover more NT shells.
[SVN r18068]
2003-03-24 00:56:58 +00:00
Dave Abrahams
ebfc61b92f minor UML tweaks
[SVN r18034]
2003-03-20 16:01:53 +00:00
Dave Abrahams
c08dae0d99 Add missing path nativizing.
[SVN r18029]
2003-03-20 13:48:31 +00:00
Dave Abrahams
540b62ec8f Fix usage requirements check to account for conditional properties.
I'm not completely sure this is precisely the right fix:

    a. The error message used to reference a non-existent variable.
    What was it supposed to be?

    b. Should property.remove et. al. be able to cope with conditional
    properties?


[SVN r18023]
2003-03-20 02:41:49 +00:00
Vladimir Prus
b64b4ab884 Prevent 'hardcode-dll-paths' from setting rpath on static libraries.
Thanks to Ali Azarbayejani for the bug report.


[SVN r17999]
2003-03-19 09:00:25 +00:00
Douglas Gregor
0c2d9952f1 Allow '=' in free features specified on the command line
[SVN r17961]
2003-03-17 15:55:28 +00:00
Vladimir Prus
1a64e29a3d Try to reduce the number of include paths.
[SVN r17956]
2003-03-17 09:31:19 +00:00
Vladimir Prus
5f5d281dc1 Better direct request handling.
* new/build-request.jam
  (directly-requested-properties-adjuster): Redo.

* new/targets.jam
  (main-target.generate-really): Adjust properties here.

* new/virtual-target.jam
  (register-actual-name): New rule.
  (virtual-target.actualize-no-scanner): Call the above, to detected bugs,
  where two virtual target correspond to one Jam target name.


[SVN r17955]
2003-03-17 09:27:43 +00:00
Vladimir Prus
4546260675 Refactorings.
* new/build-request.jam
  (directly-requested-properties-adjuster): New class.

* new/targets.jam
  (abstract-target.direct-build-request): Gone.
  (abstract-target.set-property-adjuster): New method.
  (main-target.generate): Use property-adjuster.


[SVN r17954]
2003-03-17 08:36:34 +00:00
Vladimir Prus
05ca30e383 Bufgix. Thanks to Jürgen Hunold for the report.
* new/toolset.jam
  (set-target-variable): Call 'path.native' when setting path features.


[SVN r17953]
2003-03-17 07:58:06 +00:00
Vladimir Prus
110f86cea0 Path handling fixes.
[SVN r17952]
2003-03-17 07:44:33 +00:00
Vladimir Prus
498c59acf9 Refactoring.
[SVN r17915]
2003-03-14 15:26:18 +00:00
Vladimir Prus
6e5234743c Bugfix: allow alternative with no sources and no generated targets.
* new/targets.jam
  (generate): Use a special string to report failure, not just return
      of empty list.
  (basic-target.generate-sources): Accomodate the above change.
  (basic-target.check-for-unused-sources): Allow empty list of targets.

* test/alternatives.py: New test.


[SVN r17906]
2003-03-14 06:58:44 +00:00
Vladimir Prus
0bd6333bab Bugfix.
[SVN r17885]
2003-03-13 10:51:20 +00:00
Vladimir Prus
c3daa69e05 Bugfix: translate path properties even in conditional properties.
* new/property.jam
  (split-conditional): New rule
  (translate-paths): Use the above to handle conditional properties.

* test/path_features.py: New tests.


[SVN r17881]
2003-03-13 10:09:06 +00:00
Vladimir Prus
4cebb350b2 Bugfix.
* new/project.jam
  (project-attributes.set): Pass default build through 'property.make'.


[SVN r17845]
2003-03-12 13:55:11 +00:00
Vladimir Prus
4ac0bc3f06 Fix conditional usage requirements. Thanks to Ali Azarbayejani for bug
report.

* new/property-set.jam
   (property-set.evaluate-conditionals): New parameter 'context'.

* new/property.jam
   (evaluate-conditionals-in-context): Renamed from 'evaluate-conditionals'.
   New parameter 'context'.

* new/targets.jam
   (basic-target.generate): Evaluate conditionals in usage-requirements.

* test/conditionals.py: Add test.


[SVN r17830]
2003-03-12 08:35:54 +00:00
Vladimir Prus
053545f1bd Bugfix.
* new/feature.jam
    (expand-subfeatures): Don't try expanding subfeatures in subfeatures.


[SVN r17815]
2003-03-11 15:26:10 +00:00
Vladimir Prus
6ec769bf7f Change <dependency>, so that it does not really add dependency
unconditionally.

* new/builtin.jam
     (linking-generator.run): New rule. Sets dependency on <library>
     properties.

* new/generators.jam
     (construct): Do not handle usage requirements. Do not handle
     dependency features in any way.

* new/targets.jam
     (main-target.generate-really): Don't create/set subvariant-dg.
     (basic-target.generate): Collect usage requirements. Create/set
     subvariant-dg.

* new/virtual-target.jam
     (subvariant-dg): Take actual build properties together with
     requested ones.


[SVN r17813]
2003-03-11 12:41:39 +00:00
Vladimir Prus
30dd23d718 Bugfixes: prevent two equal property lists generate two different
property-set instances, because of different order.

* new/property-set.jam
    (create): Sort the properties.

* new/feature.jam:
     (minimize): Bugfix.


[SVN r17812]
2003-03-11 12:08:35 +00:00
Dave Abrahams
30a94e32ce bugfix
[SVN r17763]
2003-03-07 15:22:54 +00:00
Vladimir Prus
1bdae210d2 Change default-build handling.
* new/targets.jam
     (main-target.apply-default-build): Combine build request with
     default build.

* new/default_biuld.py: More tests.


[SVN r17756]
2003-03-07 10:06:42 +00:00
Vladimir Prus
49ad964458 Refactorings.
* new/targets.jam
     (main-target.apply-default-build): Call
     'build-request.expand-no-defaults', not 'expand'. The motivation
     is to have defaults added in one place: 'property-set.add-defaults'.
     Also handle the case where default-build is empty.

     (main-target.generate): Apply defaults here. The motivation is
     that if we're using default build, default features should be
     applied here as well, or else we'll get ambiguous alternatives.

     (basic-target.generate): Do not add defaults.


[SVN r17755]
2003-03-07 09:44:20 +00:00
Vladimir Prus
07f6a34e11 Refactoring.
* new/targets.jam
    (main-target.apply-default-build): New rule, extracted from 'generate'.
    (main-target.generate): Use the above.


[SVN r17754]
2003-03-07 09:09:44 +00:00
Vladimir Prus
8d38ee1b89 Make default values of features really work. Now a feature with
default value will always be present in build properties of all
main targets. The change moves adding default value into main
targets --- it was done at the top level.

* new/build-request.jam
    (expand-no-defaults): No longer local.

* new/build-system.jam
    Use 'build-request.expand-no-defaults', not 'expand'.

* new/feature.jam
    (add-defaults): Tolerate conditional properties
        (e.g <variant>debug:<define>DEBUG)

* new/property-set.jam
    (property-set.add-defaults): New method.

* new/targets.jam
    (basic-target.final-properties): Add defaults.

* test/default_features.py: New test.


[SVN r17753]
2003-03-07 08:45:37 +00:00
Vladimir Prus
8e801f7dcd Typo.
[SVN r17752]
2003-03-07 06:47:03 +00:00
Dave Abrahams
e48fb0e74c set-target-variables on multiple targets
[SVN r17744]
2003-03-06 17:25:10 +00:00
Vladimir Prus
b054db5911 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
5b1001ef74 Warn on unused sources.
* new/targets.jam
    (basic-target.check-for-unused-sources): New rule.
    (basic-target.generate): Call the above.

* new/virtual-target.jam
    (traverse): New arguments 'include-roots' and 'include-sources'.

* test/unused.py: New test.


[SVN r17685]
2003-02-28 08:13:38 +00:00
Vladimir Prus
d9e2cafc70 Refactoring.
* new/targets.jam
   (basic-target.final-properties): New rule, extracted from 'generate'.
   (basic-target.generate-sources): New rule, extracted from 'generate'.
   (basic-target.requirements): Gone.


[SVN r17684]
2003-02-28 07:19:31 +00:00
Vladimir Prus
e69e444e5d Cleanups. Default build improvements related to BB10.
* new/targets.jam
    (main-target.default-build): New field.
    (main-target.add-alternative): Don't allow default-build for
       second and subsequence alternatives. Record default build
       from the first one.
    (main-target.generate): Expand build request.
    (main-target.generate-really): New rule, extracted from 'generate'.
    (basic-target.default-build): New rule.
    (basic-target.generate): Don't expand default build.

* test/BoostBuild.py
  Allow to suppress passing toolset when calling run_build_system.
  Some Python 2.1 compatibility fixes.

* test/alternatives.py
  More tests.

* test/default_build.py
  More tests.


[SVN r17683]
2003-02-28 06:36:39 +00:00
Vladimir Prus
8c8f99e835 Refactorings.
* new/targets.jam
    (main-target.select-alternatives): New rule.
    (main-target.generate): Simplify, using the above.

* new/errors.jam
    (error): Do EXIT if --no-error-backtrace is given.

* tests/alternatives.py: New test.


[SVN r17673]
2003-02-27 14:25:26 +00:00
Vladimir Prus
27b1d41529 Tweak debug output.
[SVN r17672]
2003-02-27 13:10:57 +00:00
Vladimir Prus
ae90c56249 Bugfix: nested 'build-project' statements were not handled correctly
when any build request is given on command line. Thanks to
Jürgen Hunold for catching this!


[SVN r17669]
2003-02-27 08:51:37 +00:00
Rene Rivera
31121c4a63 Initial code for modifier generators... Name modifier is implemented, and <version> facet of name modifier to produce correct soname/version-name behaviour.
[SVN r17655]
2003-02-26 06:29:12 +00:00
Rene Rivera
3e4189ef3a Add relative-to to calculate relative paths between dirs.
[SVN r17653]
2003-02-26 06:12:24 +00:00
Dave Abrahams
04a9734952 bugfix
[SVN r17649]
2003-02-25 18:25:29 +00:00
Dave Abrahams
9387fefd60 Better handling of multiple versions
[SVN r17648]
2003-02-25 17:57:41 +00:00
Dave Abrahams
327062fe62 Allow prepare-target rule in toolsets, fix error reporting
[SVN r17647]
2003-02-25 16:25:28 +00:00
Vladimir Prus
6bfc3ddcb8 Tweak the UML diagram to represent two relations between action and
abstract-file-target.


[SVN r17646]
2003-02-25 16:17:53 +00:00
Vladimir Prus
28eebe49f7 A little doc tweak.
[SVN r17635]
2003-02-25 12:44:31 +00:00
Vladimir Prus
55a9769e06 Tweak docs.
[SVN r17628]
2003-02-25 06:33:14 +00:00
Rene Rivera
d8aad444a6 Fix to get docs back after change of UPDATE rule handling.
Minor print and doc changes.


[SVN r17587]
2003-02-22 07:29:59 +00:00
Rene Rivera
a2a8fd3a9d Cleanup.
[SVN r17579]
2003-02-21 18:30:58 +00:00
Rene Rivera
e55c3bc7b6 Removed outdated build scripts.
[SVN r17578]
2003-02-21 17:22:21 +00:00