Skip to content
Snippets Groups Projects
target-metadata.pl 10.72 KiB
#!/usr/bin/env perl
use FindBin;
use lib "$FindBin::Bin";
use strict;
use metadata;
use Getopt::Long;

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";
		/^rootfs-part$/ and $ret .= "\tselect USES_ROOTFS_PART\n";
		/^boot-part$/ and $ret .= "\tselect USES_BOOT_PART\n";
	}
	return $ret;
}

sub target_name($) {
	my $target = shift;
	my $parent = $target->{parent};
	if ($parent) {
		return $target->{parent}->{name}." - ".$target->{name};
	} else {
		return $target->{name};
	}
}

sub kver($) {
	my $v = shift;
	$v =~ tr/\./_/;
	if (substr($v,0,2) eq "2_") {
		$v =~ /(\d+_\d+_\d+)(_\d+)?/ and $v = $1;
	} else {
		$v =~ /(\d+_\d+)(_\d+)?/ and $v = $1;
	}
	return $v;
}

sub print_target($) {