xref: /freebsd/crypto/krb5/src/util/getsyms.sed (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1# emulate a C preprocessor (well, sort of)
2:TOP
3y/	/ /
4s/  */ /g
5s%/\*.*\*/%%
6/\/\*/{
7	:COMMENT
8	/\*\//!{
9		s/.*//
10		N
11		bCOMMENT
12	}
13	s%^.*\*/%%
14	bTOP
15}
16/^ *# *ifdef/{
17	s/^ *# *ifdef //
18	b
19}
20/^ *# *ifndef/{
21	s/^ *# *ifndef //
22	b
23}
24/^ *# *if.*defined/{
25	s/^ *# *if //
26	:IF
27	/^defined/!{
28		:NUKE
29		s/^.//
30		/^defined/!bNUKE
31	}
32	h
33	/^defined/s/^defined *( *\([A-Za-z0-9_]*\) *).*/\1/p
34	g
35	/^defined/s/^defined *( *\([[A-Za-z0-9_]*\) *)//
36	/defined/!{
37		d
38		b
39	}
40	bIF
41}
42d
43