summarylogtreecommitdiffstats
path: root/config_dvb.pl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'config_dvb.pl.patch')
-rw-r--r--config_dvb.pl.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/config_dvb.pl.patch b/config_dvb.pl.patch
new file mode 100644
index 000000000000..f43ef78ef248
--- /dev/null
+++ b/config_dvb.pl.patch
@@ -0,0 +1,86 @@
+Only in sc-build/contrib/sasc-ng: config.mak
+Only in sc-build/contrib/sasc-ng/dvbloopback/module/config-dvb: chkdvb.c
+diff -ru sc/contrib/sasc-ng/dvbloopback/module/config_dvb.pl sc-build/contrib/sasc-ng/dvbloopback/module/config_dvb.pl
+--- sc/contrib/sasc-ng/dvbloopback/module/config_dvb.pl 2012-07-31 21:59:15.715706905 +0200
++++ sc-build/contrib/sasc-ng/dvbloopback/module/config_dvb.pl 2012-09-15 13:29:47.000000000 +0200
+@@ -17,79 +17,12 @@
+ $cmd = "cd config-dvb && make $vars" . ($debug ? "" : "2>/dev/null 1>/dev/null");
+ print "$cmd\n" if($debug);
+
+- #test linux-version >= 2.6.22
+ system("ln -sf chkdvb-2.6.v4l.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found dvbdev.h from 2.6.22 or later\n";
++ print "Assuming kernel 2.6.22 or later\n";
+ `echo "DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);" >> dvbdevwrap.h`;
+ `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev, adapter_nr)" >> dvbdevwrap.h`;
+ return 0;
+- }
+-
+- #test linux-version >= 2.6.18
+- system("ln -sf chkdvb-2.6.18.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found dvbdev.h from 2.6.18 or later\n";
+- `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev)" >> dvbdevwrap.h`;
+- return 0;
+- }
+-
+- #test linux-version >= 2.6.14
+- system("ln -sf chkdvb-2.6.14.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found dvbdev.h from 2.6.14 or later\n";
+- `echo "#define wrap_dvb_reg_adapter dvb_register_adapter" >> dvbdevwrap.h`;
+- return 0;
+- }
+-
+- #test linux-version >= 2.6.5
+- system("ln -sf chkdvb-2.6.5.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found dvbdev.h from 2.6.5 or later\n";
+- print "But this is an unsupported kernel!\n";
+- return 1;
+- }
+
+- #maybe kernel headers aren't available. let's use canned dvbdev.h
+- #this is dangerous!
+- $uname = `uname -r`;
+- if($uname =~ /2\.6\.(\d\d)/ && $1 >= 22) {
+- system("ln -sf ../dvbdev-2.6.v4l.h config-dvb/dvbdev.h");
+- system("ln -sf chkdvb-2.6.v4l.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found 2.6.22 or later kernel, but no dvbdev.h\n";
+- print "Using canned header\n";
+- `echo "DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);" >> dvbdevwrap.h`;
+- `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev, adapter_nr)" >> dvbdevwrap.h`;
+- system("ln -sf dvbdev-2.6.v4l.h dvbdev.h");
+- return 0;
+- }
+- }
+- elsif($uname =~ /2\.6\.2[01]/ ||
+- $uname =~ /2\.6\.1[89]/) {
+- system("ln -sf ../dvbdev-2.6.18.h config-dvb/dvbdev.h");
+- system("ln -sf chkdvb-2.6.18.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found 2.6.18 or later kernel, but no dvbdev.h\n";
+- print "Using canned header\n";
+- `echo "#define wrap_dvb_reg_adapter(a, b, c) dvb_register_adapter(a, b, c, &dvblb_basedev->dev)" >> dvbdevwrap.h`;
+- system("ln -sf dvbdev-2.6.18.h dvbdev.h");
+- return 0;
+- }
+- }
+- elsif($uname =~ /2\.6\.1[4-7]/) {
+- system("ln -sf ../dvbdev-2.6.14.h config-dvb/dvbdev.h");
+- system("ln -sf chkdvb-2.6.14.c config-dvb/chkdvb.c");
+- if(system("$cmd") == 0) {
+- print "Found 2.6.14 or later kernel, but no dvbdev.h\n";
+- print "Using canned header\n";
+- `echo "#define wrap_dvb_reg_adapter dvb_register_adapter" >> dvbdevwrap.h`;
+- system("ln -sf dvbdev-2.6.14.h dvbdev.h");
+- return 0;
+- }
+- }
+- print "Could not identify kernel\n";
+- return 1;
+ }
+
+ exit(test_dvb_adapter(@ARGV));