cvs commit: src/usr.bin/make arch.c arch.h main.c make.1

Max Okumoto okumoto at crater.dragonflybsd.org
Wed Apr 6 17:37:33 PDT 2005


okumoto     2005/04/06 17:37:31 PDT

DragonFly src repository

  Modified files:
    usr.bin/make         arch.c arch.h main.c make.1 
  Log:
  FreeBSD-Date: 2005/03/31 11:35:56
  FreeBSD-Date: 2005/03/31 11:40:53
  Author: harti
  
  Almost complete rewrite of the archive code (except for the Makefile parsing
  part). Archive handling was broken at least since the move from BSD ar/ranlib
  to GNU binutils because of the different archive format. This rewrite fixes
  this by making make to carry around the defines for all formats (it supports)
  so it can support all of them independent of the actually used one. The
  supported formats are: traditional BSD (this seems to come from V7 at least,
  short names only and __.SYMDEF), BSD4.4 (long names with #1/ and __.SYMDEF)
  and SysV (extra name table and //). The only format not supported are broken
  traditional archives where the member names are truncated to 15 characters.
  
  Errors in the archive are not ignored anymore, but cause make to stop with
  an error message. The command line option -A causes these errors to become
  non-fatal. This is almost compatible with previous usage except for the
  error message printed in any case.
  
  Use a type-safe intrusive list for the archive cache.
  
  Document the new -A flag for ignoring archive errors.
  
  Reviewed by:    Max Okumoto <okumoto at xxxxxxxx> (without new error handling)
  
  Revision  Changes    Path
  1.43      +491 -428  src/usr.bin/make/arch.c
  1.4       +3 -1      src/usr.bin/make/arch.h
  1.67      +7 -3      src/usr.bin/make/main.c
  1.23      +5 -2      src/usr.bin/make/make.1


http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/arch.c.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/arch.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/main.c.diff?r1=1.66&r2=1.67&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/make/make.1.diff?r1=1.22&r2=1.23&f=u





More information about the Commits mailing list