Ignore:
Timestamp:
Jun 20, 2012, 12:44:52 AM (13 years ago)
Author:
bird
Message:

gnumake/current -> 3.82-cvs.

Location:
vendor/gnumake/current
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • vendor/gnumake/current

    • Property svn:ignore deleted
  • vendor/gnumake/current/readme.vms

    r1989 r2596  
    11This is the VMS version of GNU Make, updated by Hartmut Becker
    22
    3 Changes are based on GNU make 3.80. Latest changes are for OpenVMS/I64
    4 and new VMS CRTLs.
    5 
    6 This version was tested on OpenVMS/I64 V8.2 (field test) with hp C
    7 X7.1-024 OpenVMS/Alpha V7.3-2 with Compaq C V6.5-001 and OpenVMS/VAX 7.1
    8 with Compaq C V6.2-003 There are still some warning and informational
    9 message issued by the compilers.
     3Changes are based on GNU make 3.82.
     4
     5This version was built and tested on OpenVMS V7.3 (VAX), V7.3-2 (Alpha) and
     6V8.3-1H1 (I64).
    107
    118Build instructions
    129Make a 1st version
    13        $ @makefile.com
     10       $ @makefile.com  ! ignore any compiler and/or linker warning
    1411       $ rena make.exe 1st-make.exe
    1512Use the 1st version to generate a 2nd version
     
    2118       $ mc sys$disk:[]2nd-make
    2219
    23 Changes:
     20Changes (3.81.90)
     21
     22Michael Gehre (at VISTEC-SEMI dot COM) supplied a fix for a problem with
     23timestamps of object modules in OLBs. The timestamps were not correctly
     24adjusted to GMT based time, if the local VMS time was using a daylight saving
     25algorithm and if daylight saving was switched off.
     26
     27John Eisenbraun (at HP dot COM) supplied fixes and and an enhancement to append
     28output redirection in action lines.
     29
     30Rework of ctrl+c and ctrl+y handling.
     31
     32Fix a problem with cached strings, which showed on case-insensitive file
     33systems.
     34
     35Build fixes for const-ified code in VMS specific sources.
     36
     37Build notes:
     38- Try to avoid HP C V7.2-001, which has an incompatible change
     39how __STDC__ is defined. This results at least in compile time warnings.
     40
     41- On V8.3-1H1, if you press Ctrl+C you may see a traceback, starting with
     42%SYSTEM-F-CONTROLC, operation completed under CTRL/C
     43%TRACE-F-TRACEBACK, symbolic stack dump follows
     44image     module    routine               line      rel PC           abs PC
     45
     46DECC$SHR  C$SIGNAL  gsignal              27991 0000000000001180
     47FFFFFFFF84AB2DA0
     48DECC$SHR  C$SIGNAL  raise                28048 0000000000001280
     49FFFFFFFF84AB2EA0
     50DECC$SHR  C$SIGPENDING  decc$$deliver_signals
     51                                         12475 0000000000000890
     52FFFFFFFF84C13690
     53...
     54This looks like an incompatibility to the Alpha and VAX behavior, so it looks
     55like a problem in I64 VMS version(s).
     56
     57- There is no clean build on VAX. In the environment I tested, I had to use GNU
     58make's alloca which produced a couple of compile time warnings. It seems too
     59much effort to work on a clean build on VAX.
     60
     61A note on appending the redirected output. With this change, a simple mechanism
     62is implemented to make ">>" work in action lines. In VMS there is no simple
     63feature like ">>" to have DCL command or program output redirected and appended
     64to a file. GNU make for VMS already implements the redirection of output. If
     65such a redirection is detected, an ">" on the action line, GNU make creates a
     66DCL command procedure to execute the action and to redirect its output. Based
     67on that, now ">>" is also recognized and a similar but different command
     68procedure is created to implement the append. The main idea here is to create a
     69temporary file which collects the output and which is appended to the wanted
     70output file. Then the temporary file is deleted. This is all done in the
     71command procedure to keep changes in make small and simple. This obviously has
     72some limitations but it seems good enough compared with the current ">"
     73implementation. (And in my opinion, redirection is not really what GNU make has
     74to do.) With this approach, it may happen that the temporary file is not yet
     75appended and is left in SYS$SCRATCH. The temporary file names look like
     76"CMDxxxxx.". Any time the created command procedure can not complete, this
     77happens. Pressing Ctrl+Y to abort make is one case. In case of Ctrl+Y the
     78associated command procedure is left in SYS$SCRATCH as well. Its name is
     79CMDxxxxx.COM.
     80
     81Change in the Ctrl+Y handling
     82
     83Ctrl+Y was: The CtrlY handler called $forcex for the current child.
     84
     85Ctrl+Y changed: The CtrlY handler uses $delprc to delete all children. This way
     86also actions with DCL commands will be stopped. As before Ctrl+Y then sends
     87SIGQUIT to itself, which is handled in common code.
     88
     89Change in deleteing temporary command files
     90
     91Temporary command files were deleted in the main line, after returning from the
     92vms child termination handler. If Ctrl+C was pressed, the handler is called but
     93did not return to main line.
     94
     95Now, temporary command files are deleted in the vms child termination
     96handler. That deletes the them even if a Ctrl+C was pressed.
     97
     98The behavior of pressing Ctrl+C is not changed. It still has only an effect,
     99after the current action is terminated. If that doesn't happen or takes too
     100long, Ctrl+Y should be used instead.
     101
     102
     103Changes (3.80)
    24104
    25105. In default.c define variable ARCH as IA64 for VMS on Itanium systems.
     
    300380-------------------------------------------------------------------------------
    301381Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    302 2006, 2007 Free Software Foundation, Inc.
     3822006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
    303383This file is part of GNU Make.
    304384
Note: See TracChangeset for help on using the changeset viewer.