|
|
@@ -321,6 +321,12 @@ sub package2data ($$) {
|
|
|
} else {
|
|
|
$var{$1} = $2;
|
|
|
}
|
|
|
+ } elsif ($v =~ /^\#(?:undefine)\s*(\S+)\s*$/) {
|
|
|
+ if (exists $evar{$1}) {
|
|
|
+ $evar{$1} = "\%\{$1\}";
|
|
|
+ } else {
|
|
|
+ delete $var{$1};
|
|
|
+ }
|
|
|
} elsif ($v =~ /^\#(?:provides)\s*(\S+)\s*(.*?)\s*$/) {
|
|
|
#
|
|
|
# store option for current condition
|
|
|
@@ -372,7 +378,7 @@ sub spec2data ($) {
|
|
|
$s =~ s/^\s*#.*?\n//mg;
|
|
|
|
|
|
# map commands
|
|
|
- $s =~ s/^%(ifdef|ifndef|if|NoSource|option|define|else|endif|\{)/#$1/mg;
|
|
|
+ $s =~ s/^%(ifdef|ifndef|if|NoSource|option|undefine|define|else|endif|\{)/#$1/mg;
|
|
|
|
|
|
# split sections
|
|
|
foreach (split(/^(?=%\w+\s*\n)/m, $s)) {
|