patchlevel.h #32

  • //
  • guest/
  • matt_armstrong/
  • jam/
  • patched_version/
  • patchlevel.h
  • View
  • Commits
  • Open Download .zip Download (461 B)
/* Keep JAMVERSYM in sync with VERSION. */
/* It can be accessed as $(JAMVERSION) in the Jamfile. */

#define VERSION "2.5rc3"
#define JAMVERSYM "JAMVERSION=2.5"

#ifdef OPT_PATCHED_VERSION_VAR_EXT
#define PATCHED_VERSION_MAJOR "a"
#define PATCHED_VERSION_MINOR "t"
#endif

/* Update DPG_JAMVERSION's major number when you want the existing
 * Jamfiles to fail when people are using an old version of dpg jam.
 * */
#define DPG_JAMVERSION "DPG_JAMVERSION=1.5"

# Change User Description Committed
#37 4632 Matt Armstrong An OPT_SEMAPHORE feature stolen from Craig McPheeters.
#36 4337 Matt Armstrong New -dM build flag to get make1.c debug logging.
#35 4336 Matt Armstrong Fix bug for strange make.c and RULE_UPDATED interaction.

If you have a rule with flag RULE_UPDATED, then any dependents
must have fate greater than T_FATE_STABLE to be included.

However, make.c can get confused for dependency trees like
this:

a --> b --> d
  \-> c --> d

In this case, make.c can set the fate of "d" before it ever
gets to "c".  So you will end up with a T_FATE_MISSING target
"c" with dependents with T_FATE_STABLE.

If "c" happens to have a RULE_UPDATED action, RULE_UPDATED,
make1list() will refrain from including it in the list of
targets.

We hack around this here by explicitly checking for this case
and manually tweaking the dependents fate to at least
T_FATE_NEWER.

An alternate fix is to modify make1cmds() to take a TARGET*
instead of an ACTIONS* and, when the target is T_FATE_MISSING,
have it mask off the RULE_UPDATED flag when calling
make1list().
#34 4081 Matt Armstrong bump up the stack size for w32 j.exe builds, since
the default stack size is too small to handle the
make1c <-> make1d recursion for large Clean actions
lists.
#33 4047 Matt Armstrong 20% reduction in memory use.
#32 4045 Matt Armstrong patchlevel a.t - take the public perfoce depot's change 4044.

Change 4044 by matt_armstrong@matt_armstrong-jrukman-jam on 2003/12/23 17:03:13

Fix //guest/matt_armstrong/jam/bug/3/... (as well as 2/... and
1/...).

Introduce a pass *before* make0() that propagates INCLUDES
relationships fully thruout the dependency graph.  bug/3 was
caused by make0 trying to do too much at once.  You can't
properly deal with cycles in the INCLUDES graph and correctly
determine dependencies in one pass.

We now have three passes through the dependency graph in make.c

1) make0bscan() - bind and scan all targets in the tree
2) make0includes() - gather all INCLUDES from sub-INCLUDES in
    a way that is safe from cycles in the INCLUDES graph.
3) make0() - fate determination

TODO: verify correct bindtarget() use in make0bscan() and
make0includes()

Affected files ...

... //guest/matt_armstrong/jam/fix/2/make.c#7 edit
... //guest/matt_armstrong/jam/fix/2/rules.h#6 edit
#31 3972 Matt Armstrong bootstrap integrations from //guest/matt_armstrong/jam/fix/2/...
(no code change)
#30 3969 Matt Armstrong Integrate from //guest/matt_armstrong/jam/fix/2/...@3963 -- no
real changes.
#29 3958 Matt Armstrong patchlevel a.s to indicate fix for parallel builds with
circular INCLUDES chains.
#28 3950 Matt Armstrong Integrate from //guest/matt_armstrong/jam/fix/1/...
thru change
3948 and make no changes.
#27 3693 Matt Armstrong Update patchlevel (to reflect recent bug fixes).
 #include
string.h instead of strings.h
#26 3683 Matt Armstrong Checkpoint improved memory use canges.
#25 3665 Matt Armstrong Fix debug statement logging.
 Under NT, don't compile debug
versions by default.
#24 3656 Matt Armstrong Partial support for a -T flag that prints out more detailed
memory usage statistics.
#23 3628 Matt Armstrong Add an MD5 function to Jam.
#22 3622 Matt Armstrong Append the features present in this Jam to the
PATCHED_JAM_VERSION variable.
#21 3587 Matt Armstrong Fixups.
#20 3586 Matt Armstrong New patch level.
 Implement serial output.  Fix response file
support so it prints the contents of the response files when
the build fails.
#19 3575 Matt Armstrong Correct "...failed" output
#18 3529 Matt Armstrong DEBUG_MAKE now prints the target's name and not its bound name.
#17 3516 Matt Armstrong Steal OPT_INTERRUPT_FIX and re-steal OPT_GRAPH_DEBUG_EXT from
Craig.
#16 3447 Matt Armstrong With OPT_PRINT_TOTAL_TIME_EXT, setting the JAM_ELAPSED_LOGFILE
environment variable to a filename will cause build times to
be written to that log file.
#15 3446 Matt Armstrong enable response files
#14 3335 Matt Armstrong version a.e

turn off response files -- something is broken with them
#13 3328 Matt Armstrong patchlevel to a.d

       fix cmd_string() to not do response file stuff for all rules
#12 3327 Matt Armstrong Patchlevel a.c.

Remove OPT_IMPROVE_TEMP_FILE_DELETE_EXT since upstream has a fix.

Implement OPT_FIX_NT_ARSCAN_LEAK to fix a memory leak in the NT arscan
functions.

Get Pure builds running on NT.
#11 3323 Matt Armstrong Attempt to fix the -g bug's interaction with the "first"
pseudotarget by not sorting the children of NOTFILE targets.
#10 3322 Matt Armstrong Change PATCHED_VERSION_MAJOR to "a" and same for
PATCHED_VERSION_MINOR.  This allows Jam's string comparison
stuff to work as the strings are incremented.  E.g. "10" < "9"
(bad) but "za" > "z" (good).
#9 3311 Matt Armstrong Update from mainline.
#8 2860 Matt Armstrong Integrate from mainline.
#7 2817 Matt Armstrong Update with current known working version.
#6 2816 Matt Armstrong Integrate from mainline.
 This does not compile.
#5 2507 Matt Armstrong update from the mainline
#4 2089 Matt Armstrong More integrations from upstream.
#3 2087 Matt Armstrong I think most of this is updates from stock jam.
#2 1271 Matt Armstrong This is "my" custom version of Jam.  See the
LOCAL_DIFFERENCES.txt file for a description of differences
from the upstream jam.
#1 1270 Matt Armstrong In prep for publishing all my patches to jam.
//guest/perforce_software/jam/src/patchlevel.h
#7 556 Perforce staff Patch release jam 2.3.2: reverse NOCARE change.
 NOCARE once
again applies to targets with source and/or actions, so that
buildable header files get built.
#6 486 Perforce staff Jam 2.3.
 See RELNOTES for a list of changes from 2.2.x.

Just about every source file was touched when jam got ANSI-fied.
#5 76 Laura Wingerd Integrate command-block-too-long fix, plus minor doc
updates. Jam/MR release level is now 2.2.5.
(change 72, change 73, change 74, change 75)
#4 5 Perforce maintenance Jam/MR 2.2.4 (HDRPATTERN, JAMUNAME, JAMSHELL, plus misc tweaks)
#3 4 Perforce maintenance Jam/MR 2.2.2 (AmigaOS support)
#2 3 Perforce maintenance Jam/MR 2.2.1 (fix for NT handle leak)
#1 2 laura Add Jam/MR 2.2 source