Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Dec 2014 14:25:43 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r275804 - head/gnu/usr.bin/cc/cc1plus
Message-ID:  <201412151425.sBFEPhhs009026@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412151425.sBFEPhhs009026>