1#! /bin/sh 2############################################################################## 3# Copyright (c) 1998-2010,2015 Free Software Foundation, Inc. # 4# # 5# Permission is hereby granted, free of charge, to any person obtaining a # 6# copy of this software and associated documentation files (the "Software"), # 7# to deal in the Software without restriction, including without limitation # 8# the rights to use, copy, modify, merge, publish, distribute, distribute # 9# with modifications, sublicense, and/or sell copies of the Software, and to # 10# permit persons to whom the Software is furnished to do so, subject to the # 11# following conditions: # 12# # 13# The above copyright notice and this permission notice shall be included in # 14# all copies or substantial portions of the Software. # 15# # 16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 19# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 22# DEALINGS IN THE SOFTWARE. # 23# # 24# Except as contained in this notice, the name(s) of the above copyright # 25# holders shall not be used in advertising or otherwise to promote the sale, # 26# use or other dealings in this Software without prior written # 27# authorization. # 28############################################################################## 29# 30# Author: Thomas E. Dickey, 1997-on 31# 32# $Id: MKexpanded.sh,v 1.18 2015/10/24 23:39:24 tom Exp $ 33# 34# Script to generate 'expanded.c', a dummy source that contains functions 35# corresponding to complex macros used in this library. By making functions, 36# we simplify analysis and debugging. 37 38if test $# != 0; then 39preprocessor="$1" 40else 41preprocessor="cc -E" 42fi 43shift 44if test $# != 0 ; then 45 preprocessor="$preprocessor $*" 46else 47 preprocessor="$preprocessor -DHAVE_CONFIG_H -I. -I../include" 48fi 49 50TMP=gen$$.c 51trap "rm -f $TMP" 0 1 2 5 15 52 53cat <<EOF 54/* generated by MKexpanded.sh */ 55#define NEED_NCURSES_CH_T 1 56#include <curses.priv.h> 57 58#ifndef CUR 59#define CUR SP_TERMTYPE 60#endif 61 62#if NCURSES_EXPANDED 63EOF 64 65cat >$TMP <<EOF 66#include <ncurses_cfg.h> 67#undef NCURSES_EXPANDED /* this probably is set in ncurses_cfg.h */ 68#include <curses.priv.h> 69/* these are names we'd like to see */ 70#undef ALL_BUT_COLOR 71#undef PAIR_NUMBER 72#undef TRUE 73#undef FALSE 74/* this is a marker */ 75IGNORE 76NCURSES_EXPORT(void) 77_nc_toggle_attr_on (attr_t *S, attr_t at) 78{ 79 toggle_attr_on(*S,at); 80} 81 82NCURSES_EXPORT(void) 83_nc_toggle_attr_off (attr_t *S, attr_t at) 84{ 85 toggle_attr_off(*S,at); 86} 87 88NCURSES_EXPORT(int) 89NCURSES_SP_NAME(_nc_DelCharCost) (NCURSES_SP_DCLx int count) 90{ 91 return DelCharCost(SP_PARM, count); 92} 93 94NCURSES_EXPORT(int) 95NCURSES_SP_NAME(_nc_InsCharCost) (NCURSES_SP_DCLx int count) 96{ 97 return InsCharCost(SP_PARM, count); 98} 99 100NCURSES_EXPORT(void) 101NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx CARG_CH_T c) 102{ 103 UpdateAttrs(SP_PARM, CHDEREF(c)); 104} 105 106@if_NCURSES_SP_FUNCS 107NCURSES_EXPORT(int) 108_nc_DelCharCost (int count) 109{ 110 return NCURSES_SP_NAME(_nc_DelCharCost) (CURRENT_SCREEN, count); 111} 112 113NCURSES_EXPORT(int) 114_nc_InsCharCost (int count) 115{ 116 return NCURSES_SP_NAME(_nc_InsCharCost)(CURRENT_SCREEN, count); 117} 118 119NCURSES_EXPORT(void) 120_nc_UpdateAttrs (CARG_CH_T c) 121{ 122 NCURSES_SP_NAME(_nc_UpdateAttrs)(CURRENT_SCREEN,c); 123} 124@endif 125EOF 126 127$preprocessor $TMP 2>/dev/null | \ 128 sed -e '1,/^IGNORE$/d' -e 's/^@/#/' -e 's/^#if_/#if /' -e "s,$TMP,expanded.c," 129 130cat <<EOF 131#else /* ! NCURSES_EXPANDED */ 132NCURSES_EXPORT(void) _nc_expanded (void) { } 133#endif /* NCURSES_EXPANDED */ 134EOF 135