[package] fireall:
[openwrt.git] / scripts / metadata.pl
index 336605f..45d202e 100755 (executable)
@@ -49,6 +49,7 @@ sub parse_target_metadata() {
                /^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1;
                /^Target-Path:\s*(.+)\s*$/ and $target->{path} = $1;
                /^Target-Arch:\s*(.+)\s*$/ and $target->{arch} = $1;
+               /^Target-Arch-Packages:\s*(.+)\s*$/ and $target->{arch_packages} = $1;
                /^Target-Features:\s*(.+)\s*$/ and $target->{features} = [ split(/\s+/, $1) ];
                /^Target-Depends:\s*(.+)\s*$/ and $target->{depends} = [ split(/\s+/, $1) ];
                /^Target-Description:/ and $target->{desc} = get_multiline(*FILE);
@@ -335,6 +336,15 @@ EOF
                $target->{subtarget} or print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n";
        }
        print <<EOF;
+config TARGET_ARCH_PACKAGES
+       string
+       
+EOF
+       foreach my $target (@target) {
+               next if @{$target->{subtargets}} > 0;
+               print "\t\tdefault \"".($target->{arch_packages} || $target->{board})."\" if TARGET_".$target->{conf}."\n";
+       }
+       print <<EOF;
 
 config DEFAULT_TARGET_OPTIMIZATION
        string
@@ -630,6 +640,9 @@ sub gen_package_mk() {
                        $pkg->{buildonly} and $config = "";
                        print "package-$config += $pkg->{subdir}$pkg->{src}\n";
                        if ($pkg->{variant}) {
+                               if (!defined($done{$pkg->{src}})) {
+                                       print "\$(curdir)/$pkg->{subdir}$pkg->{src}/default-variant := $pkg->{variant}\n";
+                               }
                                print "\$(curdir)/$pkg->{subdir}$pkg->{src}/variants += \$(if $config,$pkg->{variant})\n"
                        }
                        $pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n";
This page took 0.022205 seconds and 4 git commands to generate.