Commit Graph

12124 Commits

Author SHA1 Message Date
Vladimir Prus
7c083f0d2b Optimization: don't use 'dependency graph caching'. Experiments show
it does not help at all, but complicates the code.

* build/generators.jam
  (construct-with-caching): Remove
  (construct-without-caching): Rename to 'construct-really'.

* build/virtual-target.jam:
  (clone-template, clone-action-template): Remove.


[SVN r26544]
2004-12-17 14:38:05 +00:00
Vladimir Prus
d267aafb7b Optimization:
* build/toolset.jam
  Setting variables on targets includes two parts: deciding
  what flags are applicable and applying the flags. The first part requires
  checking property sets and is pretty slow. It's optimised by cacheing.


[SVN r26543]
2004-12-17 13:44:08 +00:00
Vladimir Prus
e24570215f Optimization:
* build/toolset.jam
  Setting variables on targets includes two parts: deciding
  what flags are applicable and applying the flags. The first part requires
  checking property sets and is pretty slow. It's optimised by cacheing.


[SVN r26543]
2004-12-17 13:44:08 +00:00
Vladimir Prus
21aad9f658 Fix typo
[SVN r26532]
2004-12-16 15:35:53 +00:00
Vladimir Prus
28d8b4c46b Fix typo
[SVN r26532]
2004-12-16 15:35:53 +00:00
Vladimir Prus
2aa01c00b9 Fix typo
[SVN r26531]
2004-12-16 14:54:46 +00:00
Vladimir Prus
ded33b09d5 Fix typo
[SVN r26531]
2004-12-16 14:54:46 +00:00
Vladimir Prus
6b91fc0e9f Usage requirements are now propagated all the way up, not only
to direct dependents. The previous behaviour can be confusing and
there are no use cases where the new behaviour will be bad.

It will add more include paths in some cases, but who cares?


[SVN r26528]
2004-12-16 13:02:35 +00:00
Vladimir Prus
5e5c84734d Usage requirements are now propagated all the way up, not only
to direct dependents. The previous behaviour can be confusing and
there are no use cases where the new behaviour will be bad.

It will add more include paths in some cases, but who cares?


[SVN r26528]
2004-12-16 13:02:35 +00:00
Vladimir Prus
1116376707 Fix a regression in dependency tracking. Seems like all "include"
values were ignored since we tried to find <include>XXX element in a
list consisting of a single property-set instance.

* build/virtual-target.jam:
   (action.actualize-source-type): Add new parameter. We were
   using 'properties' which were defined in caller without explicitly
   passing them.
   (action.actualize-sources): New parameter 'property-set'.
   (action.actualy): Pass property set to actualize-sources.

* build/type.jam
  (get-scanner): Accept property-set, not property list.


[SVN r26526]
2004-12-16 12:37:55 +00:00
Vladimir Prus
cde2b788a9 Fix a regression in dependency tracking. Seems like all "include"
values were ignored since we tried to find <include>XXX element in a
list consisting of a single property-set instance.

* build/virtual-target.jam:
   (action.actualize-source-type): Add new parameter. We were
   using 'properties' which were defined in caller without explicitly
   passing them.
   (action.actualize-sources): New parameter 'property-set'.
   (action.actualy): Pass property set to actualize-sources.

* build/type.jam
  (get-scanner): Accept property-set, not property list.


[SVN r26526]
2004-12-16 12:37:55 +00:00
Toon Knapen
d1cfe7b0e7 intel fortran compiler
[SVN r26510]
2004-12-15 08:47:35 +00:00
Toon Knapen
b0aade801a intel fortran compiler
[SVN r26510]
2004-12-15 08:47:35 +00:00
Vladimir Prus
46d4c39af4 Use property-set in more places
[SVN r26487]
2004-12-10 15:49:30 +00:00
Vladimir Prus
f53c70c0df Use property-set in more places
[SVN r26487]
2004-12-10 15:49:30 +00:00
Vladimir Prus
5ec008ddbc Bugfix: searched library was not found when
exe depended on obj and obj depended on a searched library.

Thanks to Caleb Epstein for the bug report.

* tools/builtin.jam
  (searched-lib-generator.extra-usage-requirements): Remove
  (archive-generator.run): Don't bother passing 'library-path' properties.
  (linking-generator.run): Add propery library-path properties for
    searched libraries.

* tools/unix.jam: Induced changes.

* test/searched_lib.py: New test.


[SVN r26486]
2004-12-10 10:17:56 +00:00
Vladimir Prus
ee27fd4ee2 Bugfix: searched library was not found when
exe depended on obj and obj depended on a searched library.

Thanks to Caleb Epstein for the bug report.

* tools/builtin.jam
  (searched-lib-generator.extra-usage-requirements): Remove
  (archive-generator.run): Don't bother passing 'library-path' properties.
  (linking-generator.run): Add propery library-path properties for
    searched libraries.

* tools/unix.jam: Induced changes.

* test/searched_lib.py: New test.


[SVN r26486]
2004-12-10 10:17:56 +00:00
Vladimir Prus
8b1b6a2d02 Expand path.glob comments.
[SVN r26485]
2004-12-10 09:24:59 +00:00
Vladimir Prus
10f05e3dfa Expand path.glob comments.
[SVN r26485]
2004-12-10 09:24:59 +00:00
Dave Abrahams
63adbc97f6 Factored html type out of boostbook.jam and in the process created a
modular system for registering new types.


[SVN r26484]
2004-12-10 02:39:57 +00:00
Dave Abrahams
42f4871b1b Factored html type out of boostbook.jam and in the process created a
modular system for registering new types.


[SVN r26484]
2004-12-10 02:39:57 +00:00
Dave Abrahams
b548ecd010 initial checkin
[SVN r26482]
2004-12-09 21:58:42 +00:00
Dave Abrahams
0e7707514e initial checkin
[SVN r26482]
2004-12-09 21:58:42 +00:00
Vladimir Prus
f408979299 Bugfix. Call 'xsltproc.xslt' instead of just 'xslt'. Now that main
target rule for xslt is automatically defined, this call uses that
rule, not the 'action rule' which is intended to call.

In addition, 'xslt' was called without including xslproc, and xsltproc
was injecting internal rules into global namespace.


[SVN r26481]
2004-12-09 13:52:19 +00:00
Vladimir Prus
5c3471d243 Bugfix. Call 'xsltproc.xslt' instead of just 'xslt'. Now that main
target rule for xslt is automatically defined, this call uses that
rule, not the 'action rule' which is intended to call.

In addition, 'xslt' was called without including xslproc, and xsltproc
was injecting internal rules into global namespace.


[SVN r26481]
2004-12-09 13:52:19 +00:00
Vladimir Prus
d296e2969b Fix a couple of typos noted by Toon.
[SVN r26471]
2004-12-07 11:53:34 +00:00
Vladimir Prus
7cc434fa17 Fix a couple of typos noted by Toon.
[SVN r26471]
2004-12-07 11:53:34 +00:00
Vladimir Prus
61b421a8ad Improve the '--debug-targets' option and rename it to --debug-building.
Now everything is nicely indented.


[SVN r26470]
2004-12-07 11:46:45 +00:00
Vladimir Prus
61f59a5b0f Improve the '--debug-targets' option and rename it to --debug-building.
Now everything is nicely indented.


[SVN r26470]
2004-12-07 11:46:45 +00:00
Vladimir Prus
2f73272319 Make use of USER_MODULE and NEAREST_USER_LOCATION to optimize V2.
[SVN r26467]
2004-12-07 10:31:02 +00:00
Vladimir Prus
f5231eba0f Make use of USER_MODULE and NEAREST_USER_LOCATION to optimize V2.
[SVN r26467]
2004-12-07 10:31:02 +00:00
Vladimir Prus
2698cc5abb New builtins USER_MODULE and NEAREST_USER_LOCATION. V2 changes and
explanations are coming later.


[SVN r26466]
2004-12-07 10:21:25 +00:00
Vladimir Prus
49aa05d3b4 New builtins USER_MODULE and NEAREST_USER_LOCATION. V2 changes and
explanations are coming later.


[SVN r26466]
2004-12-07 10:21:25 +00:00
Vladimir Prus
afa05ecb1d Improved Boost.Python support. Actually, already committed python.jam
(accidentally), so this commit just removed declarations of PYTHON_EXTENSION
from builtin.jam.


[SVN r26452]
2004-12-06 14:16:22 +00:00
Vladimir Prus
988802a0ab Improved Boost.Python support. Actually, already committed python.jam
(accidentally), so this commit just removed declarations of PYTHON_EXTENSION
from builtin.jam.


[SVN r26452]
2004-12-06 14:16:22 +00:00
Vladimir Prus
6f7fbb6aab Clarify main rule/type declaration
[SVN r26451]
2004-12-06 14:07:55 +00:00
Vladimir Prus
bedd7e8ac5 Clarify main rule/type declaration
[SVN r26451]
2004-12-06 14:07:55 +00:00
Vladimir Prus
42b9064e1a Don't pass 'main' during type registration in two more cases
[SVN r26450]
2004-12-06 14:03:25 +00:00
Vladimir Prus
648b30b73c Don't pass 'main' during type registration in two more cases
[SVN r26450]
2004-12-06 14:03:25 +00:00
Vladimir Prus
4c7ff2913c More type declaration cleanup.
* build/type.jam (register): Remove the 'main' parameter.
* other files: Don't pass the 'main' parameter.


[SVN r26449]
2004-12-06 13:59:51 +00:00
Vladimir Prus
6155a88116 More type declaration cleanup.
* build/type.jam (register): Remove the 'main' parameter.
* other files: Don't pass the 'main' parameter.


[SVN r26449]
2004-12-06 13:59:51 +00:00
Vladimir Prus
cf10af6f1a Declare a main target rule for every registered type.
* build/type.jam (register): The above change.


[SVN r26448]
2004-12-06 09:59:36 +00:00
Vladimir Prus
94e61681f1 Declare a main target rule for every registered type.
* build/type.jam (register): The above change.


[SVN r26448]
2004-12-06 09:59:36 +00:00
Vladimir Prus
3f608c3e78 Bugfix: <library> was ignored for static linking.
Thanks to Toon Knapen for the bug report.

* tools/builtin.jam
  (archiving-generator.run): Add <library> properties to sources.

* test/library_chain.py: New test.


[SVN r26447]
2004-12-06 09:40:56 +00:00
Vladimir Prus
990560fbab Bugfix: <library> was ignored for static linking.
Thanks to Toon Knapen for the bug report.

* tools/builtin.jam
  (archiving-generator.run): Add <library> properties to sources.

* test/library_chain.py: New test.


[SVN r26447]
2004-12-06 09:40:56 +00:00
Vladimir Prus
cb4d3b06ea Supress 'link-compatibility' warning for:
stage a1 : a1.txt : <location>dist ;
  stage a2 : a2.txt : <location>dist <dependency>a1 ;

The problem is that 'a1' is requested with <os>LINUX but the returned target
have <location>dist as the only property, which causes this bogus warning.


[SVN r26421]
2004-12-03 14:30:56 +00:00
Vladimir Prus
0656ab2818 Supress 'link-compatibility' warning for:
stage a1 : a1.txt : <location>dist ;
  stage a2 : a2.txt : <location>dist <dependency>a1 ;

The problem is that 'a1' is requested with <os>LINUX but the returned target
have <location>dist as the only property, which causes this bogus warning.


[SVN r26421]
2004-12-03 14:30:56 +00:00
Vladimir Prus
bc7ed1a9d5 Handle <dependency> for 'stage'.
* tools/stage.jam
  (copy-file, relink-file): Add stage's dependency properies to
  the staged targets properties, so that <dependency> is copied too.

* test/stage.py: New test.


[SVN r26420]
2004-12-03 14:24:32 +00:00
Vladimir Prus
6f86fbc1f4 Handle <dependency> for 'stage'.
* tools/stage.jam
  (copy-file, relink-file): Add stage's dependency properies to
  the staged targets properties, so that <dependency> is copied too.

* test/stage.py: New test.


[SVN r26420]
2004-12-03 14:24:32 +00:00
Vladimir Prus
bbe3df6f23 Add variant/compiler part to the names of installed targets.
[SVN r26419]
2004-12-03 12:35:53 +00:00