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

59 Commits

Author SHA1 Message Date
Rene Rivera
698aac70d5 Minimal changes to compile with C++.
These are some minimal changes to compile with C++. Here begins
the road to rewriting the bjam engine in C++. So far this is only built
and tested with XCode clang on OSX.
2018-10-20 17:36:10 -05:00
luzpaz
a2b8731d2a build: misc.typos (#341)
* build: misc.typos

Found via `codespell -q 3 --skip="./src/engine/boehm_gc" -L te,iff`

* Revert 3rdParty code changes
2018-09-26 09:54:06 -07:00
Steven Watanabe
2585b08e7e Remove unused variables from TARGET and shuffle some of its other members so they pack more efficiently. 2015-03-24 11:44:40 -06:00
Steven Watanabe
3f5c9749a7 Separate the code for recording explicit bindings from search.
[SVN r83858]
2013-04-12 20:36:52 +00:00
Jurko Gospodnetić
a3a1170ec1 Boost Jam cleanup - minor stylistic changes.
[SVN r79693]
2012-07-23 09:02:49 +00:00
Jurko Gospodnetić
681b6609af Boost Jam code cleanup - minor stylistic changes (added missing spaces around some parameters inside brackets in C code).
[SVN r79587]
2012-07-18 15:06:44 +00:00
Jurko Gospodnetić
58beabb9dc Boost Jam code cleanup - moved code for creating new internal include targets into a single location (rules.c module) instead of having it done in two (rules.c & builtins.c modules).
[SVN r79584]
2012-07-18 14:24:19 +00:00
Jurko Gospodnetić
c16ae1c68a Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering).
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
e70c45c3e5 Boost Jam code cleanup - minor stylistic changes.
[SVN r79414]
2012-07-11 14:50:49 +00:00
Jurko Gospodnetić
1791d078cc Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
Steven Watanabe
d3b0ec3508 Handle cycles when determining target fate in make0.
[SVN r78259]
2012-04-30 01:21:04 +00:00
Steven Watanabe
4ef470dbf5 Remove unused variable.
[SVN r77647]
2012-03-30 14:05:22 +00:00
Steven Watanabe
771a58f19a Fix seg-fault.
[SVN r77645]
2012-03-30 13:49:00 +00:00
Steven Watanabe
161a3c9462 Remove argument_list. It's unused.
[SVN r77521]
2012-03-24 22:15:42 +00:00
Steven Watanabe
888393c652 Merge Python function support into function.c
[SVN r77518]
2012-03-24 21:07:49 +00:00
Steven Watanabe
0b3b574817 Start cleaning up the arg_list hacks. Make the argument list part of the function instead of part of the rule. Don't var expand formal arguments.
[SVN r77515]
2012-03-24 18:53:21 +00:00
Steven Watanabe
3599b1926b Remove the first argument of list_copy, since it's always L0.
[SVN r77510]
2012-03-23 22:30:33 +00:00
Steven Watanabe
5eec7d95fe Optimize variable lookup to bypass hash for constant variable names.
[SVN r77491]
2012-03-22 23:26:48 +00:00
Steven Watanabe
60d66ca888 Use dynamic arrays instead of linked lists. Reduces memory use about 10% overall.
[SVN r77408]
2012-03-19 18:17:36 +00:00
Steven Watanabe
0ec332fea3 Fix alias violations in hash.
[SVN r77190]
2012-03-03 21:46:53 +00:00
Steven Watanabe
c992a83af5 Remove SEARCH_FOR_TARGET.
[SVN r75967]
2011-12-15 19:21:39 +00:00
Steven Watanabe
77f10e6561 Clean up the evil 'variables of the running module are swapped with the global variable table' hack.
[SVN r75912]
2011-12-12 02:02:20 +00:00
Steven Watanabe
e129c3c82e Eliminate the last uses of var_expand and remove it.
[SVN r75889]
2011-12-11 01:55:33 +00:00
Steven Watanabe
20be35b9df Clean up down casing paths and usage of short_path_to_long_path.
[SVN r75768]
2011-12-02 05:11:10 +00:00
Steven Watanabe
477b42b47d Remove the trailing '.' from the module name.
[SVN r75762]
2011-12-01 18:07:14 +00:00
Steven Watanabe
da9410adc1 Reimplement the interpreter.
[SVN r75736]
2011-11-30 00:00:35 +00:00
Steven Watanabe
ea1a2928d2 Replace newstr with object. Use OBJECT * instead of char *. Fix a few bugs uncovered by the better typechecking.
[SVN r75609]
2011-11-22 23:04:09 +00:00
Steven Watanabe
86278a4624 Fix memory leaks. Make sure that newstr and copystr are always used as needed.
[SVN r75502]
2011-11-16 03:00:54 +00:00
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