svn commit: r275804 - head/gnu/usr.bin/cc/cc1plus

Ed Maste emaste at FreeBSD.org
Mon Dec 15 14:25:43 UTC 2014


Author: emaste
Date: Mon Dec 15 14:25:42 2014
New Revision: 275804
URL: https://svnweb.freebsd.org/changeset/base/275804

Log:
  Remove empty generated file upon gperf failure
  
  Prior to this change the build could fail as follows, if gperf is not
  available (or fails):
  
    - make(1) stops due to the gperf error, but an empty target file
      (cfns.h) is still created
    - the empty cfns.h is newer than the source cfns.gperf so it is not
      regenerated on subsequent builds
    - the gcc build fails (undefined reference to libc_name_p)
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/gnu/usr.bin/cc/cc1plus/Makefile

Modified: head/gnu/usr.bin/cc/cc1plus/Makefile
==============================================================================
--- head/gnu/usr.bin/cc/cc1plus/Makefile	Mon Dec 15 12:16:09 2014	(r275803)
+++ head/gnu/usr.bin/cc/cc1plus/Makefile	Mon Dec 15 14:25:42 2014	(r275804)
@@ -30,7 +30,7 @@ LDADD=	${LIBBACKEND} ${LIBCPP} ${LIBDECN
 # C++ parser
 cfns.h: cfns.gperf
 	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
-	    ${.ALLSRC} > ${.TARGET}
+	    ${.ALLSRC} > ${.TARGET} || (rm -f ${.TARGET}; false)
 CLEANFILES= cfns.h
 
 DOBJS+=	${SRCS:N*.h:R:S/$/.o/g}


More information about the svn-src-head mailing list