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
5ec008ddbc Bugfix: searched library was not found when
exe depended on obj and obj depended on a searched library.

Thanks to Caleb Epstein for the bug report.

* tools/builtin.jam
  (searched-lib-generator.extra-usage-requirements): Remove
  (archive-generator.run): Don't bother passing 'library-path' properties.
  (linking-generator.run): Add propery library-path properties for
    searched libraries.

* tools/unix.jam: Induced changes.

* test/searched_lib.py: New test.


[SVN r26486]
2004-12-10 10:17:56 +00:00
Dave Abrahams
63adbc97f6 Factored html type out of boostbook.jam and in the process created a
modular system for registering new types.


[SVN r26484]
2004-12-10 02:39:57 +00:00
Dave Abrahams
b548ecd010 initial checkin
[SVN r26482]
2004-12-09 21:58:42 +00:00
Vladimir Prus
f408979299 Bugfix. Call 'xsltproc.xslt' instead of just 'xslt'. Now that main
target rule for xslt is automatically defined, this call uses that
rule, not the 'action rule' which is intended to call.

In addition, 'xslt' was called without including xslproc, and xsltproc
was injecting internal rules into global namespace.


[SVN r26481]
2004-12-09 13:52:19 +00:00
Vladimir Prus
afa05ecb1d Improved Boost.Python support. Actually, already committed python.jam
(accidentally), so this commit just removed declarations of PYTHON_EXTENSION
from builtin.jam.


[SVN r26452]
2004-12-06 14:16:22 +00:00
Vladimir Prus
42b9064e1a Don't pass 'main' during type registration in two more cases
[SVN r26450]
2004-12-06 14:03:25 +00:00
Vladimir Prus
4c7ff2913c More type declaration cleanup.
* build/type.jam (register): Remove the 'main' parameter.
* other files: Don't pass the 'main' parameter.


[SVN r26449]
2004-12-06 13:59:51 +00:00
Vladimir Prus
3f608c3e78 Bugfix: <library> was ignored for static linking.
Thanks to Toon Knapen for the bug report.

* tools/builtin.jam
  (archiving-generator.run): Add <library> properties to sources.

* test/library_chain.py: New test.


[SVN r26447]
2004-12-06 09:40:56 +00:00
Vladimir Prus
cb4d3b06ea Supress 'link-compatibility' warning for:
stage a1 : a1.txt : <location>dist ;
  stage a2 : a2.txt : <location>dist <dependency>a1 ;

The problem is that 'a1' is requested with <os>LINUX but the returned target
have <location>dist as the only property, which causes this bogus warning.


[SVN r26421]
2004-12-03 14:30:56 +00:00
Vladimir Prus
bc7ed1a9d5 Handle <dependency> for 'stage'.
* tools/stage.jam
  (copy-file, relink-file): Add stage's dependency properies to
  the staged targets properties, so that <dependency> is copied too.

* test/stage.py: New test.


[SVN r26420]
2004-12-03 14:24:32 +00:00
Vladimir Prus
bbe3df6f23 Add variant/compiler part to the names of installed targets.
[SVN r26419]
2004-12-03 12:35:53 +00:00
Vladimir Prus
83c465b7de Add explicit generator override to save work.
[SVN r26416]
2004-12-03 11:25:02 +00:00
Vladimir Prus
dc64283452 Create symbolic links the <so-version> is specified.
* tools/stage.jam
  (symlink-lib): New rule.
  (stage-shared-linking-generator.run): Use the above to
  create symlinks.


[SVN r26415]
2004-12-03 11:23:13 +00:00
Vladimir Prus
f0fef4524b Don't hardcode '.so' suffix.
* tools/stage.jam
  (stage-shared-linking-generator.run): Don't hardcode 'so' suffix.
* build/virtual-target.jam
  (abstract-file-target.suffix): Compute and return the real suffix
  that will be used. Previously, it would return something only if the
  suffix was explicitly set.


[SVN r26414]
2004-12-03 11:02:56 +00:00
Vladimir Prus
58566b47bd * tools/common.jam (path-variable-setting-command): Allow to refer to
enviroment variables in the list of values. No it's possible to add
  an element to a variable.
* build/project.jam: Remove obsolete test.
* build/toolset.jam (find-property-subset): No longer local,
  so that test can call it.
* test/test.jam: Import 'print' and 'common'.
* util/print.jam: Comment out failing unit test.


[SVN r26413]
2004-12-03 10:46:05 +00:00
Vladimir Prus
d96e80ee0c Cleanup stage rule.
* tools/stage.jam
  (stage-target-class.targets-to-stage): New rule, partly extracted
  from construct, and former 'select-included'.
  (stage-target-class.construct): Cleanup.
* build/virtual-target.jam
  (file-target.path): If <location> feature is present, use the
   value as the path.


[SVN r26411]
2004-12-03 10:12:31 +00:00
Vladimir Prus
ac7eba458e The 'stage' rule now understands the <tag> feauture.
[SVN r26409]
2004-12-03 08:42:05 +00:00
Vladimir Prus
aabded2811 Refactor/improve <tag> support.
* build/targets.jam (generate-realy):
  After applying tag, we used to 'temporary' change self.name,
  which is horrible. How pass the name to 'construct'.

  (construct): New parameter 'name'.

  (tag-name): New rule, extracted from basic-target. This needs to be
  separate rule so that we can call it from 'stage'. Check for a value of
  from '@something' and interpret 'something' as a rule which returns the
  new name.


[SVN r26408]
2004-12-03 08:28:37 +00:00
Vladimir Prus
9fe5de91db Added <so-version> feature, and make stage add the version and relink
shared libraries when needed.

* tools/stage.jam
  (copy-file, relink-file): New rules, extracted from other classes.
  (STAGED_SHARED_LIB): New type.
  (stage-shared-lib-generator): New class


[SVN r26399]
2004-12-02 11:32:07 +00:00
Vladimir Prus
ab892de529 Unbreak stlport for msvc, and for 'hostios' configuration.
[SVN r26396]
2004-12-02 07:35:23 +00:00
Dave Abrahams
f796c2a971 Make changes at Doug's request.
[SVN r26394]
2004-12-01 16:50:56 +00:00
Vladimir Prus
23bca90019 Really allow to configure different versions of STLPort.
Thanks to Reece Dunn for the bug report.


[SVN r26389]
2004-12-01 09:42:06 +00:00
Vladimir Prus
066f260c33 Problem: Long command line problem using msvc toolset on BoostBuild V2
Description: If the number of characters exceeds 2047, the cl command fails.
             Plattform: MSYS shell, VC++ 7.1

Resolution: Using of the response file facility

* tools/msvc.jam
  Change *compile* generators to produce RSP target too.
  Change compile actions to use RSP file
  And compile rules to call common.response-file
* tools/common.jam
  (response-file): Write defines and includes.

Thanks to Johannes Brunen for the patch.


[SVN r26275]
2004-11-23 09:57:33 +00:00
Vladimir Prus
3436d124ca The 'stdlib' feature is no longer link-incompatible, as I generally
don't think link-compatibility check does any good.


[SVN r26270]
2004-11-22 07:52:11 +00:00
Toon Knapen
e5b01d2dff IBM fortran compiler toolset
[SVN r26219]
2004-11-15 16:20:26 +00:00
Vladimir Prus
ba23dabcc2 Fix typo.
Thanks to Van Nguyen for the bug report.


[SVN r26210]
2004-11-15 07:22:47 +00:00
Vladimir Prus
762595b919 Revive boostbook.
[SVN r26196]
2004-11-13 09:29:55 +00:00
Toon Knapen
0163ad7514 toolset definition for gnu fortran compiler
[SVN r26194]
2004-11-12 13:41:45 +00:00
Toon Knapen
5379e5fc67 common settings for all fortran toolsets
[SVN r26193]
2004-11-12 13:41:28 +00:00
Vladimir Prus
40a504ed4f Allow a generator's 'run' method to return additional usage requirements
as the first elements of result. Those usage requirements will be combined
with explicitly specified for the main target.

This is yet another step towards making 'main target classes' unnecessary.

* build/generators.jam
  (try-one-generator): Check if generator returned usage requirements or not.
  (construct): Make sure first element of result is always property set.
  (many other methods): Induced changes

* tools/builtin.jam
  (exe-target-class, lib-target-class): Remove.
  (linking-generator, seached-lib-generator): Compute usage requirements.
  (archiving-generator): New class


[SVN r26192]
2004-11-12 08:11:14 +00:00
Vladimir Prus
db35bd11a1 Add comment.
[SVN r26156]
2004-11-09 08:02:43 +00:00
Vladimir Prus
a832e2bbe0 Make gettext use generator, not main target class.
* tools/gettext.jam: The above change.
* build/generators.jam (construct): Allow a generator to produce a target
  without type.


[SVN r26103]
2004-11-03 09:42:57 +00:00
Vladimir Prus
1ea56cea6c * tools/boostbook.jam
Use generator instead of main target class.


[SVN r26101]
2004-11-03 08:51:06 +00:00
Vladimir Prus
52e3699547 * tools/fop.jam: Cleanup. Accept command, not path, just like other toolsets.
Check for duplicate initialization.


[SVN r26100]
2004-11-03 08:23:04 +00:00
Vladimir Prus
fb138e9ded When 'stage' is used with <traverse-dependencies>on, do not follow the <use>
property, since it's typically used when only headers are used.

* build/virtual-target.jam (subvariant.all-referenced-targets): Return
  the names of properties.
* tools/stage.jam (stage-target-class.collect-targets): Filter out <use>

Thanks to Jurgen Hunold for the bug report.


[SVN r26052]
2004-11-01 16:10:41 +00:00
Aleksey Gurtovoy
531b6ff80b make fop work on Windows
[SVN r25997]
2004-10-31 08:00:46 +00:00
Vladimir Prus
7157685742 * tools/qt.jam (directory): New rule.
Patch from Jurgen Hunold.


[SVN r25874]
2004-10-26 14:28:47 +00:00
Vladimir Prus
6b4df87b7b Don't duplicate flags when two version of 'darwin' or 'intel-linux'
are configured.

* tools/gcc.jam (init-link-flags): New parameter 'toolset'.
* tools/darwin.jam (init): Move flags inheriting out of here
* tools/intel-linux.jam (init): Likewise.


[SVN r25817]
2004-10-21 08:13:34 +00:00
Vladimir Prus
72d8614ab1 Fixes related to init-link-flags
* tools/gcc.jam
   (init): passing $(condition) to init-link-flags
   (init-link-flags): now takes new condition parameter
                      moved common flags out of it
* tools/intel-linux.jam
   (init): moved call to inherit-flags into it because we need to call
           gcc.init-link-flags with the 'condition' parameter.
* tools/darwin.jam
   (init): moved call to inherit-flags into it because we need to call
           gcc.init-link-flags with the 'condition' parameter.

Fixes related to init-link-flags
* tools/gcc.jam
   (init): passing $(condition) to init-link-flags
   (init-link-flags): now takes new condition parameter
                      moved common flags out of it
* tools/intel-linux.jam
   (init): moved call to inherit-flags into it because we need to call
           gcc.init-link-flags with the 'condition' parameter.
* tools/darwin.jam
   (init): moved call to inherit-flags into it because we need to call
           gcc.init-link-flags with the 'condition' parameter.

Patch from Andre Hentz.


[SVN r25816]
2004-10-21 07:39:11 +00:00
Rene Rivera
3425be7fe8 Apply patches from Patrick Mauritz, with some changes, to account for DragonFly, a FreeBSD variant.
[SVN r25782]
2004-10-19 15:12:59 +00:00
Vladimir Prus
86b65da2bb Fix <xdll-path> on Solaris linker.
Patch from Andre Hentz.


[SVN r25780]
2004-10-19 06:26:45 +00:00
Vladimir Prus
9f07c0dc2c Handle the <library> property in the linking-generator, not in
lib-target-class and exe-target-class. This makes the 'unit-test' rule
work with <library>.


[SVN r25768]
2004-10-18 10:10:36 +00:00
Vladimir Prus
b07ed28f61 Make third 'init' parameter for all toolsets be 'options', so use can
write

   using gcc : ... : ... : <cxxflags>foo <linkflags>bar ;

* tools/common.jam (handle-options): The login for setting the common
options.


[SVN r25767]
2004-10-18 09:57:37 +00:00
Vladimir Prus
4190df6260 * common.jam
(check-tool): Try finding both first and the last element. This avoid
  warning both in the case of "distcc g++", and in case of
  '"set FOO=bar &&" como'.
  (get-invocation-command): Returns the user-specified command even if
  it can't be found anywere. This means user specified command will show
  up in the command line, and even if it fails, it's less confusing than
  command line with no compiler name at all.


[SVN r25765]
2004-10-18 06:55:36 +00:00
Vladimir Prus
7e6b8e8424 Changed syntax of 'using gcc', allowing configuration of linker-type
* v2/tools/gcc.jam
    (init): parse the new options and call the new rule.
    (init-link-flags): new rule. Initialize flags based on linker type.
              put back -minpure-text
* v2/test/conditionals.py
     small modification to avoid empty binaries.

Patch from Andre Hentz.


[SVN r25764]
2004-10-18 06:41:50 +00:00
Vladimir Prus
4b8fa1648c Do not hardcode dll paths in libraries. That's not really needed, and
would force us to relink all libraries when staging.

Now that libraries do not hardcode dll paths, add a check that correct
-rpath-link options are added. When staging, we don't hardcode-dll-paths,
and libraries never hardcode dll paths, so if there's a long chain of
libraries, we should add -rpath-link, otherwise the linker won't find
the dynamic libraries and will complain.


[SVN r25756]
2004-10-16 09:31:58 +00:00
Vladimir Prus
6c802afcf2 Make <hardcode-dll-paths>true the default.
[SVN r25735]
2004-10-15 13:11:15 +00:00
Vladimir Prus
9aeeb522ca Add support for Comeau.
[SVN r25723]
2004-10-14 08:33:54 +00:00
Vladimir Prus
17a685e035 Library improvements:
lib png : z : <name>png ;
  lib z : : <name>z ;

now works: if you link to 'png' you'll also link to 'z'.

  lib png : z : <file>png.a ;
  lib z : : <file>z.a ;

now works too. The 'prebuilt.jam' modules which used to handle <file> for
all target kinds is now removed.


[SVN r25703]
2004-10-13 10:46:53 +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