cvs commit: src/usr.bin/make

Max Okumoto okumoto at crater.dragonflybsd.org
Thu Dec 9 17:05:12 PST 2004


okumoto     2004/12/09 17:03:46 PST

DragonFly src repository

  Modified files:
    usr.bin/make         Makefile Makefile.dist compat.c config.h 
                         job.c job.h main.c 
  Log:
  o Allow use of the ${MAKE_SHELL} variable to specify alternate
    shells for make(1) to use.  Setting it to "sh" and "ksh" are the
    only values which work right ATM; I wouldn't expect "csh" to get
    you far ;)
  
  o Include -DDEFSHELL=1 in Makefile.dist so people boostrapping will
    have a sane default.  And add DragonFly tag
  
  o Add ability to use csh(1) as the make(1) shell.
  
  o Expand the scope of the .SHELL specification to also cover the
    compat mode of operation and the != operator.
  
    While here, fixed a bug in the .SHELL directive processing when
    only the name= attribute is specified and no built-in shell matches
    this name, causing null pointer dereference.
  
  o Fix a very long-standing error in handling .SHELL targets: this
    target uses the brk_string function to parse the line. That
    function uses static storage for both the expanded string and the
    returned argv[] vector.   The JobParseShell function simply stored
    away pointers into this static storage. On the next use of something
    like ${FOO:O} this storage would get overwritten with fatal
    results.
  
    This also allows us to make the shells[] array const bringing us
    one step further in making make WARNS=4 ready.
  
  o Constify the array of predefined shells. It turns out that we
    need two versions of the structure definition for this: one with
    const char pointers, because otherwise gcc won't let us initialize
    the fields with constant strings, and one without the const,
    because we need to work with the structure.
  
  Note: This patch is really a hack for a coping with slow /bin/sh.
        We are importing it to reduce the differences between us and
        the FreeBSD version.
  
  Revision  Changes    Path
  1.13      +16 -0     src/usr.bin/make/Makefile
  1.2       +2 -1      src/usr.bin/make/Makefile.dist
  1.15      +5 -2      src/usr.bin/make/compat.c
  1.7       +0 -2      src/usr.bin/make/config.h
  1.24      +181 -61   src/usr.bin/make/job.c
  1.13      +31 -24    src/usr.bin/make/job.h
  1.29      +10 -2     src/usr.bin/make/main.c


http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/Makefile.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/Makefile.dist.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/compat.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/config.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/job.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/job.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/main.c.diff?r1=1.28&r2=1.29&f=u





More information about the Commits mailing list