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

31 Commits

Author SHA1 Message Date
Vladimir Prus
7df1f2f4af Kill 'engine/src', moving all content to 'engine'.
[SVN r68592]
2011-02-01 08:16:47 +00:00
Vladimir Prus
0f77dbdae2 Move tools/jam into tools/build/v2/engine
[SVN r64010]
2010-07-14 10:37:12 +00:00
Rene Rivera
f2d1d169b8 Minor edits to remove -Wall warnings. (fixes 2207)
[SVN r48994]
2008-09-29 00:05:22 +00:00
Jurko Gospodnetić
b14209b789 Major stylistic changes throughout the Boost Jam source base. No implementation changes.
Cleanup done while researching the Boost Jam internals. Added better implementation description comments at many places. Cleaned up the 'dependant' and 'dependency' terminology that got mixed up in several places. Renamed several functions to use underscores as word separators.

[SVN r48480]
2008-08-30 23:56:49 +00:00
Jurko Gospodnetić
84c8a57403 Minor stylistic changes throughout Boost Jam sources. Mostly corrected indentation, removed trailing spaces and updated comments.
[SVN r48445]
2008-08-29 12:59:49 +00:00
Jurko Gospodnetić
98ad6fda62 Fixed a Boost Jam bug causing it to sometimes trigger actions depending on targets that have not been built yet. Test case included. Updated related code comments.
Bug was happening when we had a multifile action that got triggered to build its non-initial target. Then while that action was being executed all the other targets were reporting as 'already built' and were getting used by other actions prematurely. Quick-fixed by making all targets built by a single action list each other as 'included' causing anything else depending on any of these targets to automatically depend on all the others in the group as well.

The solution is not perfect as it might have some unexpected interactions with other uses of 'included' targets and now if any target in a group is not up to date then all of them will be rebuilt even if actually did not need the target that was up to date. On the other hand this should be a really rare use case as it would require the one target in a group to be up to date and be needed while another in the same group (i.e. built by the same action) to not be up to date.

[SVN r48426]
2008-08-28 19:20:27 +00:00
Jurko Gospodnetić
84a9f25f9f Fixed a bug causing Boost Jam not to handle target file names specified as both short and long file names correctly. Bug fixed by making bindtarget() function map names to TARGETs by using their long file names.
When scanning directories and creating a list of all their content (filent.c) it would identify all the located files and folders using their long file names. On the other hand, referencing a target using its short file name inside a Jam script caused Boost Jam to reference those files twice using two separate TARGET structures - one identified using the file's short name and one using the file's long name.

  One bad example was the MkDir which would always attempt to create a folder identified by its short name even if that folder already existed (due to the NOUPDATE rule getting applied on the incorrect TARGET).

  The change does not affect targets whose names do not represent existing file names.

  Also, it seems to me that the short_path_to_long_path() call in file_dirscan() in the filent.c module should most likely be moved to file_info() in the filesys.c module. This would make mapping file names to file_info_t & TARGET structures consistent. However, I have not done this in this patch just to make the patch as minimal as possible.

  Prepared tests have been do nothing on non Windows platforms.


[SVN r45144]
2008-05-05 15:52:56 +00:00
Vladimir Prus
b34c3d8fa0 Implement ISFILE for real
[SVN r41980]
2007-12-11 19:45:37 +00:00
Rene Rivera
9b500a6778 Apply patch from Yakov Markovitch; [ 1558580 ] jam:"VAR on TARGET ?= values" unconditionally assigns values.
Add corresponding test.


[SVN r35229]
2006-09-20 16:09:19 +00:00
Rene Rivera
f4efe8b540 Cleanup memory allocation calls to use macros defined in new mem.h header. This new header will handle configuration of both memory allocator to use, and memory profiling.
[SVN r35029]
2006-09-07 03:57:02 +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
73e3efa2d8 rules.c (bindrule): When rule is not found, enter into the specified module,
not the global one.


[SVN r29439]
2005-06-06 06:29:52 +00:00
Vladimir Prus
17fbf80396 Initial Python integration support. Disabled by default, find and
change the setting of HAVE_PYTHON in build.jam to enable it.


[SVN r27559]
2005-03-05 07:59:14 +00:00
Rene Rivera
7bec1dd305 Bump version to 3.1.10 for release.
Update copyrights to new Boost License.


[SVN r22987]
2004-06-01 05:42:36 +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
Toon Knapen
d3bed59788 port to sunpro
[SVN r19022]
2003-07-10 12:09:28 +00:00
Vladimir Prus
9f9f661453 Kill some warnings.
[SVN r18930]
2003-07-03 09:55:39 +00:00
Vladimir Prus
b703a29011 Partial sync with Perforce state. The main purpose was to merge
changesets 2499 and 2614, which change (and improve), handling of includes.


[SVN r18888]
2003-06-30 14:14:50 +00:00
Vladimir Prus
2e532793ae Change handling of generated headers to use the idea of
Matt Armstrong, from jamming mailing list.

* new/search.h
  (search): Add a new parameter 'another_target', which returns
  the name of a target already bound to the same location via LOCATE.

* new/search.c
  (search): Ajust the search algorithm to check for targets bound to searched
  directories.


[SVN r18887]
2003-06-30 14:10:04 +00:00
Dave Abrahams
91f796fa72 * builtins.c/h, modules.c/h - Added VARNAMES and DELETE_MODULE rules,
for getting the list of variable names and for clearing all rule and
  variable storage.

* compile.c - better error reporting for unknown rules; now it is a
  hard error.

* hash.c/h - added hash_free to allow removal of elements from a hash

* rule.c/h - implemented rule freeing; stopped exporting rules to the
  global module by default.

* variable.c - reclaim variable storage when disposing of variable
  hash.

* build.jam - make grammar building work under NT


[SVN r18405]
2003-05-15 20:53:16 +00:00
Dave Abrahams
602dfaeb6c Add missing "static" to suppress warning with aCC
[SVN r16484]
2002-12-03 00:02:47 +00:00
Rene Rivera
d708e1b4dd Fix "illegal constant expression" error on CodeWarrior.
[SVN r15907]
2002-10-12 17:02:42 +00:00
Vladimir Prus
4fdfbd4680 Bugfix.
[SVN r15714]
2002-10-04 15:23:46 +00:00
Vladimir Prus
511b07358e Dependency scanning implementation.
* jam_src/builtins.c: New builtin SEARCH_FOR_TARGET.

    * jam_src/rules.c
         (bind_explicitly_located_targets): New function.
         (search_for_target): New function.

    * jam_src/make.c (make): Call 'bind_explicitly_located_targets()'
        immediately on entering.

    * jam_src/search.c (call_bind_rule): No longer 'static'.

    * new/builtin.jam (c-scanner.process): Real implementation.

    * test/dependency_test.py: Really test for dependencies.


[SVN r15646]
2002-10-02 11:56:32 +00:00
Vladimir Prus
14237dc18a Eliminated several minor leaks.
[SVN r14305]
2002-07-05 10:41:53 +00:00
Dave Abrahams
3d8aae55e3 Merged Matt Armstrong's patches
[SVN r14053]
2002-05-28 20:35:13 +00:00
Dave Abrahams
821dd9fd4a Fixes for rule import handling; also extended IMPORT to allow
execution in the target module


[SVN r11911]
2001-12-04 18:22:04 +00:00
Dave Abrahams
57c37ceaac Backtrace
Debug file/line numbers
Local rules not implicitly imported
Craig McPheeters' dependency graph output as -d+12
Grammar cleanup
Factored parse evaluation into parse_evaluate()

 Modified Files:
 	compile.c frames.h jam.h jamgram.c jamgram.y jamgram.yy make.c
 	parse.c parse.h rules.c rules.h scan.c scan.h


[SVN r11759]
2001-11-21 04:39:53 +00:00
Dave Abrahams
7606219995 Added copyright notices
[SVN r11662]
2001-11-11 13:01:26 +00:00
Dave Abrahams
d0f03c1ab5 merged to main trunk
[SVN r11610]
2001-11-06 15:36:16 +00:00