* 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]
* 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]
* 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]
* 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]
* 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]
* test/TestCmd.py: Cause the names of preserved directories to be
printed.
* test/test_system.html: Document "PRESERVE*" environmental variables
and "pass_test"/"fail_test" methods.
[SVN r14389]
* new/property.jam (make): New rule, constructs property set from
what the user gives. Handles implicit features.
* new/project.jam, new/targets.jam: Use 'property.make'.
[SVN r14370]
* new/project.jam (project-attributes): New class to keep all the
project related data. (attritutes, attribute): New rules to access
the project attributes. (target): New rule to access the project
target for a jamfile module.
(initialize): Store attribute in project-attributes instance.
(project): Moved to jamfile module.
(assign-option): Moved with modifications to project-attributes.get.
* new/targets.jam, new/project-root.jam, new/make.jam,
new/build-system.jam: Induced changes.
[SVN r14362]
* new/project.jam (lookup): Bugfixes. (find-target): Attempt to load
project specified by project id.
Project module rules:
project: Allow empty id.
use-project: New rule.
* new/targets.jam: (basic-target.generate-source): Correct a bug in
separating target id from extra properties.
[SVN r14341]
* new/build-request.jam (expand-with-defaults): New rule
* new/build-system.jam, new/targets.jam: Use 'expand-with-defaults' instead
of 'expand'.
* new/builtin.jam: Define new feature 'threading'.
* test/project_test3.py: Test that feature defaults are applied.
[SVN r14307]
* new/build-request.jam (from-command-line): New rule.
* new/build-system.jam: Get build request from the command line,
expand it and pass to 'generate' rules.
* new/targets.jam: Use targets's properties when computing path.
* test/project_test3.py: Test the above changes.
[SVN r14283]
* new/project-root.jam (load): Really produce an error message when
project root file is not found.
* test/project_test3.py: Test for the error reporting.
[SVN r14280]
* new/targets.jam: Check for duplicate 'basic-target::generate()' calls.
Use better logic to tell is source is another main target or file.
(project-target::has-main-target): New rule.
* new/project.jam (lookup): Fixes. (find-target): Implemented.
* new/make.jam: New file, defines the 'make' rule and associated target
class.
* new/build-system.jam: Import 'make'. Generate virtual targets and
actualize them.
* new/utility.jam: Added "MkDir" rule and actions.
* test/project_test3.py: New test.
[SVN r14249]
* new/targets.jam: Considerably changed.
* new/project.jam: Projects now return project targets via 'target' rule.
Requirements are inherited. Renames 'subinclude(s)' to 'subproject(s)'.
(find-jamfile): Rewritten, which fixes some bugs.
* new/project-root/jam: (print): Sort projects first by they id, which
makes order more predictable.
* test/project-test1.py: Also run test from the 'project-test1' dir.
* test/project-test2.py: New test.
[SVN r13681]
* test/BoostBuild.py (Tester.__init__): New paremeter 'arguments'. Add
BOOST_BUILD_PATH to the command line.
(Tester.set_tree): Make files writable after copying.
(Tester.copy): New method
(Test.read): Open file in read mode.
* test/test_system.html: Documented the above changes. Small cleanups.
* new/test.jam: Remove bootstrap code.
* new/readme.txt: Changed command line for running unit tests.
[SVN r13678]
* property.jam (refine-properties): New rule.
* feature.jam: New feature attribute 'link-incompatible'.
* test.jam: Test the property module.
[SVN r13640]
* new/project.jam (lookup): Require second argument, which specifies
directory, relative to which paths in id should be interpreted.
* test/project-test1.jam: Test for the above change.
[SVN r13636]
* BoostBuild.py
(Tester.expect_nothing): New method.
(Tester.run_build_system): Added 'subdir' argument. Take a nap
after running bjam, so that further touches to files are detected.
* test_system.html
Document the above changes. Document earlier changes to List{}.
Fixed typos.
[SVN r13522]
* regex.jam (split): Change behavour with regard to separators at
the beginning of string.
* os.path.jam (has_parent, parent, join): Allow relative paths to
point upward.
(all_parents): new rule
Added support for unix pathes.
[SVN r13279]
committing in tools/build
Modified Files:
build_system.htm
Documented:
local rules
the RULENAMES rule
the EXPORT rule
the BACKTRACE rule
new IMPORT semantics
-d+12 Dependency Graph Output
Crude Argument Binding
Variable numbers of arguments
jam_src/compile.c
implemented RULENAMES, EXPORT, varargs support, new IMPORT semantics
removed unused variables
jam_src/make1.c
jam_src/hdrmacro.c
removed unused variables
jam_src/jamgram.{c,h,y,yy}
"module local x" does not change module local value of x
if it is already set.
jam_src/lists.[ch]
added list_pop_front()
new/assert.jam new/boost-build.jam
new/build-system.jam new/errors.jam
new/modules.jam new/os.path.jam
beginnings of new build system
test/check-arguments.jam
test/check-jam-patches.jam
test/echo_args.jam
Added tests for recent core modifications; comments
Added Files:
new/feature.jam new/property.jam
new/readme.txt new/sequence.jam
new/test.jam
beginnings of new build system
----------------------------------------------------------------------
[SVN r11789]
Modified Files:
allyourbase.jam build_system.htm new-split.jam
Tag: jam_src
jam_src/Jambase jam_src/compile.c jam_src/compile.h
jam_src/headers.c jam_src/jam.c jam_src/jam.h
jam_src/jambase.c jam_src/jamgram.c jam_src/jamgram.h
jam_src/jamgram.y jam_src/jamgram.yy jam_src/jamgramtab.h
jam_src/lists.c jam_src/lists.h jam_src/makedebugjam.bat
jam_src/modules.c jam_src/modules.h jam_src/newstr.c
jam_src/newstr.h jam_src/parse.c jam_src/parse.h
jam_src/rules.c jam_src/rules.h jam_src/search.c
jam_src/subst.c
No tag
test/check-jam-patches.jam
Added Files:
boost-build.jam
----------------------------------------------------------------------
allyourbase.jam
Fix the way new-split.jam is included, by using $(JAM_VERSION) to detect the
presence of new language features.
build_system.htm
Updated documentation to include core Jam extensions.
jam_src/Jambase
Updated so that the built-in Jambase can be completely overridden based on
JAMBASE, BOOST_ROOT, and BOOST_BUILD_PATH environment variables.
jam_src/compile.{c,h}
Added IMPORT and CALLER_MODULE rules, header legend for profile dump. Moved
regex_compile so it could be used by more functions.
jam_src/headers.c, jambase.c, jamgram.{c,y,yy}, search.c, subst.c
Adjusted for the addition of FRAMEs, which was needed for CALLER_MODULE.
jam_src/jam.c
added JAM_VERSION and started using FRAMEs.
jam_src/jam.h
swapped the -d argument numbers that were used by profiling and parse debugging.
jam_src/lists.{c,h}
Pulled stack frames out of LOL and put them where they belong, in the interpreter.
jam_src/modules.{c,h}
Use strncat instead of strncpy to get predictable behavior.
jam_src/parse.{c,h}, rules.{c,h}
Adjust for FRAMEs, and added a rulename field in the PARSE node to support
profiling with modules.
test/check-jam-patches.jam
Added tests for IMPORT and CALLER_MODULE
[SVN r11427]
Modified Files:
Jambase allyourbase.jam
Tag: jam_src
jam_src/Jamfile jam_src/command.c jam_src/common.mk
jam_src/compile.c jam_src/compile.h jam_src/hash.c
jam_src/hash.h jam_src/jambase.c jam_src/jamgram.c
jam_src/jamgram.h jam_src/jamgram.y jam_src/jamgram.yy
jam_src/jamgramtab.h jam_src/lists.c jam_src/lists.h
jam_src/make1.c jam_src/makedebugjam.bat jam_src/newstr.c
jam_src/newstr.h jam_src/parse.c jam_src/parse.h
jam_src/rules.c jam_src/rules.h jam_src/search.c
No tag
test/check-arguments.jam test/check-bindrule.jam
test/check-jam-patches.jam test/recursive.jam
test/test_nt_line_length.jam
Added Files:
Tag: jam_src
jam_src/modules.c jam_src/modules.h
Removed Files:
Jamfile
----------------------------------------------------------------------
Jambase
Removed obsolete check-arguments rule
allyourbase.jam
Added different split rule definition for new Jam executable when
NEW_BOOST_JAM is set.
Jamfile
removed (this file was flotsam)
jam_src/Jamfile
Added module.c; allowed yyacc to run under NT
jam_src/command.c
jam_src/make1.c
added rule body/action reference-counting
jam_src/common.mk
Added modules.c
jam_src/compile.c
account for rule body/action reference-counting
added "module { ... }, module local..." support
cleaned up code for evaluate_rule
jam_src/compile.h
jam_src/parse.{c,h}
Added module support
jam_src/hash.{c,h}
Added a data parameter to hashenumerate() for flexibility
jam_src/jamgram.{yy,y,c,h}
jam_src/jamgramtab.h
jam_src/lists.{c,h}
Added module support
refactored grammar slightly
jam_src/makedebugjam.bat
removed bogus invocation of yyacc
cleaned up redundant variable settings
jam_src/modules.{c,h} - added
jam_src/rules.{c,h}
added rule body/action reference-counting
module support
free list for SETTINGS
jam_src/search.c
cleaned up a confusing name
test/check-arguments.jam
added copyright notice
made it stand on its own
test/check-bindrule.jam
test/recursive.jam
use new argument-list feature
test/check-jam-patches.jam
tests for:
new SUBST behavior,
"for local <var> in ...",
while loops,
negative indices/slices
module rules and locals
test/test_nt_line_length.jam
commenting and cleanup
[SVN r11411]