summaryrefslogtreecommitdiffstats
path: root/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
blob: 077120888e2c826b9c4cee5771f149727758571a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Fix GCC 5.x preprocessor failure

Building ncurses 5.9 with GCC 5.x fails with a syntax error, caused by
earlier preprocessing. This failure is more likely when building for
host (e.g. host-ncurses) that recently updated to GCC 5.x.

This patch is taken from the following link (more information is also
available here):
https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk

Signed-off-by: Doug Kehn <rdkehn@yahoo.com>

Index: b/ncurses/base/MKlib_gen.sh
===================================================================
--- a/ncurses/base/MKlib_gen.sh
+++ b/ncurses/base/MKlib_gen.sh
@@ -62,7 +62,15 @@ if test "${LC_MESSAGES+set}" = set; then
 if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 if test "${LC_COLLATE+set}"  = set; then LC_COLLATE=C;  export LC_COLLATE;  fi
 
-preprocessor="$1 -DNCURSES_INTERNALS -I../include"
+# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives
+# by simply suppressing them:
+case `$1 -dumpversion 2>/dev/null` in
+	5.[01].*)  # assume a "broken" one
+		preprocessor="$1 -P -DNCURSES_INTERNALS -I../include"
+		;;
+	*)
+		preprocessor="$1 -DNCURSES_INTERNALS -I../include"
+esac
 AWK="$2"
 USE="$3"
 
OpenPOWER on IntegriCloud