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

242 Commits

Author SHA1 Message Date
Vladimir Prus
9e5bdd213d Use "rm -f" for RM variable on Linux. For now, this does not change much,
but in fugure we can use just $RM inside various actions, instead of testing
for file existance before.

Patch from Michael Stevens.


[SVN r21664]
2004-01-13 09:34:16 +00:00
Vladimir Prus
2742a1f4e7 Instead of don't returning targets which are not of requested type
from generators.construct, return them with 'intermediate' flag.


[SVN r21565]
2004-01-09 11:55:32 +00:00
Vladimir Prus
131cf1eefe Remove some obsolete code.
[SVN r21561]
2004-01-09 11:16:49 +00:00
Vladimir Prus
33b33b839c 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
24699e37b9 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
Vladimir Prus
ede64adbce Allow <include-type> to select staged targets, even
with <traverse-dependencies>off.

Patch from Pedro Ferreira.


[SVN r21322]
2003-12-18 14:54:04 +00:00
Vladimir Prus
3057d9c718 Refactorings.
* tools/stage.jam
  (update-location,construct-special-target,construct-regular-target): New
  methods
  (construct): Rewrite in terms of the above methods.

Patch from Pedro Ferreira.


[SVN r21318]
2003-12-18 06:55:53 +00:00
Vladimir Prus
418dae429a Eliminate dependency cycle in some cases.
[SVN r21262]
2003-12-15 07:52:30 +00:00
Vladimir Prus
7d48ebd981 Pass boundname of target to header scanning rule. This change was stealed
from Matt Armstrong's version of jam. Getting boundname this way is faster
than the way we used to have.

* jam_src/headers.c: The change itself.

* v2/build/scanner.jam
  (hdrrule): Accept third argument.

* v2/build/virtual-target.jam
  (binding, remember-binding): Remove.

* v2/tools/builtin.jam
  (c-scanner.process): Accept and use third argument.

* v2/tools/boostbook.jam: Likewise.


[SVN r21203]
2003-12-10 10:00:20 +00:00
Vladimir Prus
84569b1611 Optimizations.
* build/scanner.jam
  (propagate): New rule, implementing part of functionality 'install' used
  to have.
  (install): Remove some functionality.

* tools/builtin.jam
  (c-scanner.process): Call 'scanner.propagate'. Pass all targets, do not
  loop.

* tools/docbook.jam: Likewise.


[SVN r21202]
2003-12-10 09:28:47 +00:00
Vladimir Prus
3a3b4e7049 Speedup. Add implicit include directories only for targets that
can really be included.

* build/virtual-target.jam
  (subvariant.implicit-includes,all-target-directories,
  compute-target-directories): Accept 'target-type' parameter.

* tools/builtin.jam
  (compile-action.adjust-properties): Only add "include" properties for
  targets of type "H".


[SVN r21117]
2003-12-03 13:13:08 +00:00
Vladimir Prus
cf106daa18 Don't check link compatibility for alias and stage targets, since it makes
no sense for them.


[SVN r21111]
2003-12-03 07:05:47 +00:00
Vladimir Prus
e95f44bffa Fix doc formatting to comple with ReST.
[SVN r21027]
2003-12-01 06:10:11 +00:00
Vladimir Prus
4e9ebe6d49 Workaround hang in --help handling.
[SVN r20980]
2003-11-28 06:42:09 +00:00
Vladimir Prus
7a4f4d6be2 Add <dependency> feature.
Patch from Pedro Ferreira.


[SVN r20878]
2003-11-20 13:01:58 +00:00
Vladimir Prus
26ea0bd963 * tools/msvc.jam
(archive): Delete .lib before adding new files.

Patch from Jurgen Hunold.


[SVN r20800]
2003-11-13 11:04:43 +00:00
Vladimir Prus
5e3a86adf3 Using -R instead of -rpath.
* tools/gcc.jam
   (link): substitute -R for -rpath
   (link.dll): substitute -R for -rpath

Patch from Andre Hentz.


[SVN r20783]
2003-11-11 06:11:47 +00:00
Vladimir Prus
593da1b0f3 * tools/gcc.jam
(link.dll) : -soname is not accepted by solaris LD. Using -h allows
      it to work with GNU LD and solaris LD (and presumably others).

Patch from Andre Hentz.


[SVN r20750]
2003-11-08 09:58:47 +00:00
Vladimir Prus
6b555018fd * tools/msvc.jam
(achive action): Add /NOLOGO switch
  (link, link.dll): Change -nologo to /NOLOGO for consistency.

Patch from Jurgen Hunold.


[SVN r20749]
2003-11-08 09:34:36 +00:00
Vladimir Prus
bebf8ca7d8 * tools/msvc.jam
(link.dll action): Use DEF_FILE.
  (link action): Don't use DEF_FILE.

Patch from Pedro Ferreira.


[SVN r20748]
2003-11-08 09:31:03 +00:00
Vladimir Prus
028df60b79 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
218d38a858 Fix a typo which broke threading support on gcc.
[SVN r20706]
2003-11-06 16:43:41 +00:00
Vladimir Prus
08ed526238 Don't make 'use-interface' propagated, since we don't want to build
two version of library just because it's used by both console and gui
application.

Probably, a better approach would be to make 'user-interface' feature
irrelevant to all targets except for exe, but that requires some design
and coding.

Patch from Brock Peabody.


[SVN r20699]
2003-11-06 07:37:35 +00:00
Vladimir Prus
e0e8d345a4 Incremental improvement to the darwin toolset.
* Set the proper suffix for shared libraries
 * Added C and C++ compile options used in v1:
    -Wno-long-double, -no-cpp-precomp, and -fcoalesce-templates
 * Converted the link.dll rule to use the bundled libtool
 * Added support for linking to frameworks

Patch from Christopher Currie.


[SVN r20695]
2003-11-06 07:32:04 +00:00
Vladimir Prus
f01178607a * tools/rc.jam
Handle LINUX, as well.

  Patch from Jurgen Hunold.


[SVN r20693]
2003-11-06 07:17:53 +00:00
Vladimir Prus
a74edee228 * tools/msvc.jam
Add /INCREMENTAL:NO to linker options when linking exes, not only dlls.
  It was omitted from exes by mistake.


[SVN r20692]
2003-11-06 07:16:10 +00:00
Vladimir Prus
f484ffbbaf * build/virtual-target.jam
(abstract-file-target.creating-subvariant): Renamed from
  'dg', which was meaningless.


[SVN r20657]
2003-11-04 17:26:58 +00:00
Vladimir Prus
7afb7a98ab 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
d01539f02d Bugfix: RSP files were never recreated.
[SVN r20653]
2003-11-04 17:03:18 +00:00
Vladimir Prus
47cca752f5 Refactor the way response files are handled. There are now created by the
rules which create corresponding EXE/LIB targets.

The drawback with the previous approach, where there was a separate generator
for RSP file, was that the list of consumable target types is different,
depending on main target which uses RSP, and it's hard to express this
information.

* tools/builtin.jam
  (response-file): Move to...

* tools/common.jam: Here.

* tools/msvc.jam
* tools/borland.jam
  Split 'link' rule into 'link' and 'link.dll'. Call 'response-file'
  from rules.

* tools/stage.jam
  Fix a bug which cause RSP file to be staged incorrectly.


[SVN r20650]
2003-11-04 16:28:30 +00:00
Vladimir Prus
5d76c84597 Refactorings.
* build/virtual-target.jam
  (clone-action): New rule.

* tools/stage.jam
  (stage-exe-generator.run): Use 'clone-action'.


[SVN r20647]
2003-11-04 13:17:06 +00:00
Vladimir Prus
efe10deb66 * tools/rc.jam
Added the directory of the generated files to the include path,
  allowing files created by other generators to be included by the resource
  script.

Patch from Pedro Ferreira.


[SVN r20614]
2003-11-03 12:23:33 +00:00
Vladimir Prus
059023b970 Support for solaris
* tools/rc.jam
   (resource-compile): on SOLARIS, create empty object

Patch from Andre Hentz.


[SVN r20563]
2003-10-30 07:56:42 +00:00
Vladimir Prus
88783cf4e3 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
5365de8675 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
b970ff8c10 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
5faa183c07 Refactorings.
* build/virtual-target.jam
  (subvariant): Renamed from 'subvariant-dg'.
  (subvariant.created-targets, requested-properties, build-properties,
   sources-usage-requirements): Renamed some methods and added some new ones.

* build/targets.jam
  (basic-target.compute-usage-requirements): Accept 'subvariant' instance.
  This allows derived classes to access all kind of information they'd like,
  without adding terrible number of parameters.


[SVN r20518]
2003-10-28 08:44:44 +00:00
Vladimir Prus
bce9f20c7b Minor rename.
* build/virtual-targets.jam
  (action.properties): Renamed from 'properties-ps'.


[SVN r20517]
2003-10-28 07:54:35 +00:00
Vladimir Prus
e06fd02fd3 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
0ce601c7c4 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
d2a9da07a8 Implemented DEF file support.
Patch from Kirill Lapshin.


[SVN r20452]
2003-10-22 06:11:10 +00:00
Vladimir Prus
31f991df08 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
27255fc93b Grab gcc threading support from V1.
[SVN r20431]
2003-10-21 05:50:33 +00:00
Vladimir Prus
a1b29a83bf Rename <dependency> to <use>.
[SVN r20335]
2003-10-10 12:49:06 +00:00
Vladimir Prus
e498a3c659 Make the 'regression' test case work on windows with gcc.
[SVN r20299]
2003-10-08 05:49:57 +00:00
Vladimir Prus
3f08549a11 Support arguments to 'run'-ed command an input file.
[SVN r20274]
2003-10-07 10:46:34 +00:00
Douglas Gregor
1367b86ed5 Make testsuite building work again
[SVN r20234]
2003-10-01 04:03:21 +00:00
Vladimir Prus
cb8c58b87e First version of regression testing support in V2.
* new/testing.jam: Loots of changes.
* new/virtual-target.jam:
  (action.path): Handle <location-prefix> property.


[SVN r20188]
2003-09-26 07:03:55 +00:00
Vladimir Prus
a6fb42c53c Implement <implicit-dependency> feature.
* new/virtual-target.jam
  (subvariant-dg.implicit-includes): New method.
  (subvariant-dg.__init__): Check for <implcit-dependency>, not all
  dependency features.

* new/builtin.jam
  (compile-action.adjust-properties): Call 'implicit-includes'.


[SVN r20174]
2003-09-24 06:13:01 +00:00
Douglas Gregor
4e1ca184cf Handle doxygen:param properties with equal signs in them
[SVN r20164]
2003-09-22 22:41:29 +00:00