X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2FMKlib_gen.sh;h=9e41cea2f35965b08aa48db45a59e26104f6868a;hp=684d86e1de76690a96ca561ecc2a9fc664fb151d;hb=6a530b46563470c2ca73579d1994a0c8e275dd98;hpb=d1a026123ac051716cdc16278345c1fb5c843b79 diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh index 684d86e1..9e41cea2 100755 --- a/ncurses/base/MKlib_gen.sh +++ b/ncurses/base/MKlib_gen.sh @@ -2,10 +2,10 @@ # # MKlib_gen.sh -- generate sources from curses.h macro definitions # -# ($Id: MKlib_gen.sh,v 1.45 2011/05/28 20:28:25 tom Exp $) +# ($Id: MKlib_gen.sh,v 1.48 2015/07/25 19:02:45 tom Exp $) # ############################################################################## -# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. # +# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -66,6 +66,23 @@ preprocessor="$1 -DNCURSES_INTERNALS -I../include" AWK="$2" USE="$3" +# A patch discussed here: +# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html +# introduces spurious #line markers into the preprocessor output. The result +# appears in gcc 5.0 and (with modification) in 5.1, making it necessary to +# determine if we are using gcc, and if so, what version because the proposed +# solution uses a nonstandard option. +PRG=`echo "$1" | sed -e 's/[[:space:]].*$//'` +FSF=`"$PRG" --version 2>/dev/null | fgrep "Free Software Foundation" | head -n 1` +ALL=`"$PRG" -dumpversion 2>/dev/null ` +ONE=`echo "$ALL" | sed -e 's/\..*$//'` +if test -n "$FSF" && test -n "$ALL" && test -n "$ONE" ; then + if test $ONE -ge 5 ; then + echo ".. adding -P option to work around $PRG $ALL" >&2 + preprocessor="$preprocessor -P" + fi +fi + PID=$$ ED1=sed1_${PID}.sed ED2=sed2_${PID}.sed @@ -437,7 +454,7 @@ END { sub(/^\* /,"",value); gsub(/[[:alnum:]_]+ \* /,"",value); gsub(/ (const) /," ",value); - gsub(/ (int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|va_list) /," ",value); + gsub(/ (int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",value); gsub(/ void /,"",value); sub(/^/,"call_",value); gsub(/ (a[[:digit:]]|z) /, " 0 ", value); @@ -457,6 +474,8 @@ cat >$TMP < #undef NCURSES_NOMACROS #include +#include +#include DECLARATIONS