#!/bin/ksh # $Id: defines.sh,v 1.1 2005/11/16 20:01:45 sms Exp $ # www.pccl.demon.co.uk # # Script to display C # define values. # Set CC to the C preprocessor command. # Set DATA to the directory containing defines.list # defines.list contains the list of definitions to look for. CC=gcc DATA=$HOME/data TMP=/tmp/$$ PROGRAM=`basename $0` usage() { echo "USAGE $PROGNAME [-c compiler]" } exit_trap () { rm -rf $TMP.* 2>/dev/null } trap exit_trap exit while getopts c: OPTION do case $OPTION in c) CC=$OPTARG ;; ?) usage exit 0 ;; *) usage exit 22 ;; esac done sort -u $DATA/defines.list | sed -e "s/^[ ]*#.*//" | { while read X do if [ "$X" != "" ] then echo "\"$X\" $X" fi done } >$TMP.c $CC -E $TMP.c | sed -e 's/\"//' -e 's/\"//' | while read name value do if [ \( "$name" != "$value" \) -a \( "$name" != "#" \) ] then echo "$name = $value" fi done