force a config reset when the user changes the target platform in menuconfig
[openwrt.git] / scripts / metadata.pl
index 7514a17..1228679 100755 (executable)
@@ -53,6 +53,7 @@ sub parse_target_metadata() {
                        }
                        $profile->{desc} = $desc;
                };
+               /^Target-Profile-Kconfig:/ and $profile->{kconfig} = 1;
        }
        foreach my $target (@target) {
                @{$target->{profiles}} > 0 or $target->{profiles} = [
@@ -148,10 +149,11 @@ sub gen_target_mk() {
   define Profile/$conf\_$profile->{id}
     ID:=$profile->{id}
     NAME:=$profile->{name}
-    PACKAGES:=".join(" ", @{$profile->{packages}})."
-  endef";
-  $profiles_eval .= "
-\$(eval \$(call Profile,$conf\_$profile->{id}))"
+    PACKAGES:=".join(" ", @{$profile->{packages}})."\n";
+                       $profile->{kconfig} and $profiles_def .= "    KCONFIG:=1\n";
+                       $profiles_def .= "  endef";
+                       $profiles_eval .= "
+\$(eval \$(call AddProfile,$conf\_$profile->{id}))"
                }
                print "
 ifeq (\$(CONFIG_LINUX_$conf),y)
@@ -201,6 +203,7 @@ sub gen_target_config() {
 choice
        prompt "Target System"
        default LINUX_2_4_BRCM
+       reset
        
 EOF
 
@@ -298,6 +301,7 @@ config LINUX_$target->{conf}_$profile->{id}
        bool "$profile->{name}"
        depends LINUX_$target->{conf}
 EOF
+                       $profile->{kconfig} and print "\tselect PROFILE_KCONFIG\n";
                        my %pkgs;
                        foreach my $pkg (@{$target->{packages}}, @{$profile->{packages}}) {
                                $pkgs{$pkg} = 1;
This page took 0.02914 seconds and 4 git commands to generate.