blob: 4c0c57da37fb981ef34c2f61ddee2b1917f32ad8 [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
9PREFIX="/tmp/xorg-7.4-${USER}"
10export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
11export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
12MAKE="make"
DRCf4b50a72009-03-18 20:54:17 +000013CFGFLAGS=
Peter Åstrandf0459172009-03-18 14:45:46 +000014
15modules="dri2proto \
16 libpthread-stubs \
17 glproto \
18 xf86vidmodeproto \
19 xextproto \
20 xproto \
21 kbproto \
22 inputproto \
23 xcmiscproto \
24 bigreqsproto \
25 fixesproto \
26 damageproto \
27 xf86driproto \
28 randrproto \
29 renderproto \
30 scrnsaverproto \
31 resourceproto \
32 fontsproto \
33 videoproto \
34 compositeproto \
35 xineramaproto \
36 fontcacheproto \
37 libdrm \
Peter Åstrandf0459172009-03-18 14:45:46 +000038 libXau \
39 xtrans \
40 libXdmcp \
41 libX11 \
42 libXext \
43 libXxf86vm \
44 libICE \
45 libSM \
46 libXt \
47 libXmu \
48 libXfixes \
49 libXdamage \
50 libXi \
51 evieext \
52 libxkbfile \
53 libfontenc \
54 libXfont \
55 libpciaccess \
56 xkbcomp \
57 pixman"
58
59
DRCf4b50a72009-03-18 20:54:17 +000060setcfgflags()
61{
62 shift
63 CFGFLAGS=${1+"$@"}
64}
65
66
Peter Åstrandf0459172009-03-18 14:45:46 +000067init()
68{
69 mkdir -p xorg
70 update_modules
Peter Åstrand6a47dcc2009-03-19 07:53:23 +000071
72 pushd xorg
73 tar jxf util-macros.tar.bz2
74 pushd util-macros-*
75 echo "Building macros"
76 ./configure --prefix=${PREFIX}
77 ($MAKE);
78 make install
79 popd
80 popd
81
Peter Åstrandf0459172009-03-18 14:45:46 +000082 pushd xserver
83 patch -p1 < ../xserver15.patch
84 autoreconf -fiv
85}
86
87
88update_modules()
89{
90 pushd xorg
91 ../download-xorg
92 for module in ${modules}; do
93 tar jxf ${module}.tar.bz2
94 done
95 tar jxf Mesa.tar.bz2
96 tar jxf xorg-server.tar.bz2
97 cp -r xorg-server-1.*/* ../xserver
98 popd
99}
100
101
102build ()
103{
104
105 # Build VNC
DRCf4b50a72009-03-18 20:54:17 +0000106 echo "*** Building VNC ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000107 make distclean || true
DRCf4b50a72009-03-18 20:54:17 +0000108 ./configure ${CFGFLAGS} --prefix=${PREFIX}
Peter Åstrandf0459172009-03-18 14:45:46 +0000109 make
110
111 # Build Xorg
DRCf4b50a72009-03-18 20:54:17 +0000112 echo "*** Building Xorg ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000113 pushd xorg
114 for module in ${modules}; do
115 extraoptions=""
116 cd ${module}-*
117 echo ======================
118 echo configuring ${module}
119 echo ======================
120 if [ "${module}" = "libX11" ]; then
121 extraoptions="${extraoptions} --without-xcb"
122 fi
DRCf4b50a72009-03-18 20:54:17 +0000123 ./configure ${CFGFLAGS} --prefix="${PREFIX}" ${extraoptions}
Peter Åstrandf0459172009-03-18 14:45:46 +0000124 echo ======================
125 echo building ${module}
126 echo ======================
127 if [ $? -ne 0 ]; then
128 echo "Failed to configure ${module}."
129 exit
130 fi
131 ($MAKE);
132 make install
133 cd ..
134 done
135
136 # build mesa
DRCf4b50a72009-03-18 20:54:17 +0000137 echo "*** Building Mesa ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000138 pushd Mesa-*
DRCf4b50a72009-03-18 20:54:17 +0000139 ./configure ${CFGFLAGS} --prefix=${PREFIX} --with-driver=dri --disable-glut --without-demos
Peter Åstrandf0459172009-03-18 14:45:46 +0000140 if [ $? -ne 0 ]; then
141 echo "Failed to configure Mesa."
142 exit
143 fi
144 ($MAKE)
145 make install
146 popd
147
148 popd
149
150 # build xserver
DRCf4b50a72009-03-18 20:54:17 +0000151 echo "*** Building xserver ***"
Peter Åstrandf0459172009-03-18 14:45:46 +0000152 cd xserver
DRCf4b50a72009-03-18 20:54:17 +0000153 ./configure ${CFGFLAGS} --prefix=${PREFIX} --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg
Peter Åstrandf0459172009-03-18 14:45:46 +0000154 if [ $? -ne 0 ]; then
155 echo "Failed to configure X server."
156 exit
157 fi
158 ($MAKE)
159 make install
160 cd ..
161}
162
DRCf4b50a72009-03-18 20:54:17 +0000163if [ ! "$2" = "" ]; then
164 setcfgflags ${1+"$@"}
165fi
Peter Åstrandf0459172009-03-18 14:45:46 +0000166
167case "$1" in
168 init)
169 init
170 ;;
171 build)
172 build
173 ;;
174 update)
175 update_modules
176 ;;
177 *)
DRCf4b50a72009-03-18 20:54:17 +0000178 echo "Usage: $0 init | build | update [additional configure flags]"
Peter Åstrandf0459172009-03-18 14:45:46 +0000179 exit 3
180esac