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

950 Commits

Author SHA1 Message Date
Vladimir Prus
7885ee04d1 Register generators inside 'init'. Issue warning of Boost.Book XSL dir
is not found.


[SVN r21972]
2004-01-26 14:48:51 +00:00
Vladimir Prus
58985d4994 Weaken check for unused sources for libraries -- so that we don't warn
the statically linked library bypasses library sources.


[SVN r21960]
2004-01-26 11:32:58 +00:00
Vladimir Prus
26f585d7bf Robustify Boost.Book a little more. Don't register generators unless
'init' rule is called, so that we don't get into half-initialized state.

Revert previous change to doxygen.jam, since importing boostbook now is
harmless.


[SVN r21957]
2004-01-26 11:20:45 +00:00
Vladimir Prus
4c3b5a626f Don't import boostbook. The reason is that importing toolset module makes
Boost.Build believe the module is property loaded, but without 'init' call,
the module will not work. In this case, if doxygen is configured but
boostbook is not, it causes strange errors.

This commit temporary breaks doxygen -- I'm gonne fix that in a minute.


[SVN r21954]
2004-01-26 10:51:54 +00:00
Vladimir Prus
cfaf316d78 Don't crash when BOOST_ROOT is not set. Print interesting things when
--debug-configuration is specified.


[SVN r21953]
2004-01-26 10:29:09 +00:00
Vladimir Prus
0ef095eb21 Don't pass -x flag to gcc when it's know that gcc will select the
same language from the file extension. This works around distcc's dislike
of the -x option: whenever it sees it, it resorts to local compilation.


[SVN r21839]
2004-01-20 12:46:00 +00:00
Vladimir Prus
4ca7977418 Use common.file-creation-command for creating a file signalling
that unit test has executed without errors. Using 'touch' is not
portable to Windows, in general.


[SVN r21837]
2004-01-20 08:16:51 +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
427174eaab 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
a8b18c0799 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
d162d7d854 Remove some obsolete code.
[SVN r21561]
2004-01-09 11:16:49 +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
Vladimir Prus
7659fa4681 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
7e561521af 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
b0e6228616 Eliminate dependency cycle in some cases.
[SVN r21262]
2003-12-15 07:52:30 +00:00
Vladimir Prus
d424dcf8c5 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
8c0ca0e3b8 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
79a6b4d1b6 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
ae7a398ac7 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
138011e9aa Fix doc formatting to comple with ReST.
[SVN r21027]
2003-12-01 06:10:11 +00:00
Vladimir Prus
3f011b059b Workaround hang in --help handling.
[SVN r20980]
2003-11-28 06:42:09 +00:00
Vladimir Prus
333a6148eb Add <dependency> feature.
Patch from Pedro Ferreira.


[SVN r20878]
2003-11-20 13:01:58 +00:00
Vladimir Prus
a3eef9478b * 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
97de4f76c2 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
b0972efc3d * 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
6efa2610e4 * 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
87ff3a75ef * 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
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
a2404f7e90 Fix a typo which broke threading support on gcc.
[SVN r20706]
2003-11-06 16:43:41 +00:00
Vladimir Prus
dd426ba135 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
455935db58 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
2b71595ea8 * tools/rc.jam
Handle LINUX, as well.

  Patch from Jurgen Hunold.


[SVN r20693]
2003-11-06 07:17:53 +00:00
Vladimir Prus
c6fc0b693e * 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
a507f2b266 * 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
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
a6f4a01ce1 Bugfix: RSP files were never recreated.
[SVN r20653]
2003-11-04 17:03:18 +00:00
Vladimir Prus
f9767b2bd7 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
2d9c47730d 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
857d939801 * 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
54916eb642 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
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
bf82713eb3 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
4543f0173f Minor rename.
* build/virtual-targets.jam
  (action.properties): Renamed from 'properties-ps'.


[SVN r20517]
2003-10-28 07:54:35 +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
4f08be9586 Implemented DEF file support.
Patch from Kirill Lapshin.


[SVN r20452]
2003-10-22 06:11:10 +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