]> source.dussan.org Git - tigervnc.git/commitdiff
Added scripts for building Xvnc with Xorg 1.5.
authorPeter Åstrand <astrand@cendio.se>
Wed, 18 Mar 2009 14:45:46 +0000 (14:45 +0000)
committerPeter Åstrand <astrand@cendio.se>
Wed, 18 Mar 2009 14:45:46 +0000 (14:45 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3685 3789f03b-4d11-0410-bbf8-ca57d06f2519

unix/build-xorg-7.4 [new file with mode: 0755]
unix/download-xorg [new file with mode: 0755]

diff --git a/unix/build-xorg-7.4 b/unix/build-xorg-7.4
new file mode 100755 (executable)
index 0000000..7b5c525
--- /dev/null
@@ -0,0 +1,155 @@
+#!/bin/bash
+# -*- mode: shell-script; coding: UTF-8 -*-
+# 
+# Build Xvnc with Xorg 7.4
+#
+
+set -e
+
+PREFIX="/tmp/xorg-7.4-${USER}"
+export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
+MAKE="make"
+
+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 \
+    util-macros \
+    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 xserver
+    patch -p1 < ../xserver15.patch
+    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
+    make distclean || true
+    ./configure --prefix=${PREFIX}
+    make
+
+    # Build 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
+        ./configure --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
+    pushd Mesa-*
+    ./configure --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
+    cd xserver
+    ./configure --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)
+       init
+       ;;
+    build)
+       build
+       ;;
+    update)
+       update_modules
+       ;;
+    *)
+       echo "Usage: $0 init | build | update"
+       exit 3
+esac
diff --git a/unix/download-xorg b/unix/download-xorg
new file mode 100755 (executable)
index 0000000..c397329
--- /dev/null
@@ -0,0 +1,82 @@
+#!/usr/bin/env python
+# -*-mode: python; coding: UTF-8 -*-
+
+import os
+import glob
+import subprocess
+
+#INDI = "http://ftp.sunet.se/pub/X11/ftp.x.org/individual"
+INDI = "http://ftp.x.org/pub/individual/"
+PROTO = INDI + "proto/"
+LIB = INDI + "lib/"
+SERVER = INDI + "xserver/"
+UTIL = INDI + "util/"
+DATA = INDI + "data/"
+APP = INDI + "app/"
+
+packages = {
+    "damageproto": PROTO + "damageproto-1.1.0.tar.bz2",
+    "fixesproto":  PROTO + "fixesproto-4.0.tar.bz2",
+    "resourceproto": PROTO + "resourceproto-1.0.2.tar.bz2",
+    "fontsproto": PROTO + "fontsproto-2.0.2.tar.bz2",
+    "fontcacheproto" : PROTO + "fontcacheproto-0.1.2.tar.bz2",
+    "bigreqsproto": PROTO + "bigreqsproto-1.0.2.tar.bz2",
+    "kbproto": PROTO + "kbproto-1.0.3.tar.bz2",
+    "inputproto": PROTO + "inputproto-1.4.4.tar.bz2",
+    "glproto": PROTO + "glproto-1.4.9.tar.bz2",
+    "xineramaproto": PROTO + "xineramaproto-1.1.2.tar.bz2",
+    "randrproto": PROTO + "randrproto-1.2.2.tar.bz2",
+    "scrnsaverproto": PROTO + "scrnsaverproto-1.1.0.tar.bz2",
+    "renderproto": PROTO + "renderproto-0.9.3.tar.bz2",
+    "evieext": PROTO + "evieext-1.0.2.tar.bz2",
+    "xcmiscproto": PROTO + "xcmiscproto-1.1.2.tar.bz2",
+    "xextproto": PROTO + "xextproto-7.0.3.tar.bz2",
+    "xf86driproto": PROTO + "xf86driproto-2.0.4.tar.bz2",
+    "dri2proto": PROTO + "dri2proto-1.1.tar.bz2",
+    "compositeproto": PROTO + "compositeproto-0.4.tar.bz2",
+    "xf86vidmodeproto": PROTO + "xf86vidmodeproto-2.2.2.tar.bz2",
+    "trapproto": PROTO + "trapproto-3.4.3.tar.bz2",
+    "videoproto": PROTO + "videoproto-2.2.2.tar.bz2",
+    "xproto": PROTO + "xproto-7.0.13.tar.bz2",
+
+    "libxkbfile": LIB + "libxkbfile-1.0.5.tar.bz2",
+    "libXxf86vm": LIB + "libXxf86vm-1.0.2.tar.bz2",
+    "libXext": LIB + "libXext-1.0.4.tar.bz2",
+    "libfontenc": LIB + "libfontenc-1.0.4.tar.bz2",
+    "libXau": LIB + "libXau-1.0.4.tar.bz2",
+    "libXfont": LIB + "libXfont-1.3.4.tar.bz2",
+    "libXfixes": LIB + "libXfixes-4.0.3.tar.bz2",
+    "libSM": LIB + "libSM-1.1.0.tar.bz2",
+    "libXi": LIB + "libXi-1.1.3.tar.bz2",
+    "libXmu": LIB + "libXmu-1.0.4.tar.bz2",
+    "libX11": LIB + "libX11-1.1.5.tar.bz2",
+    "libXdmcp": LIB + "libXdmcp-1.0.2.tar.bz2",
+    "xtrans": LIB + "xtrans-1.2.2.tar.bz2",
+    "libXt": LIB + "libXt-1.0.5.tar.bz2",
+    "libpciaccess": LIB + "libpciaccess-0.10.4.tar.bz2",
+    "libICE": LIB + "libICE-1.0.4.tar.bz2",
+    "pixman": LIB + "pixman-0.12.0.tar.bz2",
+    "libXdamage": LIB + "libXdamage-1.1.1.tar.bz2",
+
+    "util-macros": UTIL + "util-macros-1.1.6.tar.bz2",
+    "xorg-server": SERVER + "xorg-server-1.5.3.tar.bz2",
+    "xkeyboard-config": DATA + "xkeyboard-config-1.4.tar.bz2",
+    "xkbcomp": APP + "xkbcomp-1.0.5.tar.bz2",
+
+    "libdrm": "http://dri.freedesktop.org/libdrm/libdrm-2.4.0.tar.bz2",
+    "Mesa": "http://downloads.sourceforge.net/mesa3d/MesaLib-7.2.tar.bz2",
+    "libxcb": "http://xcb.freedesktop.org/dist/libxcb-1.1.91.tar.bz2",
+    "libpthread-stubs": "http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2",
+    "xcb-proto": "http://xcb.freedesktop.org/dist/xcb-proto-1.2.tar.bz2",
+    }
+
+
+
+def main():
+    for pkg in packages.keys():
+        loc = packages[pkg]
+        fname = pkg + ".tar.bz2"
+        assert 0 == subprocess.call(["wget", "-O", fname, loc])
+
+
+main()