$win_flag = "WIN32##";
@wflags = ();
$mit_specific = 0;
@ignore_list = ( "DOS#?#?" );
foreach $arg (@ARGV) {
if ($arg =~ /^-/) { push @wflags, $arg; }
if ("--mit" eq $arg) {
$mit_specific = 1;
} elsif ("--win16" eq $arg) {
$win_flag = "WIN16##";
} elsif ("--win32" eq $arg) {
$win_flag = "WIN32##";
} elsif ($arg =~ /^--enable-/) {
my($a) = $arg . "##";
$a =~ s/^--enable-//;
$a =~ tr/a-z/A-Z/;
push @ignore_list, $a;
} elsif ($arg =~ /^--ignore=/) {
my($a) = $arg;
$a =~ s/--ignore=//;
push @ignore_list, $a;
} elsif ($arg =~ /^-/) {
print STDERR "Invalid option '$arg'\n";
exit 1;
} else {
if (! defined $dir) {
$dir = $arg;
}
}
}
push @ignore_list, $win_flag;
push @ignore_list, "MIT##" if $mit_specific;
if ($
$sub = "sub do_subst { my (\$a) = shift; \$a =~ s/^##(" . join("|", @ignore_list) . ")//; return \$a; }";
eval $sub;
sub process {
my $fh = shift;
while (<$fh>) {
if (/^@/) {
print "\n";
next;
}
print &do_subst($_);
}
}
if (defined $dir) {
open AUX, "<$dir/win-pre.in" || die "Couldn't open win-pre.in: $!\n";
&process(\*AUX);
close AUX;
}
&process(\*STDIN);
if (defined $dir) {
open AUX, "<$dir/win-post.in" || die "Couldn't open win-post.in: $!\n";
&process(\*AUX);
close AUX;
}
exit 0;