blob: 2ba9fe2ae93a9b2b442f471366c316dc77bf6866 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/bin/sh
cat <<'END' >embed.h
/* This file is derived from global.sym and interp.sym */
/* (Doing namespace management portably in C is really gross.) */
#ifdef EMBED
/* globals we need to hide from the world */
END
sed <global.sym >>embed.h \
-e 's/[ ]*#.*//' \
-e '/^[ ]*$/d' \
-e 's/\(.*\)/#define \1 perl_\1/' \
-e 's/\(................ \) /\1/'
cat <<'END' >> embed.h
#endif /* EMBED */
/* Put interpreter specific symbols into a struct? */
#ifdef MULTIPLICITY
END
sed <interp.sym >>embed.h \
-e 's/[ ]*#.*//' \
-e '/^[ ]*$/d' \
-e 's/\(.*\)/#define \1 (curinterp->I\1)/' \
-e 's/\(................ \) /\1/'
cat <<'END' >> embed.h
#else /* not multiple, so translate interpreter symbols the other way... */
END
sed <interp.sym >>embed.h \
-e 's/[ ]*#.*//' \
-e '/^[ ]*$/d' \
-e 's/\(.*\)/#define I\1 \1/' \
-e 's/\(................ \) /\1/'
cat <<'END' >> embed.h
#endif /* MULTIPLICITY */
END
|