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
bc3396ff68 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
eed0cf6cc3 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
1fa3a7afab Enable native version of regex.transform.
[SVN r31141]
2005-09-28 14:28:46 +00:00
Vladimir Prus
73b91b8537 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
d75e3021e9 Add forgotten file
[SVN r29809]
2005-06-27 12:53:32 +00:00
Vladimir Prus
f8b3ba4bf6 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
fa7edfe511 Automatically prepend "lib" prefix to LIB targets on Unix.
[SVN r29602]
2005-06-16 07:24:16 +00:00
Dave Abrahams
12dd819611 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
088e2a02b0 Look in the user's real home directory first on NT.
[SVN r29312]
2005-05-31 02:33:54 +00:00
Vladimir Prus
648a7b2970 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
4e9af774ce 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
4447529606 Fix setting of DLL search path for testing on CYGWIN.
[SVN r28509]
2005-04-28 12:05:22 +00:00
Vladimir Prus
05baf3245d 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
adf2fa4533 Unbreak path.glob on Windows.
[SVN r28061]
2005-04-08 11:41:47 +00:00
Vladimir Prus
5ed8231d59 Cleanup path.glob and make it handle absolute paths without infinite looping.
[SVN r28018]
2005-04-06 15:27:41 +00:00
Vladimir Prus
97e91c8e3f 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
1cc643b939 General system for get-xxxx() constants implemented
[SVN r27099]
2005-02-04 20:20:08 +00:00
Vladimir Prus
5b15a18ae3 * 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
ae5634b7f3 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
9836220c83 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
7ece5c82b8 Use proper escaping on windows.
[SVN r26761]
2005-01-20 12:26:36 +00:00
Dave Abrahams
1095e9b580 Fix typo
[SVN r26616]
2005-01-02 00:39:24 +00:00
Dave Abrahams
e624d928bc Fix typo
[SVN r26615]
2005-01-02 00:35:36 +00:00
Vladimir Prus
29bc552733 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
8b1b6a2d02 Expand path.glob comments.
[SVN r26485]
2004-12-10 09:24:59 +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
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
8d9bd4d70b 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
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
09f523e5c7 Support for VMS paths.
Patch from Johan Nilsson.


[SVN r25872]
2004-10-26 11:43:19 +00:00
Vladimir Prus
b93371d75b 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
54f21a7bec More strict checks in make-Unix.
[SVN r24932]
2004-09-06 07:29:46 +00:00
Vladimir Prus
ee85342c25 Don't error out when 'PATH', 'Path', or 'path' has empty elements.
[SVN r24889]
2004-09-03 11:20:51 +00:00
Vladimir Prus
0a9ffafd85 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
38079ac203 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
2d883c64d5 Optimize library ordering by native rules.
[SVN r22281]
2004-02-16 08:30:13 +00:00
Vladimir Prus
36eb018984 Removed commented out debug prints
[SVN r22146]
2004-02-03 08:38:06 +00:00
Vladimir Prus
9034f3ba61 First version of proper library ordering for gcc.
[SVN r22079]
2004-01-30 14:10:24 +00:00
Vladimir Prus
ded2f35dbd * utils/paths.jam
(glob): Accept several directories, like builtin GLOB does.


[SVN r22050]
2004-01-29 13:49:14 +00:00
Vladimir Prus
7798afcd88 Unbreak doc.jam, broken by third argument to header scanning rule.
[SVN r21313]
2003-12-18 05:15:27 +00:00
Vladimir Prus
a2c0c53947 Make 'sequence.select-highest-ranked' native.
[SVN r21217]
2003-12-11 09:02:01 +00:00
Vladimir Prus
74741e6864 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
62aeee6f78 The 'path.exists' rule is now native.
[SVN r21201]
2003-12-10 08:27:21 +00:00
Vladimir Prus
ccb28e2feb Minor refactorings.
[SVN r21200]
2003-12-10 08:10:13 +00:00
Vladimir Prus
6a9b3e32b2 * utils/set.jam
(difference): Use native rule.


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


[SVN r20434]
2003-10-21 06:48:04 +00:00
Vladimir Prus
ab988525ec Grab gcc threading support from V1.
[SVN r20431]
2003-10-21 05:50:33 +00:00
Rene Rivera
77862eab65 Replace license statement with Boost.License.
[SVN r20057]
2003-09-15 00:16:10 +00:00
Vladimir Prus
a93dda7b37 * 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
8c2aa80007 * 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