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

189 Commits

Author SHA1 Message Date
Vladimir Prus
daf4d58c63 * build/project.jam
(load-parent): New rule, extracted from 'initilize'.
  (load-jamfile): If loading project-root.jam, check for
      Jamfile and load it in the same module.
  (inherit-attributes): Simplify.
  (project-rules.constant, project-rules.path-constant): New rules.

* build/targets.jam
  (project-target.__init__): New paramater 'parent'.
  (project-target.inherit)
  (project-target.add-constant)
  (project-target.intern-constants): New rules

*


[SVN r26251]
2004-11-19 09:51:54 +00:00
Vladimir Prus
fad89f9023 Fix a bug which caused child project to be loaded before parents.
* build/project.jam
  (project-context.use-project): Just record parameters, don't do anything.
  (load): After Jamfile is loaded, use data recorded above to load
   additional projects.
* test/test_all.py: New test.


[SVN r26229]
2004-11-17 13:12:29 +00:00
Vladimir Prus
8f7c1dde3d Restore the gcc specific link generators.
* build/toolset.jam (inherit-generator): New parameter 'generators-to-ignore'.
* tools/gcc.jam: Ignore *link* generators when inheriting. Declare the
  gcc specific generator.
* test/gcc_runtime.py: Test that <link-runtime>static is correctly handled.
  The gcc specific generator is necessary exactly for that reason.


[SVN r25700]
2004-10-13 08:02:23 +00:00
Vladimir Prus
e646c5b8f8 Ignore <library>, except for "exe" and "lib" targets.
[SVN r25661]
2004-10-11 12:13:48 +00:00
Vladimir Prus
692ec14ece Only SystemExit exception from test module indicates failure. Other exceptions
indicator error in the test, so should not be caught.


[SVN r24973]
2004-09-08 14:48:46 +00:00
Vladimir Prus
07f6065611 * build/virtual-target.jam
(from-file): Use full file name as search key, to avoid creating two
  different targets from two different project, which actually correspond
  to the same file.
  (register): Use actual name of the target as key. This again avoid
  the problem with two equivalent targets in two different projects.


[SVN r23173]
2004-06-24 07:26:29 +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
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
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
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
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
37cf2d1afc Another fix for standalone projects.
[SVN r21226]
2003-12-11 14:12:02 +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
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
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
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
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
47aa5f97b7 Fix a bug which caused double loading of Jamfile in some cases. Also,
simplify some things.

* new/project.jam
  (load): Tweak
  (lookup): Remove.
  (find): Simplify.


[SVN r20430]
2003-10-21 05:47:39 +00:00
Vladimir Prus
cb50ed0edd Don't run 'regression' on win, since it's not working there, yet.
[SVN r20336]
2003-10-10 13:18:22 +00:00
Vladimir Prus
d454a26cfe Add tests for regression system.
[SVN r20280]
2003-10-07 13:03:04 +00:00
Dave Abrahams
5ffe27e49e Removed all property-adjuster references and the associated test.
[SVN r20207]
2003-09-29 15:27:47 +00:00
Vladimir Prus
da15d4a222 Fix BB39: project root constants are available also in project-root module
itself.


[SVN r20077]
2003-09-16 14:54:09 +00:00
Vladimir Prus
b8b18394e3 Add 'glob' rule to Jamfile context.
[SVN r19914]
2003-09-04 11:19:03 +00:00
Vladimir Prus
52547317f0 Bugfix. Allow "project-root" to work in Jamfile, again.
Thanks to Peter Schoen for bugreport.

* new/project.jam (initialize): Set 'project-root-module' attribute.
* new/project_root.py: New test.


[SVN r19899]
2003-09-01 14:00:26 +00:00
Vladimir Prus
e92b5c5d23 Fix a hard error whenever a target is skipped. Thanks to
Christopher Currie for spotting this bug.


[SVN r19854]
2003-08-29 08:48:15 +00:00
Vladimir Prus
6165bef6c0 Test toolset inheritance
[SVN r19461]
2003-08-05 06:10:58 +00:00
Vladimir Prus
88d198970c Speed up module imports.
* 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]
2003-08-04 08:45:41 +00:00
Vladimir Prus
630e14381f Bugfix. Keep the same suffix when staging files.
[SVN r19324]
2003-07-28 08:18:20 +00:00
Vladimir Prus
4f30918d6a Patch from Pedro Ferreira to implement <tag> feature.
* new/targets.jam
  (basic-target.tag-name): New rule.
  (basic-target.generate-really): Temporary change self.name

* test/tag.py: New test.


[SVN r19298]
2003-07-24 13:57:45 +00:00
Vladimir Prus
15b0e35204 Python 2.1 compatibility.
[SVN r19255]
2003-07-22 09:02:09 +00:00
Vladimir Prus
72d84b8e49 Bugfix: conditionals properties was misbehaving when there were ":" in
property value.

* new/property.jam
  (evaluate-conditionals-in-context): Don't be greedy in regex.

* test/conditionals3.py: New test.


[SVN r19243]
2003-07-21 07:17:19 +00:00
Vladimir Prus
d14334895e Unbreak STLport and railsys test.
* tools/stlport.jam
  (stlport-target-class.generate): New method.

* test/test_all.py: Run 'railsys' again.


[SVN r19242]
2003-07-21 06:43:28 +00:00
Vladimir Prus
370c9f2bfe Work on BB43 (hang on loop in main target references).
* new/targets.jam
  (start-building, end-building): New rules.
  (main-target.generate): Call the above rules.

* test/loop.py: New test.


[SVN r19241]
2003-07-21 06:21:27 +00:00
Vladimir Prus
1a7819fe34 Fix BB38 (composite properties expansion buggy).
* new/build-request.jam
  (expand-no-defaults): Don't expand composites.

* new/targets.jam
  (main-target.generate): Expand composites.

* test/property_expansion.py: New test.


[SVN r19240]
2003-07-21 05:55:42 +00:00
Vladimir Prus
35aa067d95 Fix a bug which caused non-free feature to appear twice in property set.
[SVN r19239]
2003-07-21 05:34:15 +00:00
Vladimir Prus
d2ad8e70c5 Implement inline main targets.
* new/targets.jam
  (main-target-sources): New rule.
  (abstract-target.rename): New rule
  (project-target.rename-main-target): New rule.


[SVN r18923]
2003-07-03 07:23:26 +00:00
Vladimir Prus
cace6663db Enable 'custom_generator' test.
[SVN r18833]
2003-06-18 06:37:43 +00:00
Vladimir Prus
83394f7ff8 Implement new target-id syntax.
[SVN r18780]
2003-06-11 12:22:03 +00:00
Vladimir Prus
58f0dbb5cd Compile C files with C compiler, not C++. This commit would close BB32, if
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]
2003-06-11 08:40:45 +00:00
Vladimir Prus
ce2b257a16 Bugfix from Michael Stevens: when directory names contained regex
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]
2003-05-28 07:11:50 +00:00
Vladimir Prus
220713e082 Use the previous approach for finding generator's match rank, now
that we have a use case. Add an explanation in code. More details
will be posted to the list.


[SVN r18475]
2003-05-21 05:37:39 +00:00
Vladimir Prus
cd49e5bc38 Unbreak 'searched_lib.py'.
* 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]
2003-05-16 12:57:40 +00:00
Vladimir Prus
b651eb1fee Run 'unused' now that it works.
[SVN r18421]
2003-05-16 12:15:36 +00:00
Dave Abrahams
3bb7442512 * added new builtin tests
* 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]
2003-05-15 22:30:08 +00:00