scripts: only generate config from feature flag if fully match
[openwrt/openwrt.git] / scripts / target-metadata.pl
index 7f7dc6d4ee77efdb814bd54a0836e6d927f0efee..cbc3403a057086bb5eba57a565601ae4e8b62c28 100755 (executable)
@@ -9,37 +9,37 @@ sub target_config_features(@) {
        my $ret;
 
        while ($_ = shift @_) {
-               /arm_v(\w+)/ and $ret .= "\tselect arm_v$1\n";
-               /broken/ and $ret .= "\tdepends on BROKEN\n";
-               /audio/ and $ret .= "\tselect AUDIO_SUPPORT\n";
-               /display/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
-               /dt/ and $ret .= "\tselect USES_DEVICETREE\n";
-               /gpio/ and $ret .= "\tselect GPIO_SUPPORT\n";
-               /pci/ and $ret .= "\tselect PCI_SUPPORT\n";
-               /pcie/ and $ret .= "\tselect PCIE_SUPPORT\n";
-               /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";
-               /jffs2_nand/ and $ret .= "\tselect USES_JFFS2_NAND\n";
-               /ext4/ and $ret .= "\tselect USES_EXT4\n";
-               /targz/ and $ret .= "\tselect USES_TARGZ\n";
-               /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
-               /minor/ and $ret .= "\tselect USES_MINOR\n";
-               /ubifs/ and $ret .= "\tselect USES_UBIFS\n";
-               /fpu/ and $ret .= "\tselect HAS_FPU\n";
-               /spe_fpu/ and $ret .= "\tselect HAS_SPE_FPU\n";
-               /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";
-               /rfkill/ and $ret .= "\tselect RFKILL_SUPPORT\n";
-               /low_mem/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n";
-               /small_flash/ and $ret .= "\tselect SMALL_FLASH\n";
-               /nand/ and $ret .= "\tselect NAND_SUPPORT\n";
-               /virtio/ and $ret .= "\tselect VIRTIO_SUPPORT\n";
+               /^arm_v(\w+)$/ and $ret .= "\tselect arm_v$1\n";
+               /^broken$/ and $ret .= "\tdepends on BROKEN\n";
+               /^audio$/ and $ret .= "\tselect AUDIO_SUPPORT\n";
+               /^display$/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
+               /^dt$/ and $ret .= "\tselect USES_DEVICETREE\n";
+               /^gpio$/ and $ret .= "\tselect GPIO_SUPPORT\n";
+               /^pci$/ and $ret .= "\tselect PCI_SUPPORT\n";
+               /^pcie$/ and $ret .= "\tselect PCIE_SUPPORT\n";
+               /^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";
+               /^jffs2_nand$/ and $ret .= "\tselect USES_JFFS2_NAND\n";
+               /^ext4$/ and $ret .= "\tselect USES_EXT4\n";
+               /^targz$/ and $ret .= "\tselect USES_TARGZ\n";
+               /^cpiogz$/ and $ret .= "\tselect USES_CPIOGZ\n";
+               /^minor$/ and $ret .= "\tselect USES_MINOR\n";
+               /^ubifs$/ and $ret .= "\tselect USES_UBIFS\n";
+               /^fpu$/ and $ret .= "\tselect HAS_FPU\n";
+               /^spe_fpu$/ and $ret .= "\tselect HAS_SPE_FPU\n";
+               /^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";
+               /^rfkill$/ and $ret .= "\tselect RFKILL_SUPPORT\n";
+               /^low_mem$/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n";
+               /^small_flash$/ and $ret .= "\tselect SMALL_FLASH\n";
+               /^nand$/ and $ret .= "\tselect NAND_SUPPORT\n";
+               /^virtio$/ and $ret .= "\tselect VIRTIO_SUPPORT\n";
        }
        return $ret;
 }
@@ -203,13 +203,14 @@ endchoice
 
 choice
        prompt "Target Profile"
+       default TARGET_MULTI_PROFILE if BUILDBOT
 
 EOF
        foreach my $target (@target) {
                my $profile = $target->{profiles}->[0];
                $profile or next;
                print <<EOF;
-       default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf}
+       default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf} && !BUILDBOT
 EOF
        }
 
@@ -256,9 +257,11 @@ menu "Target Devices"
 
        config TARGET_ALL_PROFILES
                bool "Enable all profiles by default"
+               default BUILDBOT
 
        config TARGET_PER_DEVICE_ROOTFS
                bool "Use a per-device root filesystem that adds profile packages"
+               default BUILDBOT
                help
                When disabled, all device packages from all selected devices
                will be included in all images by default. (Marked as <*>) You will