blob: 6f906610305a97aa6fd2470ef3c689ef257c9a64 [file] [log] [blame]
Peter Åstrandf0459172009-03-18 14:45:46 +00001#!/bin/bash
2# -*- mode: shell-script; coding: UTF-8 -*-
3#
4# Build Xvnc with Xorg 7.4
5#
6
7set -e
8
DRC97d8c012009-03-19 23:13:50 +00009if [ "$PREFIX" = "" ]; then
10 PREFIX="/tmp/xorg-7.4-${USER}"
11fi
Peter Åstrandf0459172009-03-18 14:45:46 +000012export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
13export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
14MAKE="make"
DRCf4b50a72009-03-18 20:54:17 +000015CFGFLAGS=
Peter Åstrandf0459172009-03-18 14:45:46 +000016
17modules="dri2proto \
18 libpthread-stubs \
19 glproto \
20 xf86vidmodeproto \
21 xextproto \
22 xproto \
23 kbproto \
24 inputproto \
25 xcmiscproto \
26 bigreqsproto \
27 fixesproto \
28 damageproto \
29 xf86driproto \
30 randrproto \
31 renderproto \
32 scrnsaverproto \
33 resourceproto \
34 fontsproto \
35 videoproto \
36 compositeproto \
37 xineramaproto \
38 fontcacheproto \
39 libdrm \
Peter Åstrandf0459172009-03-18 14:45:46 +000040 libXau \
41 xtrans \
42 libXdmcp \
43 libX11 \
44 libXext \
45 libXxf86vm \
46 libICE \
47 libSM \
48 libXt \
49 libXmu \
50 libXfixes \
51 libXdamage \
52 libXi \
53 evieext \
54 libxkbfile \
55 libfontenc \
56 libXfont \
57 libpciaccess \
58 xkbcomp \
59 pixman"
60
61
DRCf4b50a72009-03-18 20:54:17 +000062setcfgflags()
63{
64 shift
65 CFGFLAGS=${1+"$@"}
66}
67
68
Peter Åstrandf0459172009-03-18 14:45:46 +000069init()
70{
71 mkdir -p xorg
72 update_modules
Peter Åstrand6a47dcc2009-03-19 07:53:23 +000073
74 pushd xorg
75 tar jxf util-macros.tar.bz2
76 pushd util-macros-*
77 echo "Building macros"
78 ./configure --prefix=${PREFIX}
79 ($MAKE);
80 make install
81 popd
82 popd
83
Peter Åstrandf0459172009-03-18 14:45:46 +000084 pushd xserver
85 patch -p1 < ../xserver15.patch
86 autoreconf -fiv
87}
88
89
90update_modules()
91{
92 pushd xorg
93 ../download-xorg
94 for module in ${modules}; do
95 tar jxf ${module}.tar.bz2
96 done
97 tar jxf Mesa.tar.bz2
98 tar jxf xorg-server.tar.bz2
99 cp -r xorg-server-1.*/* ../xserver
100 popd
101}
102
103
104build ()
105{
106
107 # Build VNC
DRCf4b50a72009-03-18 20:54:17 +0000108 echo "*** Building VNC ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000109 make distclean || true
DRCf4b50a72009-03-18 20:54:17 +0000110 ./configure ${CFGFLAGS} --prefix=${PREFIX}
Peter Åstrandf0459172009-03-18 14:45:46 +0000111 make
112
113 # Build Xorg
DRCf4b50a72009-03-18 20:54:17 +0000114 echo "*** Building Xorg ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000115 pushd xorg
116 for module in ${modules}; do
117 extraoptions=""
118 cd ${module}-*
119 echo ======================
120 echo configuring ${module}
121 echo ======================
122 if [ "${module}" = "libX11" ]; then
123 extraoptions="${extraoptions} --without-xcb"
124 fi
DRCf4b50a72009-03-18 20:54:17 +0000125 ./configure ${CFGFLAGS} --prefix="${PREFIX}" ${extraoptions}
Peter Åstrandf0459172009-03-18 14:45:46 +0000126 echo ======================
127 echo building ${module}
128 echo ======================
129 if [ $? -ne 0 ]; then
130 echo "Failed to configure ${module}."
131 exit
132 fi
133 ($MAKE);
134 make install
135 cd ..
136 done
137
138 # build mesa
DRCf4b50a72009-03-18 20:54:17 +0000139 echo "*** Building Mesa ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000140 pushd Mesa-*
DRCf4b50a72009-03-18 20:54:17 +0000141 ./configure ${CFGFLAGS} --prefix=${PREFIX} --with-driver=dri --disable-glut --without-demos
Peter Åstrandf0459172009-03-18 14:45:46 +0000142 if [ $? -ne 0 ]; then
143 echo "Failed to configure Mesa."
144 exit
145 fi
146 ($MAKE)
147 make install
148 popd
149
150 popd
151
152 # build xserver
DRCf4b50a72009-03-18 20:54:17 +0000153 echo "*** Building xserver ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000154 cd xserver
DRCf4b50a72009-03-18 20:54:17 +0000155 ./configure ${CFGFLAGS} --prefix=${PREFIX} --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg
Peter Åstrandf0459172009-03-18 14:45:46 +0000156 if [ $? -ne 0 ]; then
157 echo "Failed to configure X server."
158 exit
159 fi
160 ($MAKE)
161 make install
162 cd ..
163}
164
DRCf4b50a72009-03-18 20:54:17 +0000165if [ ! "$2" = "" ]; then
166 setcfgflags ${1+"$@"}
167fi
Peter Åstrandf0459172009-03-18 14:45:46 +0000168
169case "$1" in
170 init)
171 init
172 ;;
173 build)
174 build
175 ;;
176 update)
177 update_modules
178 ;;
179 *)
DRCf4b50a72009-03-18 20:54:17 +0000180 echo "Usage: $0 init | build | update [additional configure flags]"
Peter Åstrandf0459172009-03-18 14:45:46 +0000181 exit 3
182esac