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

55 Commits

Author SHA1 Message Date
Steven Watanabe
87c62c82d1 Merge Boost.Build from the trunk.
[SVN r84398]
2013-05-21 04:14:18 +00:00
Vladimir Prus
164db5a3be Merge Boost.Build from trunk.
[SVN r72443]
2011-06-06 20:36:21 +00:00
Vladimir Prus
2674d67c72 Reset everyting back to revision 56032.
My partial reverts of things appear to be creating bigger mess.


[SVN r56042]
2009-09-05 12:44:28 +00:00
Vladimir Prus
21896bba81 Revert revision 48644.
It contains so many formatting changes to as make porting things to
Python impossible. I'll cherry-pick the todo and non-formatting changes
soonish.


[SVN r56034]
2009-09-05 12:01:30 +00:00
Vladimir Prus
0d27c0a518 When source resides in a subdirectory of source dir, preserve that
subdirectory in the target path.


[SVN r49714]
2008-11-13 08:26:39 +00:00
Jurko Gospodnetić
8cdc1cb2d9 Minor stylistic changes throughout several Boost Build modules. Added several todo comments.
[SVN r48644]
2008-09-07 06:10:32 +00:00
Jurko Gospodnetić
118034a0c6 Minor stylistic changes made to Boost Build util/path.jam script and doc/src/tasks.xml documentation.
[SVN r47469]
2008-07-16 09:21:22 +00:00
Jurko Gospodnetić
476f8ec8d6 Minor stylistic Boost Build script changes.
[SVN r46939]
2008-07-01 06:19:33 +00:00
Jurko Gospodnetić
f5e8ef7473 Minor stylistic comment change in Boost Build's util/path.jam module.
[SVN r46455]
2008-06-17 17:47:48 +00:00
Jurko Gospodnetić
4c7cb7818f Minor stylistic Boost Build script changes.
[SVN r46254]
2008-06-08 19:41:56 +00:00
Jurko Gospodnetić
7326258cb1 Removed a duplicated test case.
[SVN r45167]
2008-05-06 09:33:53 +00:00
Jurko Gospodnetić
2871e44c9c Patch for the NORMALIZE_PATH builtin Boost Jam rule as well as an appropriate update for the path.jam Boost Build module where that rule was being used to implement path.join and related operations.
As it was written before the rule had 'random' behavior in some borderline cases such as: not passing it a parameter, passing it a folder whose path starts with one or two backslashes (as opposed to slashes) or passing it an invalid rooted path with enough '..' path elements to take it 'before the root path'. In those cases it would cause an access violation, 'incorrectly' un-root the path (i.e. remove the leading slash) or simply remove a 'random' path modification respectively. Also the rule is now more tiny bit more efficient and much better documented.

  Invalid rooted paths with enough '..' path elements to take them 'before the root path' are now recognized and an empty list is returned.

  Due to this rule having such 'messy' behavior the path.join rule and its user make-NT rule had some twisted logic in them to work around all the problems this caused. This patch invalidates the logic in question and replaces it with a much simpler one (detailed comments added).

  Other NORMALIZE_PATH callers should not be affected since both the old and the new version work the same on 'regular' paths (i.e. those not mentioned above).

  The new functionality for recognizing Boost Jam versions has been used to make Boost Build scripts use the old path functionality when using Boost Jam older than 3.1.17 and use the new functionality otherwise. As consequence, now anyone using the trunk version of Boost Build and an older 3.1.17 version of Boost.Jam will need to recompile their Boost Jam executable.

  The patch does not cause any Boost Build or Boost Jam tests to fail.

  Added a related NORMALIZE_PATH Boost Jam test. Note that this test causes Boost Jam versions built prior to this patch to crash (access violation).

  Added additional internal Boost Build tests for the path.jam module testing how it handles some invalid Windows paths.


[SVN r45158]
2008-05-05 22:37:19 +00:00
Jurko Gospodnetić
f534024af8 Cleaned up and better documented how the path.make-NT and path.join rules work. Corrected some minor flaws like the path.join rule returning only the initial path element in case its second path element was empty but there were more elements after it. This is the preparation for cleaning up the NORMALIZE_PATH builtin Boost Jam rule that is causing this implementation to be so messy.
[SVN r45103]
2008-05-04 02:01:52 +00:00
Jurko Gospodnetić
64f00b1fa4 Made it clear that Boost Build's Windows path handling does not handle paths with multiple successive path separator characters. Added several missing internal path.jam module tests. Minor stylistic changes.
[SVN r45079]
2008-05-03 17:22:08 +00:00
Jurko Gospodnetić
42c2a9072b Boost Build comment typo corrections and minor stylistic changes.
[SVN r44975]
2008-05-01 15:09:58 +00:00
Jurko Gospodnetić
d0500b0c74 Corrected outputting native Windows paths so that it works correctly for absolute paths without the drive letter being explicitly specified, e.g. \aaa\bbb or /aaa/bbb.
[SVN r43045]
2008-02-01 00:46:50 +00:00
Jurko Gospodnetić
11d412ca48 Minor stylistic spacing changes. Remove trailing spaces.
[SVN r43044]
2008-02-01 00:44:23 +00:00
Jurko Gospodnetić
d96735566f No functional changes but only stylistic changes such as: comment typo corrections, wrapping lines to 80 characters, indentations, removing trailing spaces, removing empty lines, made tests use Jamfile.jam and Jamroot.jam Boost Build script names, removed unnecessary module imports, etc.
[SVN r42506]
2008-01-06 00:25:48 +00:00
Vladimir Prus
02a6e3ad65 Fix glob excludes in subdirectories.
Thanks to Norbert Unterberg for the bug report.


[SVN r39103]
2007-09-01 20:28:42 +00:00
Vladimir Prus
717d17f49a Use SVN for nightly builds
[SVN r38968]
2007-08-26 17:15:51 +00:00
Vladimir Prus
f8e9824635 Fix a bug that caused path.glob-tree to ignore exclude patterns except
for top-level names.


[SVN r36160]
2006-11-23 09:16:51 +00:00
Vladimir Prus
8a3222a29d Make the 'glob' rule accept the patterns to exclude.
[SVN r36159]
2006-11-23 09:01:47 +00:00
Rene Rivera
b0516f69f0 Add exclusion patterns to glob-tree to allow for exclusing things like CVS directories from scanning. This fixes the problem of invalid/unknown target for those dirs when they are hidden as they get returned as files instead of dirs by the OS. Also updated copyright and license info.
[SVN r35641]
2006-10-16 20:43:26 +00:00
Rene Rivera
160c7c18e9 Add glob-tree which gobs complete directory trees.
[SVN r35155]
2006-09-18 05:31:51 +00:00
Vladimir Prus
17a3d340c2 Revert the path for preserving relative names of sources, since it breaks
UBLAS tests. Will reconsider later.


[SVN r34233]
2006-06-08 05:31:39 +00:00
Vladimir Prus
23970414af Try to preserve relative paths in sources.
Based on a patch from Ryan Gallagher.


[SVN r34062]
2006-05-23 14:21:58 +00:00
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
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
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
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
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
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
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
22a67d8185 Support for VMS paths.
Patch from Johan Nilsson.


[SVN r25872]
2004-10-26 11:43:19 +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
b903dbca2e * utils/paths.jam
(glob): Accept several directories, like builtin GLOB does.


[SVN r22050]
2004-01-29 13:49:14 +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
9ff2227563 New builtin NORMALIZE_PATH.
[SVN r19431]
2003-08-04 09:29:28 +00:00
Vladimir Prus
a87f41243c Bugfix from Michael Stevens: when directory names contained regex
metacharacters, Boost.Build misbehaved.

* new/path.jam
  (all-parents): Don't use regex to strip path prefix, use a more robust
    approach.

* test/bad_dirname.py: New test.


[SVN r18576]
2003-05-28 07:11:50 +00:00
Dave Abrahams
44b48fc7df * Restored the printing of qualified names from invoked actions.
Consequently rolled back the workaround in make_rule.py

* Added new indirect rule invocation module for encoding the module to
  invoke a rule from as well as the exact name to invoke it by, and
  for subsequent invocation.

* Fixed module __test__ rules so they really do execute in a separate
  module.  Associated tweaks to __test__ in path.jam


[SVN r18427]
2003-05-16 16:30:13 +00:00
Vladimir Prus
6d50c39b53 Fix path handling on Cygwin. Thanks to Andre Hentz for the patch.
[SVN r18091]
2003-03-26 12:16:01 +00:00
Rene Rivera
64ebefbe29 Add relative-to to calculate relative paths between dirs.
[SVN r17653]
2003-02-26 06:12:24 +00:00