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

54 Commits

Author SHA1 Message Date
Vladimir Prus
70155d8def Exit if one of processed options wants to exit.
[SVN r32769]
2006-02-09 13:53:20 +00:00
Vladimir Prus
fdf2aadc2f Print the value of "project-help" variant in ./Jamfile on --help option.
[SVN r32767]
2006-02-09 13:38:13 +00:00
Rene Rivera
4ec8584f39 Apply patch from Reece Dun to remove the generation of response files as targets. But instead use the @() bjam functionality.
[SVN r31562]
2005-11-05 07:46:38 +00:00
Rene Rivera
e7464324c2 Because of NORMALIZE_PATH change we now require bjam 3.1.12.
[SVN r31182]
2005-10-03 14:28:24 +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
3b0f2c5dfb Reduce the number of calls to the PWD builtin.
[SVN r31139]
2005-09-28 13:27:47 +00:00
Vladimir Prus
39ca9ea59b 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
d6b93aaf2e Produce a nice message when .ENVIRON module is not provided by bjam.
[SVN r29359]
2005-06-02 06:00:41 +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
2f73272319 Make use of USER_MODULE and NEAREST_USER_LOCATION to optimize V2.
[SVN r26467]
2004-12-07 10:31:02 +00:00
Vladimir Prus
97f846b000 Improve the 'duplicate name' error.
* kernel/errors.jam (nearest-user-location): New method.
* build/target.jam (abstract-target.__init__): Set self.location.
  (location): New method.
* build/virtual-target.jam (register-actual-name): Output more information.


[SVN r23117]
2004-06-18 08:27:00 +00:00
Vladimir Prus
5ea1bb900b Apply cleaner rules for toolset initialization.
* tools/common.jam (check-init-parameters): New rule.
* tools/gcc.jam (init): Make use of the above.
* kernel/errors.jam (user-error): New rule.


[SVN r23084]
2004-06-11 10:54:04 +00:00
Vladimir Prus
3470afe5c9 Bump bjam version.
[SVN r21219]
2003-12-11 10:19:42 +00:00
Vladimir Prus
ef2b72f1bb Update version check.
[SVN r20662]
2003-11-04 17:54:52 +00:00
Vladimir Prus
37dd0d63ef Add "build" directory to the search path, not "core". That's how it's
named now... I though "build" was planned all the time, but apparently
not.


[SVN r20501]
2003-10-27 07:08:22 +00:00
Vladimir Prus
75beb85dcd * new/class.jam
(is-instance): Tighten the check.


[SVN r20438]
2003-10-21 07:48:58 +00:00
Rene Rivera
77862eab65 Replace license statement with Boost.License.
[SVN r20057]
2003-09-15 00:16:10 +00:00
Vladimir Prus
3625924a3d Require bjam 3.1.7.
[SVN r20012]
2003-09-11 06:47:41 +00:00
Vladimir Prus
5f8c9e4fc5 Fix typo.
[SVN r20008]
2003-09-11 06:34:34 +00:00
Vladimir Prus
454684b818 Fix bootstrapping when there's no boost-build.jam in project root but
BOOST_BUILD_PATH points to Boost.Build installation.

Patch from Christopher Currie.


[SVN r19819]
2003-08-28 05:45:00 +00:00
Vladimir Prus
619b26494e Update comments.
[SVN r19459]
2003-08-05 05:32:47 +00:00
Vladimir Prus
286825f9d5 Rename 'xclass' to 'class'.
[SVN r19458]
2003-08-05 05:25:33 +00:00
Vladimir Prus
a9cb673c30 Rename 'xnew' to just 'new'.
[SVN r19434]
2003-08-04 11:12:30 +00:00
Vladimir Prus
7fceeb4bc7 Drop all style classes support.
[SVN r19433]
2003-08-04 10:53:34 +00:00
Vladimir Prus
c354977097 New builtin NORMALIZE_PATH.
[SVN r19431]
2003-08-04 09:29:28 +00:00
Vladimir Prus
c1e3f990f1 Move generators to new-style classes.
[SVN r19427]
2003-08-04 09:19:54 +00:00
Vladimir Prus
2447c88092 Refactorings.
* jam_src/modules.c: (import_module, imported_modules): New functions.
* jam_src/builtins.c (builtin_import_module, builtin_imported_modules):
  Just call the above.
* new/class.jam: Add some extra tests.


[SVN r19424]
2003-08-04 09:09:49 +00:00
Vladimir Prus
d16b5709cd Introduce new-style classes. They are declared by 'xclass' and instances
are created by 'xnew'. Those names will be changed when all classes are
migrated.


[SVN r19423]
2003-08-04 09:01:54 +00:00
Vladimir Prus
88d198970c Speed up module imports.
* jam_src/builtins.c: New builtins IMPORT_MODULE and IMPORTED_MODULES.
  jam_src/rules.c: (bindrule): Refactor. (lookup_rule): New function.

* kernel/modules.jam: Make use of IMPORT_MODULE.


[SVN r19422]
2003-08-04 08:45:41 +00:00
Vladimir Prus
4b6f3babbb Bump Jam version to 3.1.6.
[SVN r18897]
2003-07-01 05:14:46 +00:00
Rene Rivera
59ac41edd3 Some movement towards the new style of options for the help system.
- boostrap.jam; Modified the parsing of options to accept the syntax that the help system requires.
- doc.jam; Removed the option parsing code.
- doc.jam; Added some rules to set documentation options.
- help.jam; Move in code from doc.jam to parse options.


[SVN r18798]
2003-06-16 07:04:30 +00:00
Vladimir Prus
0d46fcc22c Speedup: call 'normalize-raw-paths' only when we're really going to
load module.


[SVN r18687]
2003-06-06 06:31:25 +00:00
Vladimir Prus
ce2ba6245d Doc system works again.
* kernel/bootstrap.jam: Allow option handler modules to indicate that
  regular build process should be skipped.

* options/help.jam: Return 'true', don't EXIT. Existing prevents header
  scanning, which is the mechanism that makes 'doc' module work.

* new/doc.jam: Import header scanning rule into global module.
  (split-symbol): Handle the case where the are two modules with the same
  name (e.g. V1 stlport.jam and V2 stlport.jam).


[SVN r18663]
2003-06-04 05:55:25 +00:00
Dave Abrahams
dab5ce51e9 Regex bug fix
[SVN r18655]
2003-06-03 18:26:33 +00:00
Dave Abrahams
377bb87cad Enabled sorting of BBv2 modules into subdirectories
build-system.jam - moved from tools/build/new to tools/build

boost-build.jam - moved from tools/build/new to tools/build/kernel
bootstrap.jam
errors.jam
modules.jam

test/BoostBuild.py   - adjusted for the above modification
test/boost-build.jam

project-root.jam - renamed to "project-roots.jam" to avoid confusion
                   and conflict with the user's project-root.jam file

project.jam                           - adjusted for the above renaming
test/project-test1/project-test1.jam

type.jam - broke a circular module dependency


[SVN r18575]
2003-05-28 01:33:38 +00:00
Dave Abrahams
6ebded3459 Note: there is currently a circular dependency between type.jam and
virtual-target.jam.

- Added the missing explicit imports, now that we don't dump
  everything into the global module with qualification

- stopped using the feature-space hack for temporary testing states of
  the feature module.  Instead we move its global variable definitions
  to a temporary module.

- the way feature.action was invoking the rule it was being passed was
  evil.  Now you pass (even local) rules without qualification and
  they are invoked in the source module context.

- module __test__ rules are always executed in a separate module, so
  that their import dependencies can be separated from those of the
  module being tested.

- better reporting of circular module-loading dependencies
  implemented.

- minor changes:

    property-set.jam:  moved .empty initialization to avert circular
    load dependency .

    symlink.jam: fixed global variable naming.


[SVN r18407]
2003-05-15 22:22:13 +00:00
Dave Abrahams
f2c14abcdd Type checking for argument lists
[SVN r18378]
2003-05-10 15:03:54 +00:00
Rene Rivera
812d5d9f94 Implement ReST type preformatted syntax using "::".
* class.jam; Use new "::" syntax.
* doc.jam; Change comment parsing to keep leading whitespaces.
* doc.jam; Fix problem when a rule's argument has the same name as an inner rule.
* print.jam; Implement ReST syntax of "::" to indicate preformatted text. All forms of the ReST syntax are supported, and the additional form of a preformated paragraph with the first line as "::".


[SVN r16244]
2002-11-15 01:16:50 +00:00
Dave Abrahams
aa3e9c9ba5 Better debuggability
[SVN r16206]
2002-11-12 03:15:08 +00:00
Rene Rivera
fc3c2cfa85 print.jam; support use of "::" as prefix in paragraphs/blocks to output preformatted text.
class.jam; add use of "::" for code samples.


[SVN r16019]
2002-10-30 04:00:42 +00:00
Vladimir Prus
c06b10384a Infrastructure for dependency scanning.
* virtual-target.jam (virtual-target.actualize): Accept
        'scanner' parameter and create different actual targets
        for different values of that parameter.
     (virtual-target.includes): Remove.
     (binding): New rule
     (remember-binding): New rule.

    * type.jam (set-scanner): New rule. (get-scanner): New rule.

    * scanner.jam: New file.

    * class.jam (__init__): Define __name__ in class scopes.

    * builtin.jam (c-scanner): New scanner class, associated with CPP
        files.


[SVN r15644]
2002-10-02 10:04:03 +00:00
Vladimir Prus
a1adab49a1 Wholesale commit of generators.
[SVN r14924]
2002-08-16 14:13:15 +00:00
Vladimir Prus
ea264712c1 New rules.
* new/assert.jam (in, not-in): New rules.
    * new/class.jam (is-instance): New rule.
    * new/utility.jam (str, equal, less): New rules.
    * new/container.jam
        (container.str, container.sort, container.equal): New rules.


[SVN r14923]
2002-08-16 13:58:23 +00:00
Vladimir Prus
3ac0b46828 Optimization.
* new/class.jam (__init__) Get only first element of backtrace.


[SVN r14564]
2002-07-22 17:44:21 +00:00
Vladimir Prus
6e08a601a0 Tweak.
* new/class.jam: Import all rules from the 'class' module into a class
        instance module, not into a class module.
    * new/targets.jam: Remove explicit import from 'class' in ctor.


[SVN r13829]
2002-05-13 10:42:18 +00:00
Rene Rivera
ef548f6f9f Added is-a.
[SVN r13826]
2002-05-12 16:56:41 +00:00
Dave Abrahams
b469b032dd Set __class__ attribute in instances
Added block comment on class system usage
Added some new tests


[SVN r13646]
2002-05-03 16:40:12 +00:00
Dave Abrahams
abb0398b5a Reworked to allow derived classes to call base class methods which have been overridden via explicit qualification
[SVN r13588]
2002-04-30 14:51:07 +00:00
Dave Abrahams
bcad27e5a2 bug fix, forgot to check in
[SVN r13306]
2002-03-30 00:37:00 +00:00