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

57 Commits

Author SHA1 Message Date
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -06:00
Rene Rivera
3eceb036ef Internalize build options into config header. 2019-03-21 09:53:02 -05: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
c1395b4961 Make the handling of actions that produce multiple targets more correct.
[SVN r86561]
2013-11-04 22:35:14 +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ć
3736a64fd6 Boost Jam code cleanup - wrapped up timestamp values inside a timstamp structure instead of using a raw time_t value as another preparation step towards implementing support for timestamps with resolution finer than 1 second. All timestamp manipulation now done using the new timestamp_XXX() API.
File timestamps displayed with -d+3 debug output now presented in UTC (+0000) timezone.

Other related minor stylistic changes:
  - timestamp_from_target() renamed to timestamp_from_path()
  - timestamp_from_target() parameter order switched
  - comment updates
  - added some const function parameter modifiers
  - some header #include directives reordered alphabetically

[SVN r79501]
2012-07-14 16:11:16 +00:00
Jurko Gospodnetić
1791d078cc Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
Steven Watanabe
64add142e1 Replace ad hoc (incorrect) cycle detection code with a variation of Tarjan's algorithm.
[SVN r78287]
2012-05-01 06:45:35 +00:00
Steven Watanabe
656fffe626 Don't assume that make1a processes targets in the same order as make0. It doesn't. Start a new stack when rescanning to avoid spurious cycles which cause a seg-fault.
[SVN r78281]
2012-04-30 16:49:42 +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
9e04ceafc3 Stop targets that depend on an include cycle from updating before all the required generated headers are built.
[SVN r78250]
2012-04-29 01:06:55 +00:00
Steven Watanabe
e6b3927ef3 Detect cycles created by rescanning.
[SVN r78249]
2012-04-28 22:05:28 +00:00
Steven Watanabe
4ef470dbf5 Remove unused variable.
[SVN r77647]
2012-03-30 14:05:22 +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
5eec7d95fe Optimize variable lookup to bypass hash for constant variable names.
[SVN r77491]
2012-03-22 23:26:48 +00:00
Steven Watanabe
3fd7ecbccd More correct behavior of -n with FAIL_EXPECTED targets and across multiple calls to UPDATE_NOW.
[SVN r76045]
2011-12-18 16:51:43 +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
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
Vladimir Prus
94f588650a Implement PRECIOUS builtin.
Note that existing code already tried to assume that the 'together'
flag means precious, but as described at:
http://public.perforce.com:8080/@md=d&cd=//public/jam/src/&cdf=//public/jam/src/make1.c&c=klD@/1494?ac=10
this was not really wrong.

Now, PRECIOUS makes the target never removed. I plan to extend it so that
user can control what exit codes cause the target to be removed.


[SVN r60157]
2010-03-04 23:02:57 +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
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
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
Dave Abrahams
72a5e80e64 jam_src/
builtins.{c,h}
        Support for the REBUILDS rule
        remove unused variable

    rules.h
    make.c
        Support for the REBUILDS rule

    make1.c
        Support for the REBUILDS rule

        Support for recording timing information

        Restructured a case statement because it was masking a bug I
        introduced.

    execcmd.h
    execnt.c
    execunix.c
        Support for recording timing information
        Also removed NT-specific stuff from execunix

    expand.c
        Removed tabs from critical comment
        Added tab-width variable setting comment for emacs.

v2/test
    rebuilds.py, timedata.py, test_all.py
        Tests for REBUILDS and timing.


[SVN r27334]
2005-02-12 02:30:18 +00:00
Rene Rivera
fcebc8300b Part 1 and 2 of http://article.gmane.org/gmane.comp.lib.boost.build/6997 - Add ability to mark targets as rquired to be files (ISFILE).
[SVN r26234]
2004-11-18 19:38:16 +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
900808bc7a Implement NATIVE_RULE builtin and native version of set.difference.
[SVN r21198]
2003-12-10 07:57:22 +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
Toon Knapen
d3bed59788 port to sunpro
[SVN r19022]
2003-07-10 12:09:28 +00:00
Toon Knapen
9ea39fe73a module type has become module_t
[SVN r19018]
2003-07-10 10:58:40 +00:00
Vladimir Prus
63eeb06875 Bugfix: don't assign the same number to two different flags.
[SVN r18961]
2003-07-07 15:02:36 +00:00
Vladimir Prus
9f9f661453 Kill some warnings.
[SVN r18930]
2003-07-03 09:55:39 +00:00
Vladimir Prus
bd5a03d448 Handle include dependencies between generated sources correctly.
[SVN r18889]
2003-06-30 14:24:20 +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
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
Vladimir Prus
3e0338e973 Integrate semaphores extension from Craig McPeeters' branch on
public.perforce.com (revisions 1664, 1665).


[SVN r16472]
2002-12-02 12:28:01 +00:00
Vladimir Prus
d374176afe Kill a warning.
[SVN r15858]
2002-10-10 13:20:43 +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
a663d9fd00 restore FAIL_EXPECTED rule
[SVN r13745]
2002-05-08 13:52:50 +00:00