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

385 Commits

Author SHA1 Message Date
Vladimir Prus
2600f1c728 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
db137f4034 The 'stage' rule now understands the <tag> feauture.
[SVN r26409]
2004-12-03 08:42:05 +00:00
Vladimir Prus
230ec44483 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
9e6512273b 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
7015ebb122 Unbreak stlport for msvc, and for 'hostios' configuration.
[SVN r26396]
2004-12-02 07:35:23 +00:00
Dave Abrahams
b4c6c27664 Make changes at Doug's request.
[SVN r26394]
2004-12-01 16:50:56 +00:00
Vladimir Prus
323da7935d 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
39fb2277a2 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
6b0bc477f9 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
d18e739630 IBM fortran compiler toolset
[SVN r26219]
2004-11-15 16:20:26 +00:00
Vladimir Prus
a21b636efd Fix typo.
Thanks to Van Nguyen for the bug report.


[SVN r26210]
2004-11-15 07:22:47 +00:00
Vladimir Prus
25f6fb91e3 Revive boostbook.
[SVN r26196]
2004-11-13 09:29:55 +00:00
Toon Knapen
7e76d6cd3a toolset definition for gnu fortran compiler
[SVN r26194]
2004-11-12 13:41:45 +00:00
Toon Knapen
00b76d8f50 common settings for all fortran toolsets
[SVN r26193]
2004-11-12 13:41:28 +00:00
Vladimir Prus
28867fecac 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
1c17c6acfd Add comment.
[SVN r26156]
2004-11-09 08:02:43 +00:00
Vladimir Prus
1ccdad1403 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
3d42ee5bea * tools/boostbook.jam
Use generator instead of main target class.


[SVN r26101]
2004-11-03 08:51:06 +00:00
Vladimir Prus
4bfc1df6d5 * 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
22c6f4e4c0 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
194581f65c make fop work on Windows
[SVN r25997]
2004-10-31 08:00:46 +00:00
Vladimir Prus
a12633e324 * tools/qt.jam (directory): New rule.
Patch from Jurgen Hunold.


[SVN r25874]
2004-10-26 14:28:47 +00:00
Vladimir Prus
29985d877e 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
b38c1978d3 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
74e63d39f7 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
84f8d8f3aa Fix <xdll-path> on Solaris linker.
Patch from Andre Hentz.


[SVN r25780]
2004-10-19 06:26:45 +00:00
Vladimir Prus
543fb2d180 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
18b96d9ce7 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
5feff8c90d * 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
f0cf33f57f 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
faecbd8532 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
d6e1f35760 Make <hardcode-dll-paths>true the default.
[SVN r25735]
2004-10-15 13:11:15 +00:00
Vladimir Prus
f2b09edf2c Add support for Comeau.
[SVN r25723]
2004-10-14 08:33:54 +00:00
Vladimir Prus
08bac7ef79 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
593ceeef79 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
Vladimir Prus
da19826066 Add comment
[SVN r25699]
2004-10-13 06:58:35 +00:00
Vladimir Prus
d5703174df Ignore <library>, except for "exe" and "lib" targets.
[SVN r25661]
2004-10-11 12:13:48 +00:00
Vladimir Prus
0ec36774c0 Move 'OPTION' to the end of link action for unix toolset.
In particular, this allows to explicitly link statically to some
libs, using <linkflags> feature. In static libs are specified at
the beginning of the command line, we'll just get link errors.


[SVN r25548]
2004-10-04 07:29:49 +00:00
Vladimir Prus
695e1c4691 * build/generators.jam: (select-alternative): Use string comparison
of virtual targets, not the deep one with the 'str' method. The latter is
very slow
* tools/gcc.jam: Don't declare gcc.link and gcc.link.dll generators, as
they are already inherited from unix.jam. If we declare them, then for
each targets, the whole generation process is run twice. As result,
select-alternative is called for each target, and due to sloweness of
'str' the performance is horrible.

The net result is that running time on one testcase is down from 1580 secs
to less than 10.


[SVN r25512]
2004-10-01 14:59:14 +00:00
Vladimir Prus
c18205e2a9 Update msvc for the recent generators changes.
[SVN r25371]
2004-09-23 10:51:51 +00:00
Vladimir Prus
bf6ef576df Borland toolset no longer crashes in bcc32 binary is not found.
[SVN r25370]
2004-09-23 10:50:49 +00:00
Vladimir Prus
3265b13893 Don't try setting soname on NT. Current binutils seem to ignore the
option, but older report errors.


[SVN r25335]
2004-09-22 11:26:59 +00:00
Vladimir Prus
b18b2c6e0f Don't use -fPIC on windows.
[SVN r25304]
2004-09-21 13:40:38 +00:00
Vladimir Prus
517d81e4bd Don't use -Wl,-Bdynamic and don't duplicate libraries.
[SVN r25296]
2004-09-21 11:43:58 +00:00
Vladimir Prus
0063e9878a Revert the previous behaviour of unit-test: it does not store output into
a file but shows it on the screen. However, the proper setting of run
paths is not done for unit-test too.


[SVN r25035]
2004-09-13 09:32:37 +00:00
Vladimir Prus
8ba8f4eac4 Fix typo
[SVN r25031]
2004-09-13 08:50:11 +00:00
Vladimir Prus
941aedae1f Add some more :W modifiers, so that running msvc from cygwin is possible.
[SVN r25009]
2004-09-10 13:26:00 +00:00
Vladimir Prus
deb051b849 Don't use -fPIC on CYGWIN.
[SVN r25007]
2004-09-10 13:17:46 +00:00
Vladimir Prus
3ca657177f Supress warnings from the 'ar' tool emitted on some platfroms when the
archive is created the first time.


[SVN r25005]
2004-09-10 12:48:18 +00:00
Vladimir Prus
d0cd12f7c5 Handle xdll-path property for sun, so that linker can find all
libraries in a chain. E.g. in app -> a.so -> b.so, we need to pass
the path to b.so to the linker so that it can verify that all symbols
asked by 'app' and 'b.so' are present.


[SVN r25003]
2004-09-10 12:33:42 +00:00