1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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));
|