kconfig.pl: add support for custom prefixes instead of CONFIG_
authorFelix Fietkau <nbd@openwrt.org>
Tue, 24 Mar 2009 01:34:14 +0000 (01:34 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 24 Mar 2009 01:34:14 +0000 (01:34 +0000)
SVN-Revision: 15002

scripts/kconfig.pl

index d22af9f..07f03c4 100755 (executable)
@@ -9,7 +9,8 @@
 use warnings;
 use strict;
 
-my @arg = @ARGV;
+my @arg;
+my $PREFIX = "CONFIG_";
 
 sub load_config($) {
        my $file = shift;
@@ -18,11 +19,11 @@ sub load_config($) {
        open FILE, "$file" or die "can't open file";
        while (<FILE>) {
                chomp;
-               /^CONFIG_(.+?)=(.+)/ and do {
+               /^$PREFIX(.+?)=(.+)/ and do {
                        $config{$1} = $2;
                        next;
                };
-               /^# CONFIG_(.+?) is not set/ and do {
+               /^# $PREFIX(.+?) is not set/ and do {
                        $config{$1} = "#undef";
                        next;
                };
@@ -94,9 +95,9 @@ sub print_cfgline($$) {
        my $name = shift;
        my $val = shift;
        if ($val eq '#undef') {
-               print "# CONFIG_$name is not set\n";
+               print "# $PREFIX$name is not set\n";
        } else {
-               print "CONFIG_$name=$val\n";
+               print "$PREFIX$name=$val\n";
        }
 }
 
@@ -143,6 +144,18 @@ sub parse_expr($) {
        }
 }
 
+while (@ARGV > 0 and $ARGV[0] =~ /^-\w+$/) {
+       my $cmd = shift @ARGV;
+       if ($cmd =~ /^-n$/) {
+               $PREFIX = "";
+       } elsif ($cmd =~ /^-p$/) {
+               $PREFIX = shift @ARGV;
+       } else {
+               die "Invalid option: $cmd\n";
+       }
+}
+@arg = @ARGV;
+
 my $pos = 0;
 dump_config(parse_expr(\$pos));
 die "Parse error" if ($arg[$pos]);