summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--v4l/Makefile5
-rwxr-xr-xv4l/scripts/fix_kconfig.pl21
2 files changed, 26 insertions, 0 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index 512b355f4..9d194178f 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -361,18 +361,23 @@ $(obj)/Kconfig: $(obj)/.version
xconfig:: $(QCONF) $(obj)/Kconfig
$(QCONF) $(obj)/Kconfig
+ ./scripts/fix_kconfig.pl
gconfig:: $(GCONF) $(obj)/Kconfig
$(GCONF) $(obj)/Kconfig
+ ./scripts/fix_kconfig.pl
config:: $(CONF) $(obj)/Kconfig
$(CONF) $(obj)/Kconfig
+ ./scripts/fix_kconfig.pl
menuconfig:: $(MCONF) lxdialog $(obj)/Kconfig
$(MCONF) $(obj)/Kconfig
+ ./scripts/fix_kconfig.pl
allyesconfig allmodconfig:: $(obj)/.version
./scripts/make_kconfig.pl $(OUTDIR) $(SRCDIR) 1
+ ./scripts/fix_kconfig.pl
# rule to build kernel conf programs
KMAKEVARS := config-targets=1 mixed-targets=0 dot-config=0 SRCDIR=$(SRCDIR)
diff --git a/v4l/scripts/fix_kconfig.pl b/v4l/scripts/fix_kconfig.pl
new file mode 100755
index 000000000..9a448cbc6
--- /dev/null
+++ b/v4l/scripts/fix_kconfig.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+use strict;
+
+my $need_changes = 0;
+my $out;
+
+open IN,".config";
+while (<IN>) {
+ if (s/CONFIG_VIDEO_CX88_MPEG=y/CONFIG_VIDEO_CX88_MPEG=m/) {
+ $need_changes=1;
+ $out .= $_;
+ }
+}
+close IN;
+
+if ($need_changes) {
+ printf("There's a known bug with the building system with this kernel. Working around.\n");
+ open OUT, ">.config";
+ print OUT $out;
+ close OUT;
+}