* 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]