118259542SPeter Wemm#! /bin/sh 2*21817992SBaptiste Daroussin# $Id: MKncurses_def.sh,v 1.5 2022/07/16 17:03:59 tom Exp $ 318259542SPeter Wemm############################################################################## 4*21817992SBaptiste Daroussin# Copyright 2020,2022 Thomas E. Dickey # 5e1865124SBaptiste Daroussin# Copyright 2000,2003 Free Software Foundation, Inc. # 618259542SPeter Wemm# # 718259542SPeter Wemm# Permission is hereby granted, free of charge, to any person obtaining a # 818259542SPeter Wemm# copy of this software and associated documentation files (the "Software"), # 918259542SPeter Wemm# to deal in the Software without restriction, including without limitation # 1018259542SPeter Wemm# the rights to use, copy, modify, merge, publish, distribute, distribute # 1118259542SPeter Wemm# with modifications, sublicense, and/or sell copies of the Software, and to # 1218259542SPeter Wemm# permit persons to whom the Software is furnished to do so, subject to the # 1318259542SPeter Wemm# following conditions: # 1418259542SPeter Wemm# # 1518259542SPeter Wemm# The above copyright notice and this permission notice shall be included in # 1618259542SPeter Wemm# all copies or substantial portions of the Software. # 1718259542SPeter Wemm# # 1818259542SPeter Wemm# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 1918259542SPeter Wemm# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 2018259542SPeter Wemm# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 2118259542SPeter Wemm# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 2218259542SPeter Wemm# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 2318259542SPeter Wemm# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 2418259542SPeter Wemm# DEALINGS IN THE SOFTWARE. # 2518259542SPeter Wemm# # 2618259542SPeter Wemm# Except as contained in this notice, the name(s) of the above copyright # 2718259542SPeter Wemm# holders shall not be used in advertising or otherwise to promote the sale, # 2818259542SPeter Wemm# use or other dealings in this Software without prior written # 2918259542SPeter Wemm# authorization. # 3018259542SPeter Wemm############################################################################## 3118259542SPeter Wemm# 3218259542SPeter Wemm# MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h 3318259542SPeter Wemm# 344a1a9510SRong-En Fan# Author: Thomas E. Dickey 2000 3518259542SPeter Wemm# 3618259542SPeter Wemm# Given the choice between constructs such as 3718259542SPeter Wemm# 3818259542SPeter Wemm# #if defined(foo) && foo 3918259542SPeter Wemm# #if foo 4018259542SPeter Wemm# 4118259542SPeter Wemm# we chose the latter. It is guaranteed by the language standard, and there 4218259542SPeter Wemm# appear to be no broken compilers that do not honor that detail. But some 4318259542SPeter Wemm# people want to use gcc's -Wundef option (corresponding to one of the less 4418259542SPeter Wemm# useful features in Watcom's compiler) to check for misspellings. So we 4518259542SPeter Wemm# generate a set of fallback definitions to quiet the warnings without making 4618259542SPeter Wemm# the code ugly. 4718259542SPeter Wemm# 4818259542SPeter WemmDEFS="${1-ncurses_defs}" 4918259542SPeter Wemmcat <<EOF 5018259542SPeter Wemm/* 5118259542SPeter Wemm * This file is generated by $0 5218259542SPeter Wemm */ 5318259542SPeter Wemm 5418259542SPeter Wemm#ifndef NC_DEFINE_H 5518259542SPeter Wemm#define NC_DEFINE_H 1 5618259542SPeter Wemm 5718259542SPeter WemmEOF 5818259542SPeter Wemm 59*21817992SBaptiste Daroussin"${AWK-awk}" <"$DEFS" ' 6018259542SPeter Wemm!/^[@#]/ { 6118259542SPeter Wemm if ( NF == 1 ) 6218259542SPeter Wemm { 6318259542SPeter Wemm print "#ifndef", $1 6418259542SPeter Wemm print "#define", $1, "0" 6518259542SPeter Wemm print "#endif" 6618259542SPeter Wemm print "" 6718259542SPeter Wemm } else if ( NF != 0 ) { 6818259542SPeter Wemm print "#ifndef", $1 6918259542SPeter Wemm printf "#define" 7018259542SPeter Wemm for (n = 1; n <= NF; n++) { 7118259542SPeter Wemm printf " %s", $n 7218259542SPeter Wemm } 7318259542SPeter Wemm print "" 7418259542SPeter Wemm print "#endif" 7518259542SPeter Wemm print "" 7618259542SPeter Wemm } 7718259542SPeter Wemm} 7818259542SPeter WemmEND { 7918259542SPeter Wemmprint "#endif /* NC_DEFINE_H */" 8018259542SPeter Wemm } 8118259542SPeter Wemm' 82