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}
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to