'toolset' and 'threading'. The reason is that current link-compatibility
check is way too simple minded and produces bogus warnings. For example,
linking MT library into single threaded application is OK. Likewise, some
toolsets are link-compatible.
We might need a better mechanism, but for now just make the feature
link-compatible. Useless warnings are much worse than failure to report
link-incompatibility in some cases.
[SVN r22949]
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]
Patch from Andre Hentz.
* v2/build/toolset.jam
(inherit-flags): Take an extra parameter describing properties that
should not be inherited.
* v2/build/type.jam
(register-suffixes): Removed local qualifier.
* v2/test/BoostBuild.py
(prepare_suffix_map): Add .dylib if OS is Darwin.
(Tester::_init_): path to bjam on Darwin.
* v2/test/prebuilt.py
make sure $toolset is expanded correctly.
* v2/test/prebuilt/project-root.jam
use $toolset instead of gcc.
* v2/test/prebuilt/ext/project-root.jam
use $toolset instead of gcc.
* v2/test/prebuilt/ext/Jamfile2.jam
handle extension .dylib.
* v2/test/prebuilt/ext/Jamfile2.jam
handle extension .dylib.
* v2/tools/darwin.jam
inline call to toolset.inherit.
filter <debug-symbols>off because -s is not accepted for dlls.
speficy that .dylib files are of type SHARED_LIB.
(actions link): pass -s for static linkage.
(actions link.dll): pass -L flag with path to libraries.
(actions archive): -c inhibits warning.
[SVN r22332]
* test/BoostBuild.py:
(Tester): added a check for SunOS and one for Linux. The default now is
to raise an exception.
Patch from Andre Hentz.
[SVN r21663]
options to the linker.
* tools/builtin.jam
(lib-target-class.compute-usage-requirements): Add xdll-path
properties instead of dll-path. Add them unconditionally,
not only when hardcode-dll-paths is true.
(linking-generator.run): When hardcode-dll-paths is true, add
dll-path property for each xdll-path property.
* tools/gcc.jam
Convert xdll-path properties into -rpath-link option.
[SVN r21560]
* 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]
we need to bypass <library-path> property, as well.
* tools/builtin.jam
(lib-target-class.compute-usage-requirements): The above change.
* build/virtual-target.jam
(subvariant.set-usage-requirements, subvariant.usege-requirements):
New methods.
(abstract-file-target.dg): Don't allow changing the value.
* build/targets.jam
(basic-target.generate): Explicitly don't change value of 'dg'.
[SVN r20655]
* 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]
* new/builtin.jam
(link-action.adjust-properties): Remove.
(linking-generator.generated-targets): Do what adjust-properties used to do.
(linking-generator.run): Convert <library> properties to sources.
(exe-generator): New class.
[SVN r20455]
to Austin Bingham for the bug report.
* new/project.jam
(load): Don't mark project as loaded here.
(load-jamfile): Mark it as loaded here.
[SVN r20439]