ncurses 6.0 - patch 20160625
[ncurses.git] / ncurses / base / MKlib_gen.sh
index 9e41cea2f35965b08aa48db45a59e26104f6868a..4c35b73e50d9fa3edfbebff23aad3254757d7de1 100755 (executable)
@@ -2,10 +2,10 @@
 #
 # MKlib_gen.sh -- generate sources from curses.h macro definitions
 #
-# ($Id: MKlib_gen.sh,v 1.48 2015/07/25 19:02:45 tom Exp $)
+# ($Id: MKlib_gen.sh,v 1.53 2016/06/25 22:08:12 tom Exp $)
 #
 ##############################################################################
-# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2015,2016 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"), #
@@ -72,9 +72,9 @@ USE="$3"
 # 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 `
+PRG=`echo "$1" | $AWK '{ sub(/^[       ]*/,""); sub(/[         ].*$/, ""); print; }' || exit 0`
+FSF=`"$PRG" --version 2>/dev/null || exit 0 | fgrep "Free Software Foundation" | head -n 1`
+ALL=`"$PRG" -dumpversion 2>/dev/null || exit 0`
 ONE=`echo "$ALL" | sed -e 's/\..*$//'`
 if test -n "$FSF" && test -n "$ALL" && test -n "$ONE" ; then
        if test $ONE -ge 5 ; then
@@ -177,6 +177,7 @@ EOF3
 if test "$USE" = generated ; then
 cat >$ED4 <<EOF
        s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) (\2) (\3)/
+       /attr_[sg]et.* z)/s,z),z GCC_UNUSED),
 EOF
 else
 cat >$ED4 <<EOF
@@ -230,7 +231,7 @@ $0 !~ /^P_/ {
        } else if ( $first == "bool" || $first == "NCURSES_BOOL" ) {
                returnType = "Bool";
        } else if ( $second == "*" ) {
-               returnType = "Ptr";
+               returnType = ($1 == "NCURSES_CONST") ? "CPtr" : "Ptr";
        } else {
                returnType = "Code";
        }