summaryrefslogtreecommitdiffstats
path: root/install-win32/macro.pl
diff options
context:
space:
mode:
Diffstat (limited to 'install-win32/macro.pl')
-rw-r--r--install-win32/macro.pl49
1 files changed, 29 insertions, 20 deletions
diff --git a/install-win32/macro.pl b/install-win32/macro.pl
index 4705310..08ba58a 100644
--- a/install-win32/macro.pl
+++ b/install-win32/macro.pl
@@ -15,38 +15,47 @@ $open_quote = "@@";
$close_quote = "@@";
while ($arg=shift(@ARGV)) {
- if ($arg =~ /^-/) {
- if ($arg =~ /^-D(\w+)=(.*)$/) {
- $Parms{$1} = $2
- } elsif ($arg =~ /-O(.*)$/) {
- $open_quote = $1;
- } elsif ($arg =~ /-C(.*)$/) {
- $close_quote = $1;
- } else {
- die "unrecognized option: $arg";
- }
+ if ($arg =~ /^-/) {
+ if ($arg =~ /^-D(\w+)(?:=(.*))?$/) {
+ $Parms{$1} = $2
+ } elsif ($arg =~ /-O(.*)$/) {
+ $open_quote = $1;
+ } elsif ($arg =~ /-C(.*)$/) {
+ $close_quote = $1;
} else {
- open(CONTROL, "< $arg") or die "cannot open $arg";
- while (<CONTROL>) {
- chomp;
- if (/^define\s+(\w+)\s+['"]?(.+?)['"]?\s*$/) {
- $Parms{$1} = $2
- }
- }
+ die "unrecognized option: $arg";
}
+ } else {
+ open(CONTROL, "< $arg") or die "cannot open $arg";
+ while (<CONTROL>) {
+ if (/^!define\s+(\w+)(?:\s+['"]?(.*?)['"]?)?\s*$/) {
+ $Parms{$1} = $2;
+ }
+ }
+ }
+}
+
+sub print_symbol_table {
+ foreach my $k (sort (keys(%Parms))) {
+ my $v = $Parms{$k};
+ print "[$k] -> \"$v\"\n";
+ }
}
+#print_symbol_table ();
+#exit 0;
+
while (<STDIN>) {
s{
\Q$open_quote\E
\s*
(
- \w+
- )
+ \w+
+ )
\s*
\Q$close_quote\E
}{
$Parms{$1}
- }xge;
+ }xge;
print;
}