* new/generators.jam
(generator.__init__): Use parallel lists to store prefixes and postfixes
for a name, not mapping with type as a key, since type is not unique.
(generator.generated-targets): Adjust.
[SVN r19990]
Thanks to Peter Schoen for bugreport.
* new/project.jam (initialize): Set 'project-root-module' attribute.
* new/project_root.py: New test.
[SVN r19899]
* jam_src/builtins.c: New builtins IMPORT_MODULE and IMPORTED_MODULES.
jam_src/rules.c: (bindrule): Refactor. (lookup_rule): New function.
* kernel/modules.jam: Make use of IMPORT_MODULE.
[SVN r19422]
rather then only defined on first.
The previous behaviour did not work when there were "default-build" attribute
on project and two alternatives for a main target.
Patch from Michael Stevens.
[SVN r19303]
* new/targets.jam
(project-target.add-alternative): New rule.
(project-target.build-main-targets): New rule.
(project-target.generate, project-target.main-target,
project-target.has-main-target): Call 'build-main-targets'
(project-target.rename-main-target): Remove.
(main-target-sources): Use 'rename', not project.rename-main-target.
(main-target-alternative): Simplify.
* test/inline.py: Test for fix.
[SVN r19245]
* new/builtin.jam
(lib-generator): Remove.
(lib-target-class): New class. Target class is more powerfull then
generator, here.
* new/generators.jam
(construct): New argument 'return-all'.
* bew/property-set.jam
(property-set.add-raw): New method.
[SVN r18917]
not by project attribute. The problem with the previous interface was
that it was not possible to mark target as explicit anywhere else,
such as in helper module which declares target in project module, or
in toolset module.
* new/targets.jam
(project-target.mark-target-as-explicit): New rule
(project-target.targets-to-build): Use self.explicit-targets.
* new/project.jam
(project-attributes.set): Don't allow 'explicit-targets'.
[SVN r18900]
it included MSVC...
* new/toolset.jam:
Allow action names with dots, so that we can set flags for
gcc.compile.c, gcc.compile and gcc and combine those flags.
* tools/gcc.jam: Use 'gcc' for compiling C files. There's still a problem:
'init' rules does not allow to configure name of C compiler. Also, don't
declare flags individually for gcc.link and gcc.link-dll.
* tools/borland.jam: Force C++ compile when needed.
[SVN r18774]
* new/project-root.jam (project-root-context.project): New rule
(find-project-rule): New rule, factored out of 'load' so that it can
be used elsewhere.
* new/project.jam (find): When project is not yet known, try loading
project-root, not only Jamfile.
[SVN r18759]
are communiated via return value of 'abstract-target.generate', not as
attribute of virtual target. The advantage is that we can return usage
requirements, even if no targets were created.
Also, usage requirements is not really attribute of virtual target. If several
virtual targets are created for one main target, the previous code would set
the same usage requirements on all virtual targets.
[SVN r18689]
* new/project.jam
(lookup) Don't support project location in front of "@".
(lookup-with-load): Remove.
(find): New rule.
(find-target): move to...
* new/target.jam
(find): Here. And simplify.
[SVN r18667]
metacharacters, Boost.Build misbehaved.
* new/path.jam
(all-parents): Don't use regex to strip path prefix, use a more robust
approach.
* test/bad_dirname.py: New test.
[SVN r18576]
build-system.jam - moved from tools/build/new to tools/build
boost-build.jam - moved from tools/build/new to tools/build/kernel
bootstrap.jam
errors.jam
modules.jam
test/BoostBuild.py - adjusted for the above modification
test/boost-build.jam
project-root.jam - renamed to "project-roots.jam" to avoid confusion
and conflict with the user's project-root.jam file
project.jam - adjusted for the above renaming
test/project-test1/project-test1.jam
type.jam - broke a circular module dependency
[SVN r18575]
* new/project.jam
(inherit-attribute): New rule, extracted from 'initialize'.
(initialize): Allow 'jamfile' parameter to be empty, in which case
the project is 'standalone'.
[SVN r18544]
they are located. The problem with using the directory name is that we might
want toolset modules to act as project, and directory name is not unique then.
We might even want to declare two projects in the same module.
[SVN r18542]
* new/stage.jam
(stage-target-class.construct): Pass the result via
'virtual-target.register'. I wonder if virtual targets should
be create via 'virtual-target.create' which will invoke
'virtual-target.register' internally. Passing via 'register' was forgotten
in many places.
* test/stage.py: New test.
[SVN r18497]
default build was stored as plain list, and implied properties were not
converted. E.g. we had "debug release", not "<variant>debug <variant>release",
which was assumed.
* new/targets.jam
(main-target, basic-target): Store 'property-set' as default-build
attribute.
(main-target-default-build): Use 'property-set.create-with-validation'.
* new/property-set.jam
(create-with-validation): New rule.
* test/default_build.py: More tests.
[SVN r18436]
translation. Cleaned up indentation and idiomatic use of string.
* index.html - documented recent features including VARNAMES and
DELETE_MODULE
* borland.jam, msvc.jam - use the new :W modifier to simplify
code (but only somewhat)
* BoostBuild.py - ignore MSVC .ilk files under Cygwin and NT
[SVN r18434]
Consequently rolled back the workaround in make_rule.py
* Added new indirect rule invocation module for encoding the module to
invoke a rule from as well as the exact name to invoke it by, and
for subsequent invocation.
* Fixed module __test__ rules so they really do execute in a separate
module. Associated tweaks to __test__ in path.jam
[SVN r18427]
* new/virtual-target.jam
(null-action): Pass '.no-action' as action name, not 'no-action'. The
action name is really dummy, it's not used at all. However, when it does
not include dot, the smart 'action' ctor will assume it's local and prepend
module name to it. The calling module will be 'null-action' instance module,
always unique, and as result, no two targets with null actions will be
equal, as far as 'virtual-target.register' is concerned.
[SVN r18424]
* handle the absence of QT more gracefully
* flush stdout after each test so that emacs shows progress
****** Commented out tests which appear to be failing outside my control ******
[SVN r18410]
* new/targets.jam
(basic-target.generate-source): Separate virtual targets that come from
different sources.
(basic-target.check-for-unused-targets): Warn only if not virtual target
from a given source is comsumed.
[SVN r18403]
* new/virtual-target.jam
(file-target.specific-main-target): Check not only free, but also
dependency properties when deciding if targets is specific to the main
target.
* new/dependency_property.py: New test.
[SVN r18363]
* new/virtual-target.jam
(from-file): Pass target name via "path.make".
(abstract-file-target.actual-name): Pass target name via "path.native".
* test/absolute_sources.py: New test.
[SVN r18324]
the same properties. Thanks to Andre Hentz for finding this bug and
providing the test case.
* new/builtin.jam
(searched-lib-generator.run): Pass the result through
'virtual-target.register'.
* test/searched_lib.py: Add new test.
[SVN r18247]
get os=cygwin/toolset=msvc to pass the tests
* new/msvc.jam
(link): create a CYGWIN-specific version (assumes bash and cygpath)
(archive): convert paths from unix-style to nt-style
(init): use platform-independent paths
* test/dependency-test/foo.jam
add __declspec if CYGWIN and not GCC
[SVN r18224]
* new/builtin.jam: Associate obj and lib extension with OBJ and
STATIC_LIB target types, to handle the above combination. The gcc
toolset overrides these extension explicitly.
* new/msvc.jam
(archive): Use bash syntax on cygwin.
[SVN r18210]
* 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]
* 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]
* new/property.jam
(split-conditional): New rule
(translate-paths): Use the above to handle conditional properties.
* test/path_features.py: New tests.
[SVN r17881]
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]
property-set instances, because of different order.
* new/property-set.jam
(create): Sort the properties.
* new/feature.jam:
(minimize): Bugfix.
[SVN r17812]
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]
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]
* 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]
* 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]
* 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]
* new/build-system.jam: Try to load 'test-config.jam'. If successfull,
don't load site-config.jam/user-config.jam.
* test/BoostBuild.py: Add directory where test is invoked to BOOST_BUILD_PATH,
so that test-config.jam can be dropped to "test" dir.
[SVN r17558]
* new/make.jam
(make): Change name only of the first element in 'generating-rule'
* new/virtual-target.jam
(action.actualize): Pass only first element of action name to
toolset.set-target-variables.
* test/make_rule.py: New test.
[SVN r17543]
with ordinary virtual target.
* new/virtual-target.jam
(abstract-file-target.specific-main-target): New overridable rule.
(abstract-file-target.actual-name): Use the above.
(file-target.specific-main-target): Override, using code from
'compute-extra-path'.
(file-target.compute-extra-path): Remove
(file-target.path): Use 'specific-main-target' directly.
* test/main_properties.py: More tests.
[SVN r17480]
* new/stage.jam:
(stage-target-class): Strip directory names when determining the name of
the target file.
* test/stage.py: Update the test.
[SVN r16892]
* new/path.jam
(make-NT, make-UNIX): Convert empty path into "."
* new/project.jam
(path-relative-to-project-location): New rule.
* new/stage.jam
(stage-target-class.construct): Use the above rule.
* new/symlink.jam
(symlink-targets.construct): Call 'set-path' on created
virtual targets.
(ln): Attempts at better handling creating symlinks in
directories.
* new/virtual-target.jam
(abstract-file-target.actual-name): If explicit path was
given, include it in grist.
* test/symlink.py: New test.
* test/test_all.py
Run new test.
[SVN r16889]
* 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]
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]
* 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]
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]
* 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]
* new/targets.jam
(basic-target.generate): Use 'generate-dependencies'
for use requirements on this target.
* test/use_requirements.py: More tests.
[SVN r16580]
* 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]
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]
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]
* 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]
* 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]
* 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]
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]
* 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]
* 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]
* 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]
* 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]
* targets.jam
(abstract-target.direct-build-request): New rule.
(project-target.direct-build-request): New rule.
(main-target.direct-build-request): New rule.
(main-target.generate): Use data stored by
'direct-build-request' to adjust build properties.
* build-system.jam: Call 'direct-build-request' on project
target in "."
* feature.jam (feature): Don't allow propagated free features.
[SVN r15677]
* new/builtin.jam: Make 'obj' main type.
* new/generators-test/*: Try compiling the same CPP file with
different defines and linking in the same exe.
[SVN r15649]
* jam_src/builtins.c: New builtin SEARCH_FOR_TARGET.
* jam_src/rules.c
(bind_explicitly_located_targets): New function.
(search_for_target): New function.
* jam_src/make.c (make): Call 'bind_explicitly_located_targets()'
immediately on entering.
* jam_src/search.c (call_bind_rule): No longer 'static'.
* new/builtin.jam (c-scanner.process): Real implementation.
* test/dependency_test.py: Really test for dependencies.
[SVN r15646]
* virtual-target.jam (virtual-target.actualize): Accept
'scanner' parameter and create different actual targets
for different values of that parameter.
(virtual-target.includes): Remove.
(binding): New rule
(remember-binding): New rule.
* type.jam (set-scanner): New rule. (get-scanner): New rule.
* scanner.jam: New file.
* class.jam (__init__): Define __name__ in class scopes.
* builtin.jam (c-scanner): New scanner class, associated with CPP
files.
[SVN r15644]
* virtual-target.jam (traverse): New rule, returns a list of
targets, given the graph root.
(subvariant-dg): New class, to keep all targets for a given
subvariant.
(virtual-target.dg): New rule to access subvariant-dg.
(virtual-target.path): New rule
* targets.jam (main-target.generate): Assign subvariant dg to all
created targets.
* builtin.jam (compile-action.adjust-properties): Use subvariant
dg to find all targets, their location, and add those location
to include path.
[SVN r15619]
For example, this would allow compilers to add generated headers into include
path.
* virtual-target.jam (action.adjust-properties): New rule.
(clone-action-template): Don't slice cloned object.
* generators.jam (generator.action-class): New rule, to allow
overriding action class on per-generator basis.
* builtin.jam (compile-action): New class.
(C-compiling-generator): New class.
* gcc.jam: Use C-compiling-generator for gcc. Honor includes.
[SVN r15618]
- Got rid of vectors of vectors in generators code. That was not only slow, it
was also troublesome.
- Started work on transformation caching. Works but needs review/cleanup.
[SVN r15465]
prevents complining the same source twice with the same properties.
Also allow generators to change source names using patterns.
* new/generators.jam (generator): Accept name patterns together with
target types.
(generator.generated-targets): Use name patterns. Transform generated
targets with 'virtual-targets.register', to eliminate duplicate
virtual targets.
[SVN r15302]
* 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]