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

2689 Commits

Author SHA1 Message Date
Toon Knapen
7bebc62a37 compiler driver for fortran on HPUX
[SVN r29368]
2005-06-02 08:34:04 +00:00
Vladimir Prus
3994b92560 Report locations of user/site config files with --debug-configuration.
[SVN r29367]
2005-06-02 08:10:43 +00:00
Vladimir Prus
7da553e237 Add support for Whale/Dolphin parser/lexer generators.
The toolsets are not very common, but:
1. I use them.
2. I've tied to maintaining this outside V2 CVS.
3. The toolset file is small.


[SVN r29366]
2005-06-02 08:04:40 +00:00
Vladimir Prus
15375bb9a2 Finally fix darwin's -fcoalesce-templates logic.
Patch from Daniel Heck.


[SVN r29365]
2005-06-02 07:46:25 +00:00
Vladimir Prus
e204581ba3 Fix typesetting problem. There were two adjacent <unlink> elements and
docbook would render them adjacent (without any spaces), no matter what I
try. So, I've just made the first ulink into a regular text.


[SVN r29364]
2005-06-02 07:32:57 +00:00
Vladimir Prus
c993a09d6f Quote the '&' symbol.
[SVN r29363]
2005-06-02 07:28:19 +00:00
Vladimir Prus
3e45b39bc5 Improve "linking" of libraries into static libraries.
When a library is present in sources of a static library, return it
to dependents via usage requirements, not by adding it to the list
of created targets.


[SVN r29362]
2005-06-02 07:19:11 +00:00
Vladimir Prus
7b2749353b Refactor generators a bit.
* If a generator was given a source it could not handle, it used to return
  that source together with generated targets. This was nice for some use
  cases, but no very nice for others, and this behaviour could not be turned
  off. One use case where it worked bad was:

      lib plugin : plugin.cpp helper ;
      lib helper : helper.cpp ;

  On windows, 'plugin' would link to the 'import library' and pass the DLL
  target though. So, when installing 'plugin', we'd also install 'helper.dll',
  and it was not possible to do anything about it.

* If we asked generators.construct to produce sources of type CPP,
  and the selected generator produced both targets of type CPP, and of
  some other type, we'd try again to convert those other targets to CPP.
  This simply complicated the logic for no good reason.

* Most generator function had 'multiple' parameter, which function
  was long forgotten by anybody.

As a bit of history, I believe some of the above decisions were due to a
certain use case:

          CPP <------- WHL
                          \
                            WD
                          /
          CPP <------- DLP

Here, a source file is converted to two targets with one command, and each
produced file is converted to CPP. Our generators search would notice that
there are two generators for CPP: the WHL->CPP and DPL->CPP
generators. Neither is better that the other so both are tried, and produce
(CPP, DPL) and (CPP, WHL) pairs of targets. To avoid reporting an ambiguity,
we'd try to convert, DLP to CPP and WHL to CPP, do it successfully, notice
that produced targets are the same and decide that there's no ambiguity.

However, this is rather complex logic for a relatively rare case. It can
be handled by writing another WD->CPP generator that would handle
disambiguation itself.

This commit has one user-visible change. The code:

  exe a : a.cpp b ;
  obj b : b.cpp helper;
  lib helper ;

No longer works -- the 'a' target won't link to 'helper'. However, this is
pretty stange code and worked before almost by accident.


[SVN r29361]
2005-06-02 06:43:56 +00:00
Vladimir Prus
3892b06d72 When manipulating BOOST_BUILD_PATH, update the value in the .ENVRION module.
Otherwise, the added path elements won't be seen when loading user-config.jam
and site-config.jam and we'll get error when those files are present only
in V2 directories.


[SVN r29360]
2005-06-02 06:22:06 +00:00
Vladimir Prus
66e612082b Produce a nice message when .ENVIRON module is not provided by bjam.
[SVN r29359]
2005-06-02 06:00:41 +00:00
Toon Knapen
4d145abe10 use -fPIC option to compile object files that go into a shared library
[SVN r29345]
2005-06-01 14:37:37 +00:00
Vladimir Prus
08aba8f757 Add test for multiple source-location, from Craig Rodrigues.
[SVN r29335]
2005-06-01 05:43:25 +00:00
Dave Abrahams
f1d59deddb Immunize against the case when %HOMEDRIVE% and/or %HOMEPATH% are not
even defined in the environment.


[SVN r29332]
2005-06-01 01:52:46 +00:00
Vladimir Prus
4ba70d4a2f Don't localize rules when inheriting from another toolset.
Not sure why it worked this way in the first place. The problem is that
after inheriting parent rules no longer have access to variables in original
module, like "RM", and no longer work.


[SVN r29325]
2005-05-31 14:49:18 +00:00
Vladimir Prus
2e58adfa9f Fix rpath setting on intel. I've used undefined SPACE variable.
[SVN r29323]
2005-05-31 14:47:41 +00:00
Dave Abrahams
61ca5d6812 Don't warn about the use of ADL
[SVN r29320]
2005-05-31 13:33:01 +00:00
Markus Schöpflin
6dcf9f44a5 Added -D__CNAME_OVERLOADS to the C++ compiler command line. This is needed to
get all C function overloads required by the C++ standard.


[SVN r29319]
2005-05-31 12:58:36 +00:00
Dave Abrahams
9b848969a2 Look in the user's real home directory first on NT.
[SVN r29312]
2005-05-31 02:33:54 +00:00
Dave Abrahams
9b516221b5 const-correctness for strings.[ch]
Removed flotsam from modules.h

Bind all environment variables, without any preprocessing for quotes,
spaces, or path separators, into the .ENVIRON module.


[SVN r29277]
2005-05-30 03:42:38 +00:00
Rene Rivera
adcf936d3d Fix use of C++ declaration semantics/syntax, in C file. Well Aleksey fixed it already.. So just cleanup the indentation, etc.
[SVN r29257]
2005-05-28 16:02:54 +00:00
Aleksey Gurtovoy
08a9ef1d0a move definition to the top of the block to make code ANSI C compliant
[SVN r29256]
2005-05-28 15:56:31 +00:00
Dave Abrahams
9099c2955e Workaround for vc6 preprocessor bug.
[SVN r29252]
2005-05-27 18:32:23 +00:00
Dave Abrahams
41bb7eefaf Give every GCC command the option of being spawned on NT if too long for a .BAT file.
[SVN r29251]
2005-05-27 17:13:17 +00:00
Dave Abrahams
bea9c85585 Finally, a real fix for the spawn problem, I hope.
[SVN r29250]
2005-05-27 17:06:30 +00:00
Vladimir Prus
c373e09455 Fix static lib suffix on OS X.
Thanks to Pedro Ferreira for the report.


[SVN r29247]
2005-05-27 15:19:58 +00:00
Vladimir Prus
eecdd3b658 Try to avoid passing -fcoalesce-templates with OSX 10.4, as it's not supported
there.

Based on patch from Craig Rodrigues.


[SVN r29244]
2005-05-27 15:07:07 +00:00
Vladimir Prus
a2322a224d Unbreak darwin, after darwin solib suffix was moved to types/lib.jam.
Patch from Craig Rodrigues.


[SVN r29242]
2005-05-27 14:53:08 +00:00
Rene Rivera
a97e4369a4 Fix building of bjam itself after floating options change. Needed to make sure that we eat up the multi arg options if they exist.
[SVN r29239]
2005-05-27 03:48:04 +00:00
Dave Abrahams
f97111f4cb Eliminate undefined behavior and fix a spelling error.
[SVN r29238]
2005-05-27 03:18:08 +00:00
Dave Abrahams
7810e36929 Desperate attempt to avoid confusion between the Boost distribution and the Boost.Build distribution.
[SVN r29237]
2005-05-26 21:44:31 +00:00
Dave Abrahams
0603fa3563 No config checking or warnings if --without-python is passed.
[SVN r29236]
2005-05-26 20:48:34 +00:00
Rene Rivera
b31b3bd5d4 features.jam; Add "aix" ABI object model for building on AIX64, etc.
gcc-tools.jam; Support some of the new RS/PPC processors, and fix the building of 64 bit in those architectures.


[SVN r29235]
2005-05-26 20:17:02 +00:00
Rene Rivera
7e66e867b3 Add vc-x_x toolsets to normalize the names of the toolsets use by users.
[SVN r29234]
2005-05-26 20:15:08 +00:00
Dave Abrahams
0125e21817 Tell non-python users they can ignore the Boost.Python message
[SVN r29233]
2005-05-26 19:17:26 +00:00
Rene Rivera
40a630e54b Remove restriction that option arguments need to be before target arguments. Options can now be intermixed with targets.
[SVN r29232]
2005-05-26 17:20:32 +00:00
Dave Abrahams
7cb7380cc3 Fix manifest generation yet again.
[SVN r29231]
2005-05-26 17:12:59 +00:00
Vladimir Prus
05d64fbddb Unroll incomplete changes to response files support.
I think that Dave committed then unintentionally in revision 1.36 and they
cause C++ files to be always recompiled. A better version is in the works
but cannot be committed yet, so I'll just restore the previous one for now.


[SVN r29198]
2005-05-26 05:54:16 +00:00
Dave Abrahams
b02c3921b0 Only do manifest generation for python modules
[SVN r29194]
2005-05-25 19:18:13 +00:00
Dave Abrahams
6b1d811f50 This change was required in order to get it to work on my installations.
[SVN r29193]
2005-05-25 19:04:12 +00:00
Dave Abrahams
d9ce5913a0 manifest generation
[SVN r29192]
2005-05-25 19:03:32 +00:00
Vladimir Prus
860e5915b4 Remove floatsam.
[SVN r29190]
2005-05-25 14:32:37 +00:00
Vladimir Prus
b54d80c3e2 Do no call sequence.unique on result of GLOB-RECURSIVELY.
That was an old hack which was only needed in one context -- when we
passed both Jamroot and jamroot as patterns, got back Jamroot and jamroot
(because windows is case-insensitive and reports that both exist), and get
confused.

Calling 'unique' does not harm in most cases, but in Boost Jamfiles we glob
for all headers, and O(n^2) algorithm used by unique considerably slows us.


[SVN r29187]
2005-05-25 13:51:33 +00:00
Vladimir Prus
7ef55e8276 Fix error when installing with <install-source-root> and source file names
are absolute.


[SVN r29180]
2005-05-25 06:10:23 +00:00
Vladimir Prus
708c904345 Clarify comments.
[SVN r29179]
2005-05-25 05:55:10 +00:00
Dave Abrahams
95ffc9b080 Made it work with an unmodified CWPro8 installation. Pro9 may still need its setup script tweaked.
[SVN r29174]
2005-05-24 17:13:02 +00:00
Dave Abrahams
4d30e08d12 diagnose binding non-const reference to rvalue as a hard error.
[SVN r29173]
2005-05-24 17:11:30 +00:00
Toon Knapen
ec44facdd2 added capability to handle <fflags>
[SVN r29171]
2005-05-24 15:27:30 +00:00
Dave Abrahams
635a997daa Added version-8.0-path to the list of possible-paths; its omission can't possibly have been intentional.
[SVN r29168]
2005-05-24 13:27:02 +00:00
Vladimir Prus
f5ba4db1f7 Allow the 'source-location' attribute to list several directories.
Patch from Alexander Kabaev and Craig Rodrigues.


[SVN r29164]
2005-05-24 08:57:52 +00:00
Vladimir Prus
a9144a5ec3 Revamp path.glob.
The problem with the previous implementation is that it would iterate
over all elements in a dir even if 'pattern' had no metacharacters. First,
that was slow -- if you handed

  /cygdrive/w/My Documents/boost/test/a.cpp

to it, it would crawl all the way to the top, listing each directory and
checking each file. Second, it would fail, because Cygwin is broken and
does not show 'cygdrive' is the list of directory elements of '/'.

Now we check if a pattern has metacharacters, and if not, just do
a simple 'timestamp' call.

The new glob is implemented as new 'GLOB-RECURSIVELY' builtin. I've decided
to use builtin since otherwise, we'd need 'does this name exist' builtin,
and if we need new builtin, why don't implement all globbing in core.


[SVN r29163]
2005-05-24 07:57:56 +00:00