* BoostBuild.py; Make the matching of content and files be more loose and use pattern globbing of toolset names.
* glob.py/project_glob.py; Rename to avoid collision with builtin Python module.
* all; Update copyrights and license info.
[SVN r35729]
affect the names of the generated targets and only usefull for preventing
V2 from treating two independent targets as target alternatives.
[SVN r32720]
There were two problems:
- 'glob' was using __name__ as the name of the project and not
project.current, so it would search in project root, and not in child
project that inherited project root rules.
- the 'import' that's overrided in project context used __name__ to
restore the value of current project
Thanks to Emil Dotchevski for the bug report.
[SVN r30507]
builtins.{c,h}
Support for the REBUILDS rule
remove unused variable
rules.h
make.c
Support for the REBUILDS rule
make1.c
Support for the REBUILDS rule
Support for recording timing information
Restructured a case statement because it was masking a bug I
introduced.
execcmd.h
execnt.c
execunix.c
Support for recording timing information
Also removed NT-specific stuff from execunix
expand.c
Removed tabs from critical comment
Added tab-width variable setting comment for emacs.
v2/test
rebuilds.py, timedata.py, test_all.py
Tests for REBUILDS and timing.
[SVN r27334]
(load-parent): New rule, extracted from 'initilize'.
(load-jamfile): If loading project-root.jam, check for
Jamfile and load it in the same module.
(inherit-attributes): Simplify.
(project-rules.constant, project-rules.path-constant): New rules.
* build/targets.jam
(project-target.__init__): New paramater 'parent'.
(project-target.inherit)
(project-target.add-constant)
(project-target.intern-constants): New rules
*
[SVN r26251]
* build/project.jam
(project-context.use-project): Just record parameters, don't do anything.
(load): After Jamfile is loaded, use data recorded above to load
additional projects.
* test/test_all.py: New test.
[SVN r26229]
* build/toolset.jam (inherit-generator): New parameter 'generators-to-ignore'.
* tools/gcc.jam: Ignore *link* generators when inheriting. Declare the
gcc specific generator.
* test/gcc_runtime.py: Test that <link-runtime>static is correctly handled.
The gcc specific generator is necessary exactly for that reason.
[SVN r25700]
(from-file): Use full file name as search key, to avoid creating two
different targets from two different project, which actually correspond
to the same file.
(register): Use actual name of the target as key. This again avoid
the problem with two equivalent targets in two different projects.
[SVN r23173]
a couple of cases.
1. On Windows, DLLs are never directly linked to, so they are considered
unused and cause a warning. There used to be special code in
exe-target-class and lib-target-class to supress that warning, but this
failed for unit-test, for example, since main target class for unit test
is not related with exe-target-class. And making yet another main target
class looks ugly.
2. A target specified via project-wide <source> or <library> property is
added to sources for all targets, and cause a warning when it's not used.
However, there are valid cases to ignore such sources. For example
obj a : a.cpp : <optimization>off ;
need to comsume any libraries.
It was not clear how to fix both problems. Further, the only case when I found
the warning to be usefull is when declaring new toolsets, and it that case it
does not add much information compared to --debug-generators output. So, let's
just kill the feature for now.
[SVN r22927]
The used 'CALLER_MODULE' to determine the project where the main target
is to be declared, which did not work if the rule is called from another
module.
Thanks to Zbynek Winkler for the bug report.
* build/project.jam (current): New rule
* test/wrapper.py: New test
* other files: Use 'project.current'.
[SVN r22569]
* tools/builtin.jam
(linking-generator): Move <library> properties to sources in the 'run'
method. This makes the logic usable by everyone who invokes the generator.
(exe-target-class, lib-target-class): Don't do the above.
[SVN r20707]
* build/targets.jam
(basic-target.refined-properties): expand composites in the 'requirements' property-set.
Patch from Paul Lin.
* tests/composite.py: New test.
[SVN r20615]