diff options
Diffstat (limited to 'v4l/scripts/make_noconfig.pl')
-rwxr-xr-x | v4l/scripts/make_noconfig.pl | 57 |
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; |