ar71xx: Add support to TP-Link EAP120
[openwrt/openwrt.git] / scripts / target-metadata.pl
index 7e7d26bac93147f2652abd549509269b29362174..7f7dc6d4ee77efdb814bd54a0836e6d927f0efee 100755 (executable)
@@ -39,6 +39,7 @@ sub target_config_features(@) {
                /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;
 }
@@ -217,6 +218,9 @@ EOF
 config TARGET_MULTI_PROFILE
        bool "Multiple devices"
        depends on HAS_DEVICES
+       help
+       Instead of only building a single image, or all images, this allows you
+       to select images to be built for multiple devices in one build.
 
 EOF
 
@@ -255,14 +259,32 @@ menu "Target Devices"
 
        config TARGET_PER_DEVICE_ROOTFS
                bool "Use a per-device root filesystem that adds profile packages"
+               help
+               When disabled, all device packages from all selected devices
+               will be included in all images by default. (Marked as <*>) You will
+               still be able to manually deselect any/all packages.
+               When enabled, each device builds it's own image, including only the
+               profile packages for that device.  (Marked as {M}) You will be able
+               to change a package to included in all images by marking as {*}, but
+               will not be able to disable a profile package completely.
+               
+               To get the most use of this setting, you must set in a .config stub
+               before calling "make defconfig".  Selecting TARGET_MULTI_PROFILE and
+               then manually selecting (via menuconfig for instance) this option
+               will have pre-defaulted all profile packages to included, making this
+               option appear to have had no effect.
 
 EOF
        foreach my $target (@target) {
-               my $profiles = $target->{profiles};
-               foreach my $profile (@{$target->{profiles}}) {
+               my @profiles = sort {
+                       my $x = $a->{name};
+                       my $y = $b->{name};
+                       "\L$x" cmp "\L$y";
+               } @{$target->{profiles}};
+               foreach my $profile (@profiles) {
                        next unless $profile->{id} =~ /^DEVICE_/;
                        print <<EOF;
-config TARGET_DEVICE_$target->{conf}_$profile->{id}
+menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id}
        bool "$profile->{name}"
        depends on TARGET_$target->{conf}
        default y if TARGET_ALL_PROFILES
@@ -273,6 +295,17 @@ EOF
                                print "\tselect MODULE_DEFAULT_$pkg if TARGET_PER_DEVICE_ROOTFS\n";
                                $defaults{$pkg} = 1;
                        }
+
+                       print <<EOF;
+
+
+       config TARGET_DEVICE_PACKAGES_$target->{conf}_$profile->{id}
+               string "$profile->{name} additional packages"
+               default ""
+               depends on TARGET_PER_DEVICE_ROOTFS
+               depends on TARGET_DEVICE_$target->{conf}_$profile->{id}
+
+EOF
                }
        }