2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 13:42:14 +00:00
Commit Graph

116 Commits

Author SHA1 Message Date
Vladimir Prus
f7ef4fd7c8 Bugfix.
* 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]
2003-05-22 13:23:40 +00:00
Vladimir Prus
9dda3d8f84 Add/clarify comments.
[SVN r18496]
2003-05-22 11:50:10 +00:00
Vladimir Prus
83ed59d79b Fix a couple of fallouts from the default build change.
* new/make.jam
  (make): Pass 'default-build' in the right position.

* new/targets.jam
  (basic-target): Use empty property-set if no default-build is passed.
  (main-target): Use 'raw' to test property-set for emptines. The string
  emptyness test that use to be there does not works for property-sets.


[SVN r18440]
2003-05-19 10:28:02 +00:00
Vladimir Prus
73d4d13936 More changes to accomodate more strict import semantics and changes
to feature.action.


[SVN r18416]
2003-05-16 11:05:42 +00:00
Dave Abrahams
5eb7ea1192 Note: there is currently a circular dependency between type.jam and
virtual-target.jam.

- Added the missing explicit imports, now that we don't dump
  everything into the global module with qualification

- stopped using the feature-space hack for temporary testing states of
  the feature module.  Instead we move its global variable definitions
  to a temporary module.

- the way feature.action was invoking the rule it was being passed was
  evil.  Now you pass (even local) rules without qualification and
  they are invoked in the source module context.

- module __test__ rules are always executed in a separate module, so
  that their import dependencies can be separated from those of the
  module being tested.

- better reporting of circular module-loading dependencies
  implemented.

- minor changes:

    property-set.jam:  moved .empty initialization to avert circular
    load dependency .

    symlink.jam: fixed global variable naming.


[SVN r18407]
2003-05-15 22:22:13 +00:00
Vladimir Prus
7b739afa86 Add <runtime-debugging>on for debug variant.
* new/feature.jam
  - the above change, plus changed the order of values for
  'runtime-debugging' feature, to accomodate strange behaviour of
  'feature.add-defaults'.


[SVN r18392]
2003-05-14 09:00:22 +00:00
Vladimir Prus
b879aca42b Improve testing.
* new/builtin.jam: Register RSP and IMPORT_LIB types, and associated
  generators unconditionally, since the previous behaviour made using
  the same dir for testing from linux and windows inconvenient:
  "using msvc" was causing errors on linux because RSP type was not defined.


[SVN r18362]
2003-05-08 11:06:30 +00:00
Vladimir Prus
7451c24c2d Bugfixes.
* new/prebuilt.jam : Make 'file' feature into path-feature.
  (prebuilt-file-generator.run): Adjust accordingly.


[SVN r18328]
2003-04-28 14:12:17 +00:00
Vladimir Prus
e540ddb202 Get rid of annoying 'unused source' warning for stage targets.
* new/stage.jam
  (stage-target-class.check-for-unused-sources): Override base method with
  an empty one, since the inherited logic does not make any sense for stage.


[SVN r18295]
2003-04-23 14:17:34 +00:00
Vladimir Prus
a72ae448b9 Bugfix: set NDEBUG for release builds.
* new/builtin.jam: Make <optimization>speed active property and add
  <define>NDEBUG for it.

* test/ndebug.py: New test.


[SVN r18250]
2003-04-14 11:02:34 +00:00
Vladimir Prus
c71794e951 Bugfix: don't create duplicate virtual targets for searched lib with
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]
2003-04-14 05:51:06 +00:00
Vladimir Prus
d631bb61ae Improve library handling.
* new/toolset.jam
  (flags): Add 'unchecked' parameter, too allow declaring flags for other
  modules.

* new/builtin.jam: Don't declare LIBRARY_PATH_OPTION.
* new/borland.jam: Use flags to declare LIBRARY_PATH_OPTION and LIBRARY_OPTION.
* new/msvc.jam: Use flags to declare LIBRARY_PATH_OPTION and LIBRARY_OPTION.


[SVN r18222]
2003-04-09 14:14:57 +00:00
Vladimir Prus
6b9905e42f Cleanups.
* new/builtin.jam
  (searched-lib-generator.run): Tweak the logic and change comments.


[SVN r18214]
2003-04-09 12:03:19 +00:00
Vladimir Prus
a9b0dea855 Declare 'user-interface' feature in 'builtin.jam', not 'msvc.jam', because
it is not msvc-specific -- e.g. borland needs it as well.


[SVN r18213]
2003-04-09 12:01:02 +00:00
Vladimir Prus
a3683f2d46 Patch from Andre Hentz to fix os=cygwin/toolset=msvc combination.
* 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]
2003-04-08 14:14:53 +00:00
Vladimir Prus
929daa9979 Cleanups.
* new/virtual-target.jam
  (virtual-target.path): New abstract method. Added so that derived classes
  always define both 'actualize-location' and 'path'.

* new/builtin.jam
  (searched-lib-target.path): Use empty body.


[SVN r18196]
2003-04-07 09:08:35 +00:00
Douglas Gregor
3797ec4082 Allow passing in the caller to the make rule, so that other modules
(that aren't user projects) can use it to add targets to their callers


[SVN r18137]
2003-03-30 15:24:57 +00:00
Vladimir Prus
f2658f847b Patch from Andre Hentz.
* 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]
2003-03-28 09:20:58 +00:00
Vladimir Prus
221241bec1 Bugfix: quote filenames in actions.
[SVN r18102]
2003-03-27 15:40:07 +00:00
Vladimir Prus
97b175a4f5 Prevent 'hardcode-dll-paths' from setting rpath on static libraries.
Thanks to Ali Azarbayejani for the bug report.


[SVN r17999]
2003-03-19 09:00:25 +00:00
Vladimir Prus
f7b186dbd7 Try to reduce the number of include paths.
[SVN r17956]
2003-03-17 09:31:19 +00:00
Vladimir Prus
fd7553097a Bugfix.
[SVN r17885]
2003-03-13 10:51:20 +00:00
Vladimir Prus
a64edbb6eb Change <dependency>, so that it does not really add dependency
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]
2003-03-11 12:41:39 +00:00
Vladimir Prus
caa491f503 Prevent the 'make' rule perform reduntant builds. Thanks to Kirill Lapshin
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]
2003-03-03 07:47:14 +00:00
Rene Rivera
aab79b0cbf Initial code for modifier generators... Name modifier is implemented, and <version> facet of name modifier to produce correct soname/version-name behaviour.
[SVN r17655]
2003-02-26 06:29:12 +00:00
Dave Abrahams
b52b8ca2e1 bugfix
[SVN r17649]
2003-02-25 18:25:29 +00:00
Vladimir Prus
a798d71470 Implement the 'alias' main target. This closes BB12.
[SVN r17574]
2003-02-21 09:25:43 +00:00
Vladimir Prus
a0a781467a Say goodbye to the composing-generator class.
* new/generators.jam
    (generator): New argument 'composing'
    (run): Use 'self.composing'.
    (convert-multiple-sources-to-consumable-types): Moved from
       composing-generator.
    (composing-generator): Remove

* new/builtin.jam
    (linking-generator, register-linker): Use the argument to generator's
       ctor. Allow to make generator non-composing.

* new/msvc.jam: Make msvc.link generator non-composing.


[SVN r17572]
2003-02-21 08:29:34 +00:00
Vladimir Prus
6c4b7d04ff Stage improvements: exes are now relinked when staging.
* new/generators.jam
  (construct-with-caching): Don't try to cache transformation when source
     target has action (i.e is not plain file).

* new/stage.jam: Try converting stages targets to special staged type.
    Provide STAGED_EXE type.


[SVN r17545]
2003-02-20 10:15:38 +00:00
Vladimir Prus
5b56d78725 Allow additional argument for user rule, with "make" main target.
* 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]
2003-02-20 07:20:52 +00:00
Dave Abrahams
b5b9931295 Kill allow-composing checks
[SVN r17523]
2003-02-19 09:31:43 +00:00
Vladimir Prus
e6fd724bd8 Improve stage rule, allowing to specify location in requirements. This
allows short name for stage targets which install to global locations.


[SVN r17508]
2003-02-18 11:25:04 +00:00
Dave Abrahams
5e9b8905b6 Hack around NT symlink support
[SVN r17496]
2003-02-17 17:52:20 +00:00
Dave Abrahams
af78d8bb8c response file bugfixes
[SVN r17490]
2003-02-17 17:42:49 +00:00
Dave Abrahams
991f2ecde2 untested MSVC toolset
untested response-file support
expanded optimization to speed/space/off

removed module_actions.PYC
validate multiple properties at once.
Fix bugs in type.jam, virtual-target.jam, symlink.py


[SVN r17487]
2003-02-17 15:16:35 +00:00
Vladimir Prus
ad8d438af3 Cleanups.
* new/virtual-target.jam
     (abstract-file-target.extra-grist): Remove
     (null-action): New class.

* new/prebuilt.jam
     (prebuilt-file-generator): Don't use 'extra-grist', use
     'null-action' instread to distinguish different prebuilt targets.


[SVN r17482]
2003-02-17 09:51:06 +00:00
Vladimir Prus
b7e797bf5c Sync with the rest of code.
[SVN r17481]
2003-02-17 09:43:04 +00:00
Vladimir Prus
037684dd8c Bugfix: <search> property on searched lib targets was ignored.
[SVN r17477]
2003-02-17 08:32:45 +00:00
Vladimir Prus
8e8891b7dd Introduce the 'property-set' class, which is used instead of
plain old lists of properties in most cases where we need property sets.

The changes are too numerous and mostly automatic to comment each one.


[SVN r17305]
2003-02-10 14:40:38 +00:00
Vladimir Prus
3a65037585 Check that generators are created with valid source and target types.
* new/builtin.jam
    (lib-generator): Don't pass any source types to base's ctor.

* new/generators.jam
    (generator): Check types.
    (composing-generators): Allow empty list of source types.

* new/type.jam
    (validate): New rule


[SVN r17168]
2003-02-03 10:14:32 +00:00
Vladimir Prus
4c346e6599 Bugfix: now search-lib targets can be used in requirements and
usage-requirements.

* new/builtin.jam
    (link-action.adjust-properties): Rework.

* test/searched_lib.py: New test.


[SVN r17104]
2003-01-31 09:26:25 +00:00
Vladimir Prus
686ad5a7d2 Add a comment as to why searched-lib instances with different properties
won't be confused.


[SVN r17103]
2003-01-31 08:17:05 +00:00
Vladimir Prus
2ba321d252 Bugfix: quoted includes were not handled correctly in some cases.
[SVN r17067]
2003-01-28 15:40:25 +00:00
Vladimir Prus
b67df40f13 Improve handling of features. Now they are composed only of explicitly
specified properties.

* new/builtin.jam: (variant): Don't add defaults.

* new/feature.jam: (minimize): Eliminate defauls, when possible.


[SVN r17066]
2003-01-28 15:20:23 +00:00
Vladimir Prus
ee7abc0343 Overwrite existing symlinks.
[SVN r17064]
2003-01-28 15:13:03 +00:00
Vladimir Prus
f72669f745 Added testing.launcher feature. For example, now unit tests can be
run under valgrind.


[SVN r17063]
2003-01-28 15:12:31 +00:00
Rene Rivera
d813f1f1bf Minor syntax nit.
[SVN r17048]
2003-01-26 18:15:38 +00:00
Vladimir Prus
0f58dd79ab Implement toolset inheritance. Add Kylix toolset. Still need
to inherit "init" rule and test all this.

* new/borland.jam
    Use COMPILER_NAME and LINKER_NAME vars.

* new/generators.jam
    (generator.clone): New method.
    (register-composing): Use 'register'
    (generators-for-toolset): New rule.

* new/property.jam
    (change): New rule

* new/toolset.jam
    (add-flag): New rule
    (flags): Use the above.
    (register): New rule.
    (inherit): New rule
    (inherit-generators,inherit-flags,inherit-rules): New rules.


[SVN r16979]
2003-01-21 16:10:37 +00:00
Dave Abrahams
94776f3501 Handle BB1
[SVN r16967]
2003-01-21 05:03:08 +00:00
Vladimir Prus
d70986a0cb Add "hpp" as another suffix for "H" type.
[SVN r16961]
2003-01-20 13:02:55 +00:00