summaryrefslogtreecommitdiff
path: root/v4l/scripts/make_noconfig.pl
diff options
context:
space:
mode:
Diffstat (limited to 'v4l/scripts/make_noconfig.pl')
-rwxr-xr-xv4l/scripts/make_noconfig.pl57
1 files changed, 57 insertions, 0 deletions
diff --git a/v4l/scripts/make_noconfig.pl b/v4l/scripts/make_noconfig.pl
new file mode 100755
index 000000000..a81e157e2
--- /dev/null
+++ b/v4l/scripts/make_noconfig.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+
+my $config = ();
+
+open IN,".config";
+while (<IN>) {
+ if (m/\s*([\d\w_]+)[=](.*)\n/) {
+#printf "%s=%s\n",$1,$2;
+ $config { $1 } = $2;
+ }
+}
+close IN;
+
+open IN,".version";
+while (<IN>) {
+ if (m/KERNELRELEASE\s*[:]*[=]+\s*(\d+)\.(\d+)\.(\d+)/) {
+ $version=$1;
+ $level=$2;
+ $sublevel=$3;
+ }
+}
+close IN;
+
+open IN,"versions.txt";
+while (<IN>) {
+ if (m/\[(\d+)\.(\d+)\.(\d+)\]/) {
+ $minversion=$1;
+ $minlevel=$2;
+ $minsublevel=$3;
+ next;
+ }
+ s/\n//;
+
+ if (m/DVB_AV7110_FIRMWARE_FILE/) {
+ next;
+ }
+ if (m/^\s*([\w\d_]+)/) {
+ if ( ($version < $minversion) |
+ ($level < $minlevel) |
+ ($sublevel < $minsublevel) ) {
+ $config { "CONFIG_$1" } = 'n';
+#print "CONFIG_$1 version is not supported\n";
+ next;
+ }
+ if (!($config { "CONFIG_$1" } ) ) {
+print "CONFIG_$1 is unset\n";
+ $config { "CONFIG_$1" } = 'n';
+ }
+ }
+}
+close IN;
+
+open OUT,">.myconfig";
+while ( my ($key, $value) = each(%config) ) {
+ printf OUT "%-44s := %s\n",$key,$value;
+}
+close OUT;