| 1 | #! /bin/sh | 
|---|
| 2 | # $Id: MKncurses_def.sh,v 1.2 2003/10/25 16:19:46 tom Exp $ | 
|---|
| 3 | ############################################################################## | 
|---|
| 4 | # Copyright (c) 2000 Free Software Foundation, Inc.                          # | 
|---|
| 5 | #                                                                            # | 
|---|
| 6 | # Permission is hereby granted, free of charge, to any person obtaining a    # | 
|---|
| 7 | # copy of this software and associated documentation files (the "Software"), # | 
|---|
| 8 | # to deal in the Software without restriction, including without limitation  # | 
|---|
| 9 | # the rights to use, copy, modify, merge, publish, distribute, distribute    # | 
|---|
| 10 | # with modifications, sublicense, and/or sell copies of the Software, and to # | 
|---|
| 11 | # permit persons to whom the Software is furnished to do so, subject to the  # | 
|---|
| 12 | # following conditions:                                                      # | 
|---|
| 13 | #                                                                            # | 
|---|
| 14 | # The above copyright notice and this permission notice shall be included in # | 
|---|
| 15 | # all copies or substantial portions of the Software.                        # | 
|---|
| 16 | #                                                                            # | 
|---|
| 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # | 
|---|
| 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   # | 
|---|
| 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    # | 
|---|
| 20 | # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      # | 
|---|
| 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    # | 
|---|
| 22 | # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        # | 
|---|
| 23 | # DEALINGS IN THE SOFTWARE.                                                  # | 
|---|
| 24 | #                                                                            # | 
|---|
| 25 | # Except as contained in this notice, the name(s) of the above copyright     # | 
|---|
| 26 | # holders shall not be used in advertising or otherwise to promote the sale, # | 
|---|
| 27 | # use or other dealings in this Software without prior written               # | 
|---|
| 28 | # authorization.                                                             # | 
|---|
| 29 | ############################################################################## | 
|---|
| 30 | # | 
|---|
| 31 | # MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h | 
|---|
| 32 | # | 
|---|
| 33 | # Author: Thomas E. Dickey 2000 | 
|---|
| 34 | # | 
|---|
| 35 | # Given the choice between constructs such as | 
|---|
| 36 | # | 
|---|
| 37 | #       #if defined(foo) && foo | 
|---|
| 38 | #       #if foo | 
|---|
| 39 | # | 
|---|
| 40 | # we chose the latter.  It is guaranteed by the language standard, and there | 
|---|
| 41 | # appear to be no broken compilers that do not honor that detail.  But some | 
|---|
| 42 | # people want to use gcc's -Wundef option (corresponding to one of the less | 
|---|
| 43 | # useful features in Watcom's compiler) to check for misspellings.  So we | 
|---|
| 44 | # generate a set of fallback definitions to quiet the warnings without making | 
|---|
| 45 | # the code ugly. | 
|---|
| 46 | # | 
|---|
| 47 | DEFS="${1-ncurses_defs}" | 
|---|
| 48 | cat <<EOF | 
|---|
| 49 | /* | 
|---|
| 50 | * This file is generated by $0 | 
|---|
| 51 | */ | 
|---|
| 52 |  | 
|---|
| 53 | #ifndef NC_DEFINE_H | 
|---|
| 54 | #define NC_DEFINE_H 1 | 
|---|
| 55 |  | 
|---|
| 56 | EOF | 
|---|
| 57 |  | 
|---|
| 58 | ${AWK-awk} <$DEFS ' | 
|---|
| 59 | !/^[@#]/ { | 
|---|
| 60 | if ( NF == 1 ) | 
|---|
| 61 | { | 
|---|
| 62 | print "#ifndef", $1 | 
|---|
| 63 | print "#define", $1, "0" | 
|---|
| 64 | print "#endif" | 
|---|
| 65 | print "" | 
|---|
| 66 | } else if ( NF != 0 ) { | 
|---|
| 67 | print "#ifndef", $1 | 
|---|
| 68 | printf "#define" | 
|---|
| 69 | for (n = 1; n <= NF; n++) { | 
|---|
| 70 | printf " %s", $n | 
|---|
| 71 | } | 
|---|
| 72 | print "" | 
|---|
| 73 | print "#endif" | 
|---|
| 74 | print "" | 
|---|
| 75 | } | 
|---|
| 76 | } | 
|---|
| 77 | END     { | 
|---|
| 78 | print "#endif /* NC_DEFINE_H */" | 
|---|
| 79 | } | 
|---|
| 80 | ' | 
|---|