2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00
Commit Graph

419 Commits

Author SHA1 Message Date
Vladimir Prus
9e5dbba552 Update testing jam to the same logic for running exes as V1 uses.
[SVN r23066]
2004-06-09 13:40:25 +00:00
Vladimir Prus
c5d658939b Update tests to recent unit-test changes
[SVN r23000]
2004-06-02 14:19:16 +00:00
Vladimir Prus
29f34eb193 Remove 'link-incompatible' attribute from some feature, most notable
'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]
2004-05-27 07:39:17 +00:00
Vladimir Prus
33b864e88e Don't run library_order.py on Windows, since the test makes no sense there,
does not work, and can't be easily fixed.


[SVN r22933]
2004-05-26 10:59:48 +00:00
Vladimir Prus
2eec4041cb Minor fixes.
[SVN r22930]
2004-05-26 10:52:11 +00:00
Vladimir Prus
79cd3623f4 Remove check for 'unused sources'. The check causes bogus warnings in at least
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]
2004-05-26 09:57:03 +00:00
Vladimir Prus
f9b7313ca8 Allow directory names in arguments in 'glob'.
[SVN r22800]
2004-05-12 08:50:04 +00:00
Vladimir Prus
d6c9b302a0 Make the 'glob' rule in the project scope to operate relatively to
the 'source-location', not project location.

Thanks to Johannes Brunen for the bug report.


[SVN r22799]
2004-05-12 07:38:48 +00:00
Vladimir Prus
65d0021707 Don't import toolsets in project-root.jam
[SVN r22798]
2004-05-12 07:11:53 +00:00
Vladimir Prus
6e10fa5525 Introduce the <source> feature and make <library> work in the same way
as <source>.


[SVN r22570]
2004-03-31 08:02:59 +00:00
Vladimir Prus
12d08a7b73 Bugfix: the main target rules did not work unless called from Jamfile.
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]
2004-03-31 06:53:56 +00:00
Vladimir Prus
2dd280cbb6 Improve the algorithm for computing build properties.
[SVN r22542]
2004-03-22 08:10:42 +00:00
Vladimir Prus
b775145d8f Darwin improvements.
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]
2004-02-20 08:51:33 +00:00
Vladimir Prus
cd17918331 Revert latest commit. The test fails without ordered properties, and those
can't be finished right away.


[SVN r22282]
2004-02-16 08:49:48 +00:00
Vladimir Prus
2d883c64d5 Optimize library ordering by native rules.
[SVN r22281]
2004-02-16 08:30:13 +00:00
Vladimir Prus
0da0a2e3a4 Disable order-sensitive properties for a while. They cause performance
degradation that should be investigated.


[SVN r22145]
2004-02-03 08:36:46 +00:00
Vladimir Prus
81530cba02 Fix typo
[SVN r22135]
2004-02-02 13:27:46 +00:00
Vladimir Prus
ae5e7922d0 Revive project_test1.py.
[SVN r22133]
2004-02-02 13:17:41 +00:00
Vladimir Prus
93c3c932e2 Instroduce order-sensitive properties.
* build/feature.jam: New feature attribute 'order-sensitive'.

* jam_src/modules/property-set.c: (property_set_create): Don't sort
  order-sensitive attributes.


[SVN r22132]
2004-02-02 13:12:30 +00:00
Vladimir Prus
9034f3ba61 First version of proper library ordering for gcc.
[SVN r22079]
2004-01-30 14:10:24 +00:00
Vladimir Prus
2078bed239 * test/test_all.py
Don't stop at the first failure, try to move further.

  Patch from Andre Hentz, with some tweaks by myself.


[SVN r21724]
2004-01-14 07:20:49 +00:00
Vladimir Prus
a3ac522cd1 Improve NDEBUG handling. Specify <define>NDEBUG as part of <variant>release,
instead of setting it on when there's <optimization>speed. Also, now we
don't use active features at all.


[SVN r21666]
2004-01-13 10:18:09 +00:00
Vladimir Prus
21f0722dfa Added support for testing on solaris:
* 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]
2004-01-13 09:24:16 +00:00
Vladimir Prus
1baab343b9 Unbreak searched_lib.py and library_chain.py. Pass proper -rpath-link
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]
2004-01-09 10:50:07 +00:00
Vladimir Prus
3086648616 Fix BB65: includes of the form
# include "a.h"

(note the space), were not considered during dependency scanning.


[SVN r21541]
2004-01-08 08:00:00 +00:00
Rene Rivera
4306e24d92 Fix tabs in file.
[SVN r21399]
2003-12-26 23:26:49 +00:00
Vladimir Prus
37cf2d1afc Another fix for standalone projects.
[SVN r21226]
2003-12-11 14:12:02 +00:00
Vladimir Prus
860db52c28 Fix a couple of bugs with absolute filesnames.
[SVN r21225]
2003-12-11 13:46:11 +00:00
Vladimir Prus
a051902d37 Forgotten change.
[SVN r21197]
2003-12-10 07:55:01 +00:00
Vladimir Prus
771ef2230d When build directory is specified via 'build-dir' project attribute,
don't add 'bin' to the path.

Patch from Zbynek Winkler.


[SVN r21195]
2003-12-10 06:39:27 +00:00
Rene Rivera
4a0924d91f Fix broken links.
[SVN r21163]
2003-12-06 16:17:39 +00:00
Vladimir Prus
49adf0f54e Remove tabs.
[SVN r21112]
2003-12-03 07:56:28 +00:00
Vladimir Prus
e4fb41995a Fix BB58: the unit-test rule was ignoring <library> property.
* 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]
2003-11-06 16:46:29 +00:00
Vladimir Prus
20c1e93a40 Fix a bug with searched libraries. When they are bypassed by static library,
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]
2003-11-04 17:14:29 +00:00
Vladimir Prus
abd7908cfc Add a test for linking a libary to library. This revealed some bug, and
in fact, caused rsp files refactoring comitted previously.


[SVN r20651]
2003-11-04 16:40:45 +00:00
Vladimir Prus
9e371b3f34 Add forgotten file.
[SVN r20645]
2003-11-04 13:07:39 +00:00
Vladimir Prus
0bf53f0cf6 Remove obsolete tests.
[SVN r20634]
2003-11-04 10:07:32 +00:00
Vladimir Prus
acadbf896a Fix the bug that compsite properties in the 'requirements' attribute are not expanded.
* 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]
2003-11-03 15:19:36 +00:00
Vladimir Prus
dc2b77511d Put my test config here, so that I can run the entire release_procedure.txt
on all toolsets.


[SVN r20542]
2003-10-29 11:31:02 +00:00
Vladimir Prus
58ffd92d48 Allow BoostBuild.py to find bjam both in parent directory (for releases)
and in parent's parent directory (for CVS testing).


[SVN r20540]
2003-10-29 11:18:47 +00:00
Vladimir Prus
3f70a26a20 Allow the 'stage' rule to traverse dependencies.
* build/virtual-target.jam
  (subvariant.__init__): New parameter 'sources'.
  (subvariant.all-referenced-targets): New method.

* build/targets.jam
  (basic-target.create-subvariant): New parameter 'sources'.

* built/type.jam
  (is-subtype): New rule.

* tools/stage.jam
  (stage-target-class.construct): Traverse dependencies when requested.
  (stage-target-class.collect-targets): New method.


[SVN r20534]
2003-10-29 06:08:44 +00:00
Vladimir Prus
583bf9fe87 Make 'regression.py' work with msvc.
* tools/builtin.jam
  (exe-target-class.compute-usage-requirements): Pass <dll-path> properties
  as usage requirements.

* tools/testing.jam
  (capture-output): Handle <dll-path> properties.

* tools/common.jam
  (path-variable-setting-command): New rule.


[SVN r20522]
2003-10-28 12:16:10 +00:00
Vladimir Prus
466105e97d Make library target pass <dll-path> properties it got from
usage requirements of sources. Add a test for the new behaviour.


[SVN r20521]
2003-10-28 10:05:59 +00:00
Vladimir Prus
83f22eb83e Fix BB54: the 'alias' rule was not passing usage requirements of the sources.
* build/alias.jam
  (alias-target-class.compute-usage-requirements): New method.


[SVN r20519]
2003-10-28 08:50:58 +00:00
Vladimir Prus
b2b6e2769b Simplify target paths.
* build/targets.jam
  (project-target.reference-properties): Remove.

* build/virtual-target.jam
  (abstract-file-target.specific-main-target,
   file-target.specific-main-target): Remove.


[SVN r20516]
2003-10-28 07:46:40 +00:00
Vladimir Prus
236fc77725 Accomodate new directory layout.
[SVN r20503]
2003-10-27 07:14:21 +00:00
Vladimir Prus
b949771e65 Work-in-progress on better library handling.
* 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]
2003-10-22 16:18:08 +00:00
Vladimir Prus
d88803f3cb Fix a bug in the "stage" rule. It was changing target suffix in some cases.
Thanks to Peter Steiner for bug report.


[SVN r20454]
2003-10-22 16:12:38 +00:00
Vladimir Prus
07e1e527a3 Handle hardcode-dll-paths a little bit differently.
* new/targets.jam
  (basic-target.compute-usage-requirements): Add second parameter 'targets'.

* new/builtin.jam
  (lib-target-class.compute-usage-requirements): Add proper <dll-path>
  properties when <hardcode-dll-paths> in in properties.

  (lib-target.adjust-properties): Don't handle <hardcode-dll-paths>.


[SVN r20441]
2003-10-21 10:44:06 +00:00
Vladimir Prus
a5e699ac5c Fix a problem with 'use-project' which refers to child project. Thanks
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]
2003-10-21 09:24:47 +00:00