merge the scripts dealing with package/target metadata to remove some redundant code
[openwrt/staging/mkresin.git] / scripts / gen_target_config.pl
diff --git a/scripts/gen_target_config.pl b/scripts/gen_target_config.pl
deleted file mode 100755 (executable)
index 10c6c2c..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-#!/usr/bin/perl
-# 
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-use strict;
-
-my @target;
-my $target;
-my $profiles;
-my $profile;
-
-sub features(@) {
-       my $ret;
-
-       while ($_ = shift @_) {
-               /broken/ and $ret .= "\tdepends BROKEN\n";
-               /pci/ and $ret .= "\tselect PCI_SUPPORT\n";
-               /usb/ and $ret .= "\tselect USB_SUPPORT\n";
-               /atm/ and $ret .= "\tselect ATM_SUPPORT\n";
-               /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
-               /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
-               /jffs2/ and $ret .= "\tselect USES_JFFS2\n";
-               /ext2/ and $ret .= "\tselect USES_EXT2\n";
-       }
-       return $ret;
-}
-
-while (<>) {
-       chomp;
-       /^Target:\s*((.+)-(\d+\.\d+))\s*$/ and do {
-               my $conf = uc $3.'_'.$2;
-               $conf =~ tr/\.-/__/;
-               $target = {
-                       id => $1,
-                       conf => $conf,
-                       board => $2,
-                       kernel => $3
-               };
-               $target->{kernel} =~ tr/\./_/;
-               push @target, $target;
-       };
-       /^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1;
-       /^Target-Path:\s*(.+)\s*$/ and $target->{path} = $1;
-       /^Target-Arch:\s*(.+)\s*$/ and $target->{arch} = $1;
-       /^Target-Features:\s*(.+)\s*$/ and do {
-               my $f = [];
-               $target->{features} = $f;
-               @$f = split /\s+/, $1;
-       };
-       /^Target-Description:/ and do {
-               my $desc;
-               while (<>) {
-                       last if /^@@/;
-                       $desc .= $_;
-               }
-               $target->{desc} = $desc;
-       };
-       /^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-Packages:\s*(.+)\s*$/ and do {
-               my @pkgs = split /\s+/, $1;
-               $target->{defaultpkgs} = \@pkgs;
-       };
-       /^Target-Profile:\s*(.+)\s*$/ and do {
-               $profiles = $target->{profiles} or $target->{profiles} = $profiles = [];
-               $profile = {
-                       id => $1
-               };
-               push @$profiles, $profile;
-       };
-       /^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
-       /^Target-Profile-Packages:\s*(.+)\s*$/ and do {
-               my @pkgs = split /\s+/, $1;
-               $profile->{pkgs} = \@pkgs;
-       };
-}
-
-@target = sort {
-       $a->{name} cmp $b->{name}
-} @target;
-
-
-print <<EOF;
-choice
-       prompt "Target System"
-       default LINUX_2_4_BRCM
-       
-EOF
-
-foreach $target (@target) {
-       my $features = features(@{$target->{features}});
-       my $help = $target->{desc};
-       chomp $features;
-       $features .= "\n";
-       if ($help =~ /\w+/) {
-               $help =~ s/^\s*/\t  /mg;
-               $help = "\thelp\n$help";
-       } else {
-               undef $help;
-       }
-
-       print <<EOF
-config LINUX_$target->{conf}
-       bool "$target->{name}"
-       select $target->{arch}
-       select LINUX_$target->{kernel}
-$features$help
-
-EOF
-}
-
-print <<EOF;
-if DEVEL
-
-config LINUX_2_6_ARM
-       bool "UNSUPPORTED little-endian arm platform"
-       depends BROKEN
-       select LINUX_2_6
-       select arm
-
-config LINUX_2_6_CRIS
-       bool "UNSUPPORTED cris platform"
-       depends BROKEN
-       select LINUX_2_6
-       select cris
-
-config LINUX_2_6_M68K
-       bool "UNSUPPORTED m68k platform"
-       depends BROKEN
-       select LINUX_2_6
-       select m68k
-
-config LINUX_2_6_SH3
-       bool "UNSUPPORTED little-endian sh3 platform"
-       depends BROKEN
-       select LINUX_2_6
-       select sh3
-
-config LINUX_2_6_SH3EB
-       bool "UNSUPPORTED big-endian sh3 platform"
-       depends BROKEN
-       select LINUX_2_6
-       select sh3eb
-
-config LINUX_2_6_SH4
-       bool "UNSUPPORTED little-endian sh4 platform"
-       depends BROKEN
-       select LINUX_2_6
-       select sh4
-
-config LINUX_2_6_SH4EB
-       bool "UNSUPPORTED big-endian sh4 platform"
-       depends BROKEN
-       select LINUX_2_6
-       select sh4eb
-
-config LINUX_2_6_SPARC
-       bool "UNSUPPORTED sparc platform"
-       depends BROKEN
-       select LINUX_2_6
-       select sparc
-
-endif
-
-endchoice
-
-choice
-       prompt "Target Profile"
-
-EOF
-
-foreach $target (@target) {
-       my $profiles;
-       
-       $profiles = $target->{profiles} or $profiles = [
-               {
-                       id => 'Default',
-                       name => 'Default',
-                       pkgs => []
-               }
-       ];
-       foreach my $profile (@$profiles) {
-               print <<EOF;
-config LINUX_$target->{conf}_$profile->{id}
-       bool "$profile->{name}"
-       depends LINUX_$target->{conf}
-EOF
-               foreach my $pkg (@{$target->{defaultpkgs}}, @{$profile->{pkgs}}) {
-                       print "\tselect DEFAULT_$pkg\n";
-               }
-               print "\n";
-       }
-}
-
-print "endchoice\n";