X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Fmetadata.pl;h=6249127e3ddfc158626a8e1ab8f7adf91221e2e9;hb=09927ce9e48957875243c2da375374018cb34bd3;hp=7208e16a989a56f4452df39effcfbec0cab3d20a;hpb=fac1085c2f7909d7b494cabea162ddbbc12853e3;p=openwrt%2Fsvn-archive%2Farchive.git diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 7208e16a98..6249127e3d 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -56,6 +56,7 @@ sub parse_target_metadata() { /^Linux-Version:\s*(.+)\s*$/ and $target->{version} = $1; /^Linux-Release:\s*(.+)\s*$/ and $target->{release} = $1; /^Linux-Kernel-Arch:\s*(.+)\s*$/ and $target->{karch} = $1; + /^Default-Subtarget:\s*(.+)\s*$/ and $target->{def_subtarget} = $1; /^Default-Packages:\s*(.+)\s*$/ and $target->{packages} = [ split(/\s+/, $1) ]; /^Target-Profile:\s*(.+)\s*$/ and do { $profile = { @@ -114,6 +115,7 @@ sub gen_kconfig_overrides() { $val = $2; } if ($config{"CONFIG_PACKAGE_$package"} and ($config ne 'n')) { + next if $kconfig{$config} eq 'y'; $kconfig{$config} = $val; } elsif (!$override) { $kconfig{$config} or $kconfig{$config} = 'n'; @@ -160,6 +162,7 @@ sub target_config_features(@) { /usb/ and $ret .= "\tselect USB_SUPPORT\n"; /usbgadget/ and $ret .= "\tselect USB_GADGET_SUPPORT\n"; /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n"; + /rtc/ and $ret .= "\tselect RTC_SUPPORT\n"; /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n"; /jffs2/ and $ret .= "\tselect USES_JFFS2\n"; /ext4/ and $ret .= "\tselect USES_EXT4\n"; @@ -171,6 +174,7 @@ sub target_config_features(@) { /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n"; /powerpc64/ and $ret .= "\tselect powerpc64\n"; /nommu/ and $ret .= "\tselect NOMMU\n"; + /mips16/ and $ret .= "\tselect HAS_MIPS16\n"; } return $ret; } @@ -230,6 +234,7 @@ EOF } if (@{$target->{subtargets}} > 0) { $confstr .= "\tselect HAS_SUBTARGETS\n"; + grep { /broken/ } @{$target->{features}} and $confstr .= "\tdepends BROKEN\n"; } else { $confstr .= $features; } @@ -267,7 +272,7 @@ sub gen_target_config() { print <{def_subtarget}; + print <{conf}_$target->{def_subtarget} if TARGET_$target->{conf} +EOF + } + print < 0) { $title .= ("." x $c). " ". $pkg->{title}; } + $title = "\"$title\""; print "\t"; $pkg->{menu} and print "menu"; print "config PACKAGE_".$pkg->{name}."\n"; - print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." \"$title\"\n"; + $pkg->{hidden} and $title = ""; + print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n"; print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n"; foreach my $default (split /\s*,\s*/, $pkg->{default}) { print "\t\tdefault $default\n"; @@ -696,10 +712,10 @@ sub gen_package_mk() { my $depstr = "\$(curdir)/$idx$suffix/compile"; my $depline = get_conditional_dep($condition, $depstr); if ($depline) { - $deplines{$dep} = $depline; + $deplines{$depline}++; } } - my $depline = join(" ", values %deplines); + my $depline = join(" ", sort keys %deplines); if ($depline) { $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/$type/compile += $depline\n"; } @@ -756,12 +772,12 @@ sub gen_package_mk() { } $depline = get_conditional_dep($condition, $depstr); if ($depline) { - $deplines{$idx.$dep} = $depline; + $deplines{$depline}++; } } } } - my $depline = join(" ", values %deplines); + my $depline = join(" ", sort keys %deplines); if ($depline) { $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n"; }