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

153 Commits

Author SHA1 Message Date
Rene Rivera
d89ed6bbb9 boostbook.jam; Remove some path.make calls as they are superfluous in the path.glob case.
path.jam; Kludge path.join into working as it did before when confronted with an initial empty string on the path.


[SVN r31212]
2005-10-06 19:47:58 +00:00
Rene Rivera
135cc00ef8 Variety of performance improvements.
* bjam; bump to version 3.1.12
* bjam; make it possible to build in MinGW/MSYS shell
* bjam; move profile code to debug.h/c to make it available for use everywhere
* bjam; cache all filesystem query operations, Unix and Windows only, include PWD and scanning
* bjam; add memory profile info, and sprinkle throught code
* bbv2; rewrite some while() loops into for() loops to reduce time and memory
* bbv2; keep a single instance counter instead of one per type to reduce memory use
* bjam+bbv2; change NORMALIZE_PATH builtin to join path parts to reduce memory use


[SVN r31177]
2005-10-03 00:47:36 +00:00
Vladimir Prus
07d836e177 Enable native version of regex.transform.
[SVN r31141]
2005-09-28 14:28:46 +00:00
Vladimir Prus
7af049ac8f Use caching inside path.pwd. The PWD rule on windows calls the
short_path_to_long_path function which takes a lot of time, and clearly
current directory of bjam will never change as it's running.


[SVN r31138]
2005-09-28 11:37:17 +00:00
Vladimir Prus
4ec68a26ea Add forgotten file
[SVN r29809]
2005-06-27 12:53:32 +00:00
Vladimir Prus
aac83264a3 Fix the dynamic library path variables on OSX.
Thanks to Daniel Heck for the report.


[SVN r29650]
2005-06-17 09:06:57 +00:00
Vladimir Prus
3a7327a605 Automatically prepend "lib" prefix to LIB targets on Unix.
[SVN r29602]
2005-06-16 07:24:16 +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
Dave Abrahams
9b848969a2 Look in the user's real home directory first on NT.
[SVN r29312]
2005-05-31 02:33:54 +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
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
Vladimir Prus
5de66f053f Fix setting of DLL search path for testing on CYGWIN.
[SVN r28509]
2005-04-28 12:05:22 +00:00
Vladimir Prus
528de34eb2 Fix path.glob on cygwin.
It was completely broken with absolute windows paths because /cygdrive
is valid cygwin path, but 'cygdrive' is not shown when listing the '/'
directory.


[SVN r28508]
2005-04-28 08:04:41 +00:00
Vladimir Prus
707a30f8b1 Unbreak path.glob on Windows.
[SVN r28061]
2005-04-08 11:41:47 +00:00
Vladimir Prus
d5e8eef9b1 Cleanup path.glob and make it handle absolute paths without infinite looping.
[SVN r28018]
2005-04-06 15:27:41 +00:00
Vladimir Prus
0c3a86e511 Tweak computation of target names from source names.
* build/generators.jam
  (generator.generated-targets): Comment the desired semantics.

* util/utility.jam
  (basename): Take the part till the last dot, not the first.


[SVN r27374]
2005-02-14 08:25:07 +00:00
Dave Abrahams
f2e25504ec General system for get-xxxx() constants implemented
[SVN r27099]
2005-02-04 20:20:08 +00:00
Vladimir Prus
e768120efb * util/path.jam (glob): Call 'set.unique' on the result, to workaround
case-insensitivity of some platforms.


[SVN r26837]
2005-01-24 15:45:07 +00:00
Vladimir Prus
850bfc23a7 Really fix include paths with spaces.
* util/print.jam: Do not quote the argument to the
  'echo' command on windows. It's special, and does not need quotes.
  Adding them will cause the quotes to always appear in the output,
  which would be different behaviour from Unix.

* tools/common.jam (response-file): Add quotes here.


[SVN r26836]
2005-01-24 15:16:00 +00:00
Vladimir Prus
f4b06edc27 Refactoring of virtual targets.
- Drop separate 'suffix' field in file targets. Store suffix as part of
  the name' field. This avoids the need to copy the suffix field and the
  name everywhere.
- Do not pass generated targets to constructor of 'action'. Instead,
  pass the acton to constructor of target.


[SVN r26778]
2005-01-21 08:42:51 +00:00
Vladimir Prus
29ac2210dc Use proper escaping on windows.
[SVN r26761]
2005-01-20 12:26:36 +00:00
Dave Abrahams
4e9538d155 Fix typo
[SVN r26616]
2005-01-02 00:39:24 +00:00
Dave Abrahams
e5eeab2349 Fix typo
[SVN r26615]
2005-01-02 00:35:36 +00:00
Vladimir Prus
552d98e3f8 Fix a regression in the 'glob' rule -- it is broken with the current bjam.
Handle ".." correctly.


[SVN r26595]
2004-12-28 17:54:35 +00:00
Vladimir Prus
10f05e3dfa Expand path.glob comments.
[SVN r26485]
2004-12-10 09:24:59 +00:00
Dave Abrahams
42f4871b1b 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
Vladimir Prus
fc9f31c127 * 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
76b9d2d819 Allow the 'path.glob' and 'glob' Jamfile rule to accept wildcards in
directory names. For example:

  exe a : [ glob */*.cpp ] ;

now works.


[SVN r26398]
2004-12-02 09:41:31 +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
22a67d8185 Support for VMS paths.
Patch from Johan Nilsson.


[SVN r25872]
2004-10-26 11:43:19 +00:00
Vladimir Prus
66a4b4ba78 Bugfix: searched libraries with dot in the name did not work on Windows.
[SVN r25470]
2004-09-29 09:52:21 +00:00
Vladimir Prus
20af45d110 More strict checks in make-Unix.
[SVN r24932]
2004-09-06 07:29:46 +00:00
Vladimir Prus
21277abf83 Don't error out when 'PATH', 'Path', or 'path' has empty elements.
[SVN r24889]
2004-09-03 11:20:51 +00:00
Vladimir Prus
1ce06d9ca0 Improvements in RC files support.
- Specialized RC->RES generators were added for msvc. This allows
  to invoke setup script before calling rc.exe, which adds necessary
  include paths.
- Includes scanner for RC files added.

Thanks to Alexey Pakhunov for the patch.


[SVN r23036]
2004-06-07 07:24:24 +00:00
Vladimir Prus
e75732021c Fix a typo. Note that teh code is now not used, replaced with native rule,
so this should be considered a documentation tweak.


[SVN r22541]
2004-03-22 07:37:05 +00:00
Vladimir Prus
f2df997306 Optimize library ordering by native rules.
[SVN r22281]
2004-02-16 08:30:13 +00:00
Vladimir Prus
c49ec1820c Removed commented out debug prints
[SVN r22146]
2004-02-03 08:38:06 +00:00
Vladimir Prus
b82d2abbc0 First version of proper library ordering for gcc.
[SVN r22079]
2004-01-30 14:10:24 +00:00
Vladimir Prus
b903dbca2e * utils/paths.jam
(glob): Accept several directories, like builtin GLOB does.


[SVN r22050]
2004-01-29 13:49:14 +00:00
Vladimir Prus
0372bb81f4 Unbreak doc.jam, broken by third argument to header scanning rule.
[SVN r21313]
2003-12-18 05:15:27 +00:00
Vladimir Prus
8e1a189707 Make 'sequence.select-highest-ranked' native.
[SVN r21217]
2003-12-11 09:02:01 +00:00
Vladimir Prus
8dacac3c02 Add native version of 'regex.transform'. The rule is used during header
scanning, so should be as fast as possible.


[SVN r21205]
2003-12-10 11:29:09 +00:00
Vladimir Prus
b03372ac97 The 'path.exists' rule is now native.
[SVN r21201]
2003-12-10 08:27:21 +00:00
Vladimir Prus
d205f1b942 Minor refactorings.
[SVN r21200]
2003-12-10 08:10:13 +00:00
Vladimir Prus
de1c5606b9 * utils/set.jam
(difference): Use native rule.


[SVN r21199]
2003-12-10 07:58:05 +00:00
Vladimir Prus
5d9f30ac29 Optimize the numbers module by new CALC builtin.
Patch from Pedro Ferreira.


[SVN r20434]
2003-10-21 06:48:04 +00:00
Vladimir Prus
27255fc93b Grab gcc threading support from V1.
[SVN r20431]
2003-10-21 05:50:33 +00:00
Rene Rivera
0b0d36b670 Replace license statement with Boost.License.
[SVN r20057]
2003-09-15 00:16:10 +00:00
Vladimir Prus
0d939c9025 * new/indirect.jam
(make-qualified): Bugfix. When processing gcc.link.dll rule, take 'gcc' as
  module name, not 'gcc.link'. The previous behaviour caused 'gcc.link.dll'
  to be called in context of 'gcc.link' module. As the result the global
  definition of 'gcc.link.dll' was called. That definition is created by jam
  when it sees 'actions gcc.link.dll' and has no executable code associated
  with it. So, rule 'gcc.link.dll' was never executed.


[SVN r20009]
2003-09-11 06:38:39 +00:00
Vladimir Prus
03b1103653 * new/container.jam
(vector.equal): Fix a bug, which causes all vectors with different sizes
   to be considered equal.


[SVN r19836]
2003-08-28 13:53:06 +00:00