From 0f472f0cb3e7818f6c8eb1e51ed24fce9660ea8e Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 24 Mar 2009 01:34:14 +0000
Subject: kconfig.pl: add support for custom prefixes instead of CONFIG_

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15002 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 scripts/kconfig.pl | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

(limited to 'scripts/kconfig.pl')

diff --git a/scripts/kconfig.pl b/scripts/kconfig.pl
index d22af9fe6..07f03c42b 100755
--- a/scripts/kconfig.pl
+++ b/scripts/kconfig.pl
@@ -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]);
-- 
cgit v1.2.3