3 open(EM, ">embed.h") || die "Can't create embed.h: $!\n";
6 /* This file is derived from global.sym and interp.sym */
8 /* (Doing namespace management portably in C is really gross.) */
12 /* globals we need to hide from the world */
15 open(GL, "<global.sym") || die "Can't open global.sym: $!\n";
18 s/[ \t]*#.*//; # Delete comments.
20 s/(.*)/#define $1\t\tPerl_$1/;
21 s/(................\t)\t/$1/;
25 close(GL) || warn "Can't close global.sym: $!\n";
31 /* Put interpreter specific symbols into a struct? */
37 open(INT, "<interp.sym") || die "Can't open interp.sym: $!\n";
39 s/[ \t]*#.*//; # Delete comments.
41 s/(.*)/#define $1\t\t(curinterp->I$1)/;
42 s/(................\t)\t/$1/;
45 close(INT) || warn "Can't close interp.sym: $!\n";
49 #else /* not multiple, so translate interpreter symbols the other way... */
53 open(INT, "<interp.sym") || die "Can't open interp.sym: $!\n";
55 s/[ \t]*#.*//; # Delete comments.
57 s/(.*)/#define I$1\t\t$1/;
58 s/(................\t)\t/$1/;
61 close(INT) || warn "Can't close interp.sym: $!\n";
65 #endif /* MULTIPLICITY */