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

77 Commits

Author SHA1 Message Date
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
Vladimir Prus
69a0d57b98 Preliminary QT support.
* new/qt.jam: New file

* new/target.jam:
    (basic-target.generate): Call 'feature.run-action'.


[SVN r16915]
2003-01-16 12:50:08 +00:00
Vladimir Prus
7cddc35739 Fix the stage rule, so that it allows sources with directory names.
* new/stage.jam:
   (stage-target-class): Strip directory names when determining the name of
   the target file.

* test/stage.py: Update the test.


[SVN r16892]
2003-01-13 16:28:47 +00:00
Vladimir Prus
4c14009b18 Fix/improve the symlink rule.
* new/path.jam
    (make-NT, make-UNIX): Convert empty path into "."

* new/project.jam
    (path-relative-to-project-location): New rule.

* new/stage.jam
    (stage-target-class.construct): Use the above rule.

* new/symlink.jam
    (symlink-targets.construct): Call 'set-path' on created
    virtual targets.
    (ln): Attempts at better handling creating symlinks in
    directories.

* new/virtual-target.jam
    (abstract-file-target.actual-name): If explicit path was
    given, include it in grist.

* test/symlink.py: New test.

* test/test_all.py
    Run new test.


[SVN r16889]
2003-01-13 16:09:43 +00:00
Vladimir Prus
b4ef09b91c Refine the virtual-targets/actions UML diagram and add some relevant
comments.


[SVN r16881]
2003-01-13 07:36:32 +00:00
Vladimir Prus
88a1bd33e1 Use more strict checks of suffix->type mapping. Does
allow type for a suffix to change.

* new/type.jam
    (register-suffixes): New rule. ( suffixes + : type )
    (register): Use the above.


[SVN r16848]
2003-01-10 10:02:13 +00:00
Vladimir Prus
7286893ac4 Make prebuilt.py work on NT/MinGW.
[SVN r16847]
2003-01-10 09:40:58 +00:00
Vladimir Prus
48c3bed1d9 Make stage.py work on NT/MinGW.
[SVN r16835]
2003-01-09 16:08:51 +00:00
Vladimir Prus
591cf45573 Changes static lib suffix to "lib" on NT. Use "a" for gcc on all
platforms.


[SVN r16830]
2003-01-09 14:51:45 +00:00
Dave Abrahams
d72ecaaf5d fix DLL suffix for Cygwin
[SVN r16806]
2003-01-08 20:43:49 +00:00
Vladimir Prus
8e665325a7 Making more tests work on windows.
* 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]
2003-01-08 13:05:30 +00:00
Vladimir Prus
c55ca9170f Work on BB14: allow target suffixes to depend
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]
2002-12-25 07:18:34 +00:00
Vladimir Prus
180442b3e7 Bugfix.
* new/builtin.jam: When hardcoding dll paths, check for
     <library> properties too, no only for sources of
     LIB type.


[SVN r16609]
2002-12-15 08:07:12 +00:00
Vladimir Prus
6765a3d478 Introduce the <dll-path> and <hardcode-dll-paths> features.
* 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]
2002-12-11 17:40:48 +00:00
Vladimir Prus
7d739a9d68 Added <linkflags>
[SVN r16582]
2002-12-10 09:03:19 +00:00
Vladimir Prus
19a2c1c584 Replace the "prebuilt" rule with <file> feature.
* 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]
2002-12-10 07:06:43 +00:00
Vladimir Prus
fdc3fa6c54 Improve shared/static linking interface and
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]
2002-12-09 10:02:37 +00:00
Rene Rivera
cc3d8a96d2 Add the <version> feature.
[SVN r16485]
2002-12-03 04:46:57 +00:00
Vladimir Prus
48a19e3feb Initial support for the borland toolset.
* borland.jam: New file. Does not support dll yet.

* builtin.jam: Use "obj" and "lib" extensions on
    Windows for objects and static libraries, respectively.


[SVN r16441]
2002-11-27 10:18:20 +00:00
Vladimir Prus
0afa3aa911 Improve 'flags' and the gcc toolset.
* 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]
2002-11-27 09:35:53 +00:00
Vladimir Prus
b12a902687 Clean ups.
* new/builtin.jam: Made 'toolset' and 'variant'
    features symmentic. Document and fix the 'variant' rule.

* new/virtual-target.jam: Refactoring attempts. Split
   virtual-target into virtual-target and derived from it
   file-target. Eliminate some duplication in setting target
   locations.


[SVN r16437]
2002-11-27 08:37:07 +00:00
Vladimir Prus
9ab8b7c858 Improve/clarify handling of composing generators during
the transformation search. Don't use global
'.had-composing-generator' variable.

* targets.jam (typed-target.construct): Pass 'allow-composing'
   to 'generators.construct'.

* generators.jam (find-viable-generators): New parameter
     'allow-composing'.
  (construct): Better document the 'allow-composing' parameter.
     Pass that parameter to 'find-viable-generators'.


[SVN r16372]
2002-11-22 15:14:27 +00:00
Rene Rivera
27b3036d18 "symlink" targets.
[SVN r16332]
2002-11-20 00:44:43 +00:00
Vladimir Prus
cb7c085b33 Cleanup main target alternative creationg.
* new/targets.jam
    (abstract-target.name): New method.
    (abstract-target.project): New method.
    (main-target-alternative): Simplify. Only register
       main target alternative. Don't to fancy processing
       of arguments.
    (main-target-requirements): New rule.
    (main-target-use-requirements): New rule.
    (main-target-default-build): New rule.


[SVN r16249]
2002-11-15 07:20:23 +00:00
Dave Abrahams
7a7166257e Fix Cygwin PYD extension
[SVN r16237]
2002-11-14 14:50:23 +00:00
Dave Abrahams
577511be1a Attempt to handle derived target types
[SVN r16213]
2002-11-12 14:37:43 +00:00
Vladimir Prus
550103f0f8 Fix a typo.
[SVN r16212]
2002-11-12 14:33:33 +00:00
Vladimir Prus
c0356cb2cb Win32 fixes.
* new/property.jam (translate-paths): Use :T modifier to prevent slash
  direction changing.

* new/common.jam: Use RM variable instead to calling "rm" command.


[SVN r16210]
2002-11-12 07:47:05 +00:00
Vladimir Prus
7272ef9f42 Mimimal support for the 'flags' rule.
* new/toolset.jam: New file.

* new/virtual-target.jam (action.actualize):
    Call 'toolset.set-target-variables'.

* new/gcc.jam: Use flags for compiling.


[SVN r16189]
2002-11-10 15:41:53 +00:00
Vladimir Prus
24d1722d55 First implementation of "stage" and "prebuilt" rule.
* 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]
2002-11-06 10:26:11 +00:00
Vladimir Prus
e147aa0b32 Make some refactoring.
* new/virtual-target.jam (virtual-target): Eliminate 'subvariant'
   attribute. Use properties of action to for the same
   purpose.

* new/testing.jam: Induced changes.
* new/make.jam: Induced changes.
* new/generators.jam: Induced changes.


[SVN r16128]
2002-11-06 08:13:40 +00:00
Vladimir Prus
b165040a22 Added <library-file> and <cxxflags> features.
[SVN r16098]
2002-11-04 17:33:16 +00:00
Vladimir Prus
ca4653d555 Make the 'make' rule work with locally declared generating rules.
[SVN r16097]
2002-11-04 17:28:46 +00:00
Dave Abrahams
00ec50c9f7 Build with Cygwin
[SVN r16000]
2002-10-28 04:22:14 +00:00
Vladimir Prus
d57002fce8 Improve Boost.Python building.
* libs/python/build/Jamfile.v2: Sense the location of python headers. Export
  include paths.

* libs/python/example/Jamfile.v2: New file.

* new/targets.jam: Use refined properties for constructed
    dependency properties

* new/gcc.jam: Handle 'find-library'. Set soname for dynamic libraries.

* new/builtin.jam: New feature 'find-library'.


[SVN r15966]
2002-10-23 12:12:00 +00:00
Dave Abrahams
18b1b42fe2 Some tweaks for getting Boost.Python to build under v2
[SVN r15931]
2002-10-15 12:01:21 +00:00
Vladimir Prus
3f9714482c Change handling of toolset -- it's now assumed that there's default toolset
and, therefore, we don't need to treat toolsets in a special way.


[SVN r15927]
2002-10-15 05:55:29 +00:00
Dave Abrahams
9f8ae55c8f Fix EXE extension for NT and CYGWIN.
[SVN r15920]
2002-10-14 15:47:14 +00:00
Vladimir Prus
e44de6f1b0 Implement dependendency features.
[SVN r15850]
2002-10-10 11:58:41 +00:00
Vladimir Prus
ca18960a9e Implement simple form of use requirements.
* 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]
2002-10-09 11:33:22 +00:00