blob: 0106e8077fe90b1b1f2d78839263f07a1f90f02c [file] [log] [blame]
Fix gcc 5.x build failure
Extracted from upstream commit
http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517.
+ modify MKlib_gen.sh to work around change in development version of
gcc introduced here:
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
(reports by Marcus Shawcroft, Maohui Lei).
Original author: Thomas E. Dickey <dickey@invisible-island.net>
Signed-off-by: Mikhail Peselnik <bas@bmail.ru>
[Adam Duskett: Refresh for 6.1]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
--- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400
+++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500
@@ -505,11 +505,22 @@
-e 's/gen_$//' \
-e 's/ / /g' >>$TMP
+cat >$ED1 <<EOF
+s/ / /g
+s/^ //
+s/ $//
+s/P_NCURSES_BOOL/NCURSES_BOOL/g
+EOF
+
+# A patch discussed here:
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+# introduces spurious #line markers. Work around that by ignoring the system's
+# attempt to define "bool" and using our own symbol here.
+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
+cat $ED2 >$TMP
+
$preprocessor $TMP 2>/dev/null \
-| sed \
- -e 's/ / /g' \
- -e 's/^ //' \
- -e 's/_Bool/NCURSES_BOOL/g' \
+| sed -f $ED1 \
| $AWK -f $AW2 \
| sed -f $ED3 \
| sed \