home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
usenet
/
altsrcs
/
3
/
3636
< prev
next >
Wrap
Internet Message Format
|
1991-07-16
|
1KB
From: montnaro@spyder.crd.ge.com (Skip Montanaro)
Newsgroups: comp.sys.sgi,alt.sources
Subject: predefined macros
Message-ID: <MONTNARO.91Jul15091019@spyder.crd.ge.com>
Date: 15 Jul 91 13:10:19 GMT
Robert Skinner posted a short script to comp.sys.sgi last week that prints
the predefined macros for the C compiler. I modified it to clean up after
itself, pick up defines generated with -D, and work on a number of other
machines. I don't know who the original author is (Robert picked it up from
the net as well), but s/he deserves credit for a clever idea. Here 'tis.
----------cut----------
#!/bin/sh
# what-defs: prints names of predefined cpp macros
# tested on Sun3, Sun4, SGI, HP, Stellar, Convex, DECstation, Moto 1147
# stupid, stupid Ultrix! I have a "which" function that I cannot use, because
# the Ultrix /bin/sh does not understand shell functions! (try /bin/sh5!)
# also, the Ultrix "test" command does not understand the -x flag!
path="`echo $PATH | sed -e 's/:/ /g'`"
cc=`for dir in $path ; do
if [ -r $dir/cc ] ; then
echo $dir/cc
exit
fi
done`
strings -a -2 /lib/cpp $cc |
sed -e 's/^-D//' |
sort -u |
sed -n '/^[a-zA-Z_][a-zA-Z0-9_]*$/s//#ifdef &\
"%&"\
#endif/p' >/tmp/$$.c
cc -E /tmp/$$.c |
sed -n '/%/s/[%"]//gp'
rm -f /tmp/$$.c
----------cut----------
--
Skip (montanaro@crdgw1.ge.com)