compile.c #2

  • //
  • guest/
  • matt_armstrong/
  • jam/
  • fix/
  • includes/
  • compile.c
  • Commits
# Change User Description Committed
#2 2617 Matt Armstrong delete fixes incorporated upstream
#1 2571 Matt Armstrong initial branch
//guest/perforce_software/jam/src/compile.c
#18 2559 rmg Fix 'var on target ?= value' so that var is only set if it
did not have a target-specific value.  Previously, it would
just overwrite the var's value.

Bug fix documented in RELNOTES.

=== computer:1666: Change 39566 by seiwald@play-seiwald on 2002/12/27 14:44:01
#17 2557 rmg Shuffle mechanism for optional Jamrules includes: now no error
message is issued for a missing include file marked with NOCARE.

Previously, we used Glob to try to find the optional Jamrules
files, but on VMS that doesn't work so well: Glob returns all
uppercase file names with .'s at the end, which doesn't match
"Jamrules" at all.

The NOCARE part is a user-visible change documented in RELNOTES.

=== computer:1666: Change 39273 by seiwald@waffle-cyg-seiwald on 2002/12/19 22:44:03
#16 2529 rmg Fix "on target" variables during header scan, from Matt Armstrong.

Setting target-specific variables while under the influence of
the target's target-specific variables caused the _global_ values
to be modified.  This happened both during header file scanning
and with the "on target statement" syntax.

The manifestation of this was if a file #included itself, HdrRule
would accidentally set HDRRULE/HDRSCAN globally, and then all
files (executables, etc) would get scanned for includes.

While this borrows from Matt's fix, it is a slightly different
implementation.

User visible fix documented in RELNOTES.

=== computer:1666: Change 39095 by seiwald@play-seiwald on 2002/12/17 14:00:58
#15 2495 rmg Fix up comments to compile_on() to reflect the fact that
(a) it is no longer experimental and (b) it is not the same
code as compile_include() (duh).

No functional change.

=== computer:1666: Change 38001 by seiwald@play-seiwald on 2002/11/18 12:25:03
#14 2494 rmg Remove bogus search() call in 'on' statement processing, as
pointed out by Ingo on the jamming mailing list.

=== computer:1666: Change 38000 by seiwald@play-seiwald on 2002/11/18 12:19:24
#13 2493 rmg Rewrite the past: update all jam's source with comments to
reflect changes since about 2.3, very early 2001.

Whitespace only change.

=== computer:1666: Change 37660 by seiwald@play-seiwald on 2002/11/06 22:41:35

Note: I regenerated jamgram.c on my linux 7.3 system prior to
the submit, since patch was so unhappy trying to lay down the
changes from Christopher's change. Presumably this is just due to
different yacc/bison/whatever particulars on the system where
Christopher made the changes originally. - rmg
#12 2491 rmg Some consting in jam to make it more compilable by C++ compilers.

No functional change.

=== computer:1666: Change 37433 by perforce@perforce on 2002/10/30 16:08:51

Recreational const-ing of jam, for compilers that don't allow
"string" to be passed as a non-const char *.

This included a few places where we were modifying what could
possibly have been read-only storage, oddly enough.

No functional change.

=== computer:1666: Change 37602 by seiwald@play-seiwald on 2002/11/04 17:25:40
#11 2490 rmg Jam langauge work: make 'return' actually return from the rule,
rather than just setting the return value.  Introduce new
break/continue statements for managing loops.

User visible change to be documented in Jam.html.

=== computer:1666: Change 37200 by seiwald@play-seiwald on 2002/10/22 15:41:28

Gross rework of Jam.html documentation, including:

- the description of parameters for rules
- description of -g flag
- a new description of targets
- more about rules and their return values
- better separation of rules and updating actions
- putting borders around the tables

(Undocumented) change to documentation.

=== computer:1666: Change 37551 by seiwald@waffle-cyg-seiwald on 2002/11/03 23:17:12

Document jam's new and working break/continue/return statements.

=== computer:1666: Change 37574 by seiwald@play-seiwald on 2002/11/04 13:13:01
#10 2489 rmg Jam tinkering: since all calls to list_new() must either newstr()
or copystr() the added string, instead just pass a flag and let
list_new() do the newstr/copystr.

No functional change.

=== computer:1666: Change 37164 by seiwald@spice on 2002/10/22 01:21:58
#9 2482 rmg Jam.html partial rewrite and the support for named
parameters to rules.

=== computer:1666: Change 34516 by seiwald@play-seiwald on 2002/06/21 23:59:12
#8 1587 rmg if ( "" a b ) once again returns true.

reported by Vladimir Prus <ghost@cs.msu.su>

Christopher's fix.

Bugfix to unreleased behavior.
#7 1537 Perforce staff Fix to 1319: make jam's &&, &, |, and || operators short circuit
as they did before.  'in' now short-circuits as well.

This corrects behavior altered since jam 2.3 and prior to 2.4.
#6 1531 Perforce staff Fix to 1497: finish code that appends results of multiple
rules invoked by expansion of $(rule).
#5 1497 Perforce staff Support for invoking rules via variable expansion, i.e.
"$(rule) targets : sources ;".

Not yet documented.

Documented in Jam.html (rmg change 1536)
#4 1492 Perforce staff Replace action modifiers EXEC_* from compile.h with RULE_* flags
from rules.h.  They've always been the same quantity defined in
two places.  Note that RULE_NEWSRCS is now RULE_UPDATED, to be
consistent with 'actions updated'.

No functional change.
#3 1319 rmg Jam 2.3 + Perforce's internal changes.

This change is a drop of the Perforce internal Jam changes
since the 2.3 public release. The individual changes
represented herein are preserved in the
//guest/richard_geiger/intjam/ branch.

The intent of this drop is to provide a base, from which other
contributors' Jam branches may be integrated into. It is not
intended to become a packaged release in this state. We will
be integrating changes from other users prior to creating the
next packaged release.

Please refer to the src/RELNOTES file for an overview of the
changes present in this integration.

  - Richard Geiger
  Open Source Engineer at Perforce
#2 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.
#1 2 laura Add Jam/MR 2.2 source