#!/bin/bash # -*- mode: shell-script; coding: UTF-8 -*- # # Build Xvnc with Xorg 7.4 # set -e if [ "$PREFIX" = "" ]; then PREFIX=`pwd`/xorg.build fi export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal" export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" MAKE="make" CFGFLAGS= modules="dri2proto \ libpthread-stubs \ glproto \ xf86vidmodeproto \ xextproto \ xproto \ kbproto \ inputproto \ xcmiscproto \ bigreqsproto \ fixesproto \ damageproto \ xf86driproto \ randrproto \ renderproto \ scrnsaverproto \ resourceproto \ fontsproto \ videoproto \ compositeproto \ xineramaproto \ fontcacheproto \ libdrm \ libXau \ xtrans \ libXdmcp \ libX11 \ libXext \ libXxf86vm \ libICE \ libSM \ libXt \ libXmu \ libXfixes \ libXdamage \ libXi \ evieext \ libxkbfile \ libfontenc \ libXfont \ libpciaccess \ xkbcomp \ pixman" init() { mkdir -p xorg update_modules pushd xorg tar jxf util-macros.tar.bz2 pushd util-macros-* echo "Building macros" ./configure ${1+"$@"} --prefix=${PREFIX} ($MAKE); make install popd popd pushd xserver patch -p1 < ../xserver15.patch popd autoreconf -fiv } update_modules() { pushd xorg ../download-xorg for module in ${modules}; do tar jxf ${module}.tar.bz2 done tar jxf Mesa.tar.bz2 tar jxf xorg-server.tar.bz2 cp -r xorg-server-1.*/* ../xserver popd } build () { # Build VNC echo "*** Building VNC ***" make distclean || true ./configure ${1+"$@"} --prefix=${PREFIX} make # Build Xorg echo "*** Building Xorg ***" pushd xorg for module in ${modules}; do extraoptions="" cd ${module}-* echo ====================== echo configuring ${module} echo ====================== if [ "${module}" = "libX11" ]; then extraoptions="${extraoptions} --without-xcb" fi if [ "${module}" = "libSM" ]; then extraoptions="${extraoptions} --without-libuuid" fi ./configure ${1+"$@"} --prefix="${PREFIX}" ${extraoptions} echo ====================== echo building ${module} echo ====================== if [ $? -ne 0 ]; then echo "Failed to configure ${module}." exit fi ($MAKE); make install cd .. done # build mesa echo "*** Building Mesa ***" pushd Mesa-* ./configure ${1+"$@"} --prefix=${PREFIX} --with-driver=dri --disable-glut --without-demos if [ $? -ne 0 ]; then echo "Failed to configure Mesa." exit fi ($MAKE) make install popd popd # build xserver echo "*** Building xserver ***" cd xserver autoreconf -fiv ./configure ${1+"$@"} --prefix=${PREFIX} --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg if [ $? -ne 0 ]; then echo "Failed to configure X server." exit fi ($MAKE) make install cd .. } case "$1" in init) shift init ${1+"$@"} ;; build) shift build ${1+"$@"} ;; update) update_modules ;; *) echo "Usage: $0 init | build | update [additional configure flags]" exit 3 esac