diff options
Diffstat (limited to 'v4l/scripts')
-rwxr-xr-x | v4l/scripts/make_kconfig.pl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl new file mode 100755 index 000000000..f612e83db --- /dev/null +++ b/v4l/scripts/make_kconfig.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl +use FileHandle; + +my $KDIR=shift; +my $ARCH=shift; + +sub open_kconfig($$) { + my ($dir,$file)=@_; + my $in = new FileHandle; + +print "opening $file\n"; + open $in,"$file"; + while (<$in>) { + if (m;^\s*source[\s\"]+drivers/media/(video|dvb)/Kconfig;) { + next; + } + if (m|^\s*source[\s\"]+([^\n\s\"]+)[\n\s\"]|) { + open_kconfig($dir,"$dir/$1"); + next; + } + s/^main(menu\s\"[^\"]+)/\1 - DON'T CHANGE IT!/; + print OUT $_; + } + close $in; +} + +open OUT,">Kconfig.kern"; +open_kconfig($KDIR,"$KDIR/arch/$ARCH/Kconfig"); +print OUT "endmenu\n"; +close OUT; + +open OUT,">Kconfig"; +print OUT "mainmenu \"V4L/DVB menu\"\n"; +open_kconfig ("../linux","../linux/drivers/media/video/Kconfig"); +open_kconfig ("../linux","../linux/drivers/media/dvb/Kconfig"); +print OUT "source Kconfig.kern\n"; +close OUT; |