From 60b905ae2f3a31efd6809c790b5a02f574489716 Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Tue, 23 Oct 2018 06:31:31 +0000 Subject: [PATCH] Fix ncurses fallback.c build with a strict build shell The script uses shift three times and when building with a strict /bin/sh shifting without any arguments will cause the script to fail. In this case the target will fail and we write an empty output file. When doing a NO_CLEAN build after this will mean fallback.c is up to date and clang will happily compile the empty input file which leads to strange build errors later. Fixed by passing three empty arguments to MkFallback.sh and only creating fallback.c if MKfallback.sh succeeds. Aproved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D16867 --- lib/ncurses/ncurses/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ncurses/ncurses/Makefile b/lib/ncurses/ncurses/Makefile index 2969dfc8948c..8e6adfcc1fb2 100644 --- a/lib/ncurses/ncurses/Makefile +++ b/lib/ncurses/ncurses/Makefile @@ -350,7 +350,8 @@ expanded.c: MKexpanded.sh sh ${NCURSES_DIR}/ncurses/tty/MKexpanded.sh "${CC:N${CCACHE_BIN}} -E" ${CFLAGS} >expanded.c fallback.c: MKfallback.sh - sh ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh > fallback.c + sh -e ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh "" "" "" > ${.TARGET}.tmp && \ + mv -f ${.TARGET}.tmp ${.TARGET} # Generated headers nomacros.h: MKlib_gen.sh curses.h