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
|
--- configure.orig 2010-11-20 20:35:43.399739771 +0100
+++ configure 2010-11-20 22:04:15.523490599 +0100
@@ -87,6 +87,7 @@
WITH_OPENGL=1
WITH_HARDENING=1
WITH_VDE=0
+WITH_VNC=0
BUILD_LIBXML2=
BUILD_LIBXSLT=
BUILD_LIBCURL=
@@ -122,6 +123,8 @@
LIBZ="-lz"
INCPNG=""
LIBPNG="-lpng"
+INCVNCSERVER=""
+LIBVNCSERVER="-lvncserver"
CXX_FLAGS=""
if [ "$OS" = "freebsd" ]; then
INCCURL="-I/usr/local/include"
@@ -949,6 +952,47 @@
}
#
+# Check for libvncserver, needed for VNC in OSE
+#
+check_vncserver()
+{
+ test_header libvncserver
+ cat > $ODIR.tmp_src.cc <<EOF
+#include <cstdio>
+#include <rfb/rfbconfig.h>
+
+extern "C" int main()
+{
+ const char* v=LIBVNCSERVER_VERSION;
+ unsigned int major = 0, minor = 0, micro = 0;
+
+ for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0';
+ if (*v == '.') v++;
+ for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0';
+ if (*v == '.') v++;
+ for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0';
+
+ printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION);
+ if (major*10000 + minor*100 + micro >= 907)
+ {
+ printf(", OK.\n");
+ return 0;
+ }
+ else
+ {
+ printf(", expected version 0.9.7 or higher\n");
+ return 1;
+ }
+}
+EOF
+ if test_compile "$LIBVNCSERVER $INCVNCSERVER" libvncserver libvncserver; then
+ if test_execute; then
+ cnf_append "VBOX_WITH_VNC" "1"
+ fi
+ fi
+}
+
+#
# Check for libcurl, needed by S3
#
check_curl()
@@ -2063,6 +2107,7 @@
[ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)"
[ $WITH_OPENGL -eq 1 ] && echo " --disable-opengl disable OpenGL support (2D & 3D)"
[ $WITH_GSOAP -eq 0 ] && echo " --enable-webservice enable the webservice stuff"
+[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server"
[ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking"
cat << EOF
--disable-hardening don't be strict about /dev/vboxdrv access
@@ -2224,6 +2269,9 @@
--enable-webservice)
[ $WITH_GSOAP -eq 0 ] && WITH_GSOAP=1
;;
+ --enable-vnc)
+ WITH_VNC=1
+ ;;
--disable-hardening)
WITH_HARDENING=0
;;
@@ -2484,6 +2532,15 @@
fi
fi
+# VNC server support
+if [ $OSE -ge 1 ]; then
+ if [ $WITH_VNC = 1 ]; then
+ check_vncserver
+ else
+ cnf_append "VBOX_WITH_VNC" ""
+ fi
+fi
+
# success!
echo
echo "Successfully generated '$CNF' and '$ENV'."
|