#!/usr/local/bin/perl
# First translate config.lsp into config.c
open(INPUT,"config.lsp");
open(OUTPUT,">config.c");
while ()
{
s/^;#/#/;
print OUTPUT;
}
close(INPUT);
close(OUTPUT);
`(gcc -E config.c | gawk '!/^#/' > lisp.c) 2> /dev/null`;
`(gcc -E -DDEBUG config.c | gawk '!/^#/' > lispd.c) 2> /dev/null`;
`(gcc -E -DSCHEME config.c | gawk '!/^#/' > scheme.c) 2> /dev/null`;
`(gcc -E -DSCHEME -DGAMBIT config.c | gawk '!/^#/' > gambit.c) 2> /dev/null`;
`(gcc -E -DSCHEME -DUSE_MRED config.c | gawk '!/^#/' > mred.c) 2> /dev/null`;
sub trim_blank_lines
{
$blanks = 2;
open(INPUT,$_[0]);
open(OUTPUT,">".$_[1]);
while ()
{
$blanks++;
if (!/^[ \t]*$/) { $blanks = 0; }
if ($blanks < 2) { print OUTPUT; }
}
close(INPUT);
close(OUTPUT);
}
&trim_blank_lines("lisp.c", "lisp.lsp");
&trim_blank_lines("lispd.c", "lispd.lsp");
&trim_blank_lines("gambit.c", "gambit.scm");
&trim_blank_lines("scheme.c", "scheme.scm");
&trim_blank_lines("mred.c", "mred.scm");
`rm config.c lisp.c lispd.c gambit.c scheme.c mred.c`;