summaryrefslogtreecommitdiff
blob: 8580d4ba7fd619a3e35147b95e94a8136dec7df3 (plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
* grobian@gentoo.org: patches for Solaris, include sys/filio.h for
                      _IOWR, need -lrt for sched_* funcs

https://sourceforge.net/tracker/index.php?func=detail&aid=2603455&group_id=4393&atid=304393

--- a/configure.ac
+++ b/configure.ac
@@ -208,6 +208,8 @@
 
 
 AC_CHECK_LIB(m, sqrt)
+# Solaris has sched_* in -lrt
+AC_CHECK_LIB(rt, sched_get_priority_max)
 
 dnl Don't bother with popt on non-gcc build, because we make heavy use of 
 dnl gcc struct initialization extension in our popt code.  (Could be fixed)
@@ -231,7 +231,7 @@
 AC_PATH_X
 AC_HEADER_STDC
 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h linux/videodev.h sys/soundcard.h \
-endian.h machine/endian.h inttypes.h)
+endian.h machine/endian.h inttypes.h sys/filio.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
--- a/configure
+++ b/configure
@@ -20895,6 +20895,92 @@
 
 fi
 
+{ echo "$as_me:$LINENO: checking for sched_get_priority_max in -lrt" >&5
+echo $ECHO_N "checking for sched_get_priority_max in -lrt... $ECHO_C" >&6; }
+if test "${ac_cv_lib_rt_sched_get_priority_max+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_get_priority_max ();
+int
+main ()
+{
+return sched_get_priority_max ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_rt_sched_get_priority_max=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_rt_sched_get_priority_max=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sched_get_priority_max" >&5
+echo "${ECHO_T}$ac_cv_lib_rt_sched_get_priority_max" >&6; }
+if test $ac_cv_lib_rt_sched_get_priority_max = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBRT 1
+_ACEOF
+
+  LIBS="-lrt $LIBS"
+
+fi
+
 
 REQUIRES_NOPKGCONFIG=""
 if test "$GCC" = "yes"; then
@@ -21461,7 +21461,7 @@
 
 
 for ac_header in fcntl.h sys/time.h unistd.h linux/videodev.h sys/soundcard.h \
-endian.h machine/endian.h inttypes.h
+endian.h machine/endian.h inttypes.h sys/filio.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
--- a/config.h.in
+++ b/config.h.in
@@ -30,6 +30,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
 /* Define to 1 if you have the `m' library (-lm). */
 #undef HAVE_LIBM
 
--- a/encodedv/dvconnect.c
+++ b/encodedv/dvconnect.c
@@ -31,6 +31,9 @@
 
 #include <stdio.h>
 #include <sys/ioctl.h>
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
 #include <sys/mman.h>
 #include <sys/time.h>
 #include <unistd.h>