]> source.dussan.org Git - tigervnc.git/commitdiff
Move build-xorg to contrib as it is not a maintained component
authorPierre Ossman <ossman@cendio.se>
Tue, 27 Jan 2015 15:50:59 +0000 (16:50 +0100)
committerPierre Ossman <ossman@cendio.se>
Tue, 27 Jan 2015 15:50:59 +0000 (16:50 +0100)
BUILDING.txt
contrib/xorg/build-xorg [new file with mode: 0755]
contrib/xorg/download-xorg-7.5 [new file with mode: 0755]
contrib/xorg/xorg-7.5-patches/0001-Add-dridir-param.patch [new file with mode: 0644]
contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch [new file with mode: 0644]
unix/build-xorg [deleted file]
unix/download-xorg-7.5 [deleted file]
unix/xorg-7.5-patches/0001-Add-dridir-param.patch [deleted file]
unix/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch [deleted file]

index 25af191a4e9f22ae44a63aeb14eae0f56df49bd3..0cb830bf5d32b0920dba07dd6d7f11cd1e594bf2 100644 (file)
@@ -150,14 +150,14 @@ version of the TigerVNC Server.  This is accomplished by downloading and
 building the more recent Xorg modules in a local directory and then building
 Xvnc such that it links against the local build of these libraries, not the X11
 libraries installed on the system.  The "build-xorg" script in the TigerVNC
-source distribution (located under unix/) automates this process.
+source distribution (located under contrib/xorg/) automates this process.
 
 The following procedure will build both the TigerVNC Viewer and a
 "legacy-friendly" version of the TigerVNC Server:
 
   cd {build_directory}
-  sh {source_directory}/unix/build-xorg init
-  sh {source_directory}/unix/build-xorg build [additional CMake flags]
+  sh {source_directory}/contrib/xorg/build-xorg init
+  sh {source_directory}/contrib/xorg/build-xorg build [additional CMake flags]
 
 build-xorg generates a version of Xvnc that has no external dependencies on the
 X11 shared libraries or any other distribution-specific shared libraries.  This
@@ -171,11 +171,11 @@ once the X11 modules and other dependencies have been built for the first time.
 This is convenient for testing changes that just apply to the TigerVNC source
 code.  To accomplish this, run:
 
-  sh {source_directory}/unix/build-xorg rebuild [additional make flags]
+  sh {source_directory}/contrib/xorg/build-xorg rebuild [additional make flags]
 
 For instance,
 
-  sh {source_directory}/unix/build-xorg rebuild clean
+  sh {source_directory}/contrib/xorg/build-xorg rebuild clean
 
 will clean both the Xvnc and vncviewer builds without destroying any of the
 build configuration or module dependencies.
diff --git a/contrib/xorg/build-xorg b/contrib/xorg/build-xorg
new file mode 100755 (executable)
index 0000000..3a82b59
--- /dev/null
@@ -0,0 +1,347 @@
+#!/bin/bash
+# -*- mode: shell-script; coding: UTF-8 -*-
+# 
+# Build Xvnc with Xorg 7.4 or 7.5
+#
+
+set -e
+
+PREFIX=
+MAKE="make"
+PARALLEL_MAKE=0
+XORG_VERSION=7.5
+XONLY=0
+CFGHOST=
+SRCDIR=`dirname $0`/..
+
+modules="dri2proto \
+    libpthread-stubs \
+    glproto \
+    xf86vidmodeproto \
+    xextproto \
+    xproto \
+    kbproto \
+    inputproto \
+    xcmiscproto \
+    bigreqsproto \
+    fixesproto \
+    damageproto \
+    xf86driproto \
+    randrproto \
+    renderproto \
+    scrnsaverproto \
+    resourceproto \
+    fontsproto \
+    videoproto \
+    compositeproto \
+    xineramaproto \
+    libdrm \
+    libXau \
+    xtrans \
+    libXdmcp \
+    libX11 \
+    libXext \
+    libXxf86vm \
+    libICE \
+    libSM \
+    libXt \
+    libXmu \
+    libXfixes \
+    libXdamage \
+    libXi \
+    libxkbfile \
+    libfontenc \
+    libXfont \
+    libpciaccess \
+    pixman"
+
+init()
+{
+    update_modules
+
+    pushd xorg
+    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/util-macros.tar.bz2
+    pushd util-macros-*
+    echo "Building macros"
+    ./configure --prefix=${PREFIX}
+    ($MAKE install)
+    popd
+
+    pushd xserver
+
+       patch -p1 < $SRCDIR/unix/xserver18.patch
+    for all in `find $SRCDIR/contrib/xorg/xorg-$XORG_VERSION-patches/ -type f |grep '.*\.patch$'`; do
+       echo Applying $all
+       patch -p1 < $all
+    done
+
+    popd
+    popd
+}
+
+
+update_modules()
+{
+    if [ -d xorg ]; then rm -rf xorg; fi
+    if [ -d xorg.build ]; then rm -rf xorg.build; fi
+    mkdir xorg
+    pushd xorg
+    $SRCDIR/contrib/xorg/download-xorg-$XORG_VERSION
+    for module in ${modules}; do
+        tar jxf ~/.tigervnc-xorg-$XORG_VERSION/${module}.tar.bz2
+    done
+
+    [ -r ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.bz2 ] && \
+        tar jxf ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.bz2
+    [ -r ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.gz ] && \
+        tar zxf ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.gz
+
+    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/freetype.tar.bz2
+    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/xorg-server.tar.bz2
+    cp -r $SRCDIR/unix/xserver xserver
+    cp -r xorg-server-1.*/* xserver
+    popd
+}
+
+
+build ()
+{
+    if [ $XONLY -eq 0 ]; then
+
+    # Build VNC
+    echo "*** Building VNC ***"
+    cmake -G"Unix Makefiles" ${1+"$@"} -DUSE_INCLUDED_ZLIB=1 -DBUILD_STATIC=1 $SRCDIR
+    $MAKE
+
+    # Build Xorg
+    echo "*** Building Xorg ***"
+    pushd xorg
+
+    # build freetype
+    echo "*** Building freetype ***"
+    pushd freetype-*
+    ./configure ${CFGHOST} --prefix=${PREFIX} --enable-static --disable-shared
+    if [ $? -ne 0 ]; then
+       echo "Failed to configure freetype."
+       exit
+    fi
+    $MAKE install
+    popd
+
+    for module in ${modules}; do
+        extraoptions=""
+        cd ${module}-*
+        echo ======================
+        echo configuring ${module}
+        echo ======================
+        if [ "${module}" = "libX11" ]; then
+            extraoptions="${extraoptions} --without-xcb --disable-specs"
+        fi
+        if [ "${module}" = "libSM" ]; then
+            extraoptions="${extraoptions} --without-libuuid"
+        fi
+        if [ "${module}" = "pixman" ]; then
+            extraoptions="${extraoptions} --disable-gtk"
+        fi
+       if [ "${module}" = "libXfont" ]; then
+           extraoptions="${extraoptions} --with-freetype-config=${PREFIX}/bin/freetype-config"
+       fi
+        OLD_CFLAGS=${CFLAGS}
+        OLD_CXXFLAGS=${CXXFLAGS}
+        CFLAGS=${CFLAGS}' -fPIC'
+        CXXFLAGS=${CXXFLAGS}' -fPIC'
+        export CFLAGS CXXFLAGS
+        ./configure ${CFGHOST} --prefix="${PREFIX}" ${extraoptions} --enable-static --disable-shared
+        CFLAGS=${OLD_CFLAGS}
+        CXXFLAGS=${OLD_CXXFLAGS}
+        export CFLAGS CXXFLAGS
+        echo ======================
+        echo building ${module}
+        echo ======================
+        if [ $? -ne 0 ]; then
+                echo "Failed to configure ${module}."
+                exit
+        fi
+        $MAKE install
+        cd ..
+    done
+
+    # build mesa
+    echo "*** Building Mesa ***"
+    pushd Mesa-*
+    ./configure ${CFGHOST} --prefix=${PREFIX} --disable-driglx-direct --with-dri-drivers=swrast --with-driver=dri --disable-glut --without-demos
+    if [ $? -ne 0 ]; then
+       echo "Failed to configure Mesa."
+       exit
+    fi
+    $MAKE
+    $MAKE install
+    popd
+
+    popd
+
+    fi # XONLY
+
+    # build xserver
+    echo "*** Building xserver ***"
+    pushd xorg/xserver
+    autoreconf -fiv
+    XORGCFGFLAGS="--disable-dri --enable-dri2 --disable-composite --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive --disable-config-dbus --disable-config-hal --disable-config-udev --with-sha1=libgcrypt SHA1_LIB=-lcrypto --disable-shared --enable-static ${XORGCFGFLAGS}"
+    ./configure ${CFGHOST} --prefix=${PREFIX} ${XORGCFGFLAGS}
+    if [ $? -ne 0 ]; then
+       echo "Failed to configure X server."
+       exit
+    fi
+    $MAKE TIGERVNC_SRCDIR=$SRCDIR install
+    popd
+}
+
+rebuild ()
+{
+    # Build VNC
+    echo "*** Building VNC ***"
+    $MAKE ${1+"$@"}
+
+    # build xserver
+    echo "*** Building xserver ***"
+    pushd xorg/xserver
+    $MAKE TIGERVNC_SRCDIR=$SRCDIR install ${1+"$@"}
+    popd
+}
+
+
+usage ()
+{
+    echo "Usage: $0  init [-version <7.4 | 7.5>]"
+    echo
+    echo "       $0  build [-version <7.4 | 7.5>]"
+    echo "       [additional CMake flags]"
+    echo
+    echo "       $0  rebuild [additional make options]"
+    echo
+    echo "       $0  update [-version <7.4 | 7.5>]"
+    echo
+    exit 1
+}
+
+if [ -x '/usr/bin/getconf' -a "$PARALLEL_MAKE" = "1" ]; then
+    MAKE_PARALLEL=`/usr/bin/getconf _NPROCESSORS_ONLN 2>&1`
+    [ "$MAKE_PARALLEL" -gt 1 ] && MAKE="$MAKE -j$MAKE_PARALLEL"
+fi
+
+while [ $# -gt 0 ]
+do
+    case "$1" in
+       init)       MODE=init                ;;
+       build)      MODE=build               ;;
+       xbuild)     MODE=build;  XONLY=1     ;;
+       rebuild)    MODE=rebuild             ;;
+       update)     MODE=update              ;;
+       -parallel)  PARALLEL_MAKE=1;         ;;
+       -srcdir)    SRCDIR=$2;        shift  ;;
+       *)          break                    ;;
+    esac
+    shift
+done
+
+pushd $SRCDIR
+SRCDIR=`pwd`
+echo "*** Using TigerVNC source tree at $SRCDIR ***"
+popd
+
+if [ "`pwd`" = "$SRCDIR/unix" ]; then
+    cd $SRCDIR
+fi
+
+if [ "$PREFIX" = "" ]; then
+    PREFIX=`pwd`/xorg.build
+fi
+
+if [ "$MODE" = "build" ]; then
+    if [ ! -d ./xorg.build/syslib ]; then
+       mkdir -p ./xorg.build/syslib
+    fi
+
+    for i in "$@"; do
+       case "$i" in
+           CC=*)        CC=`echo $i | sed s/^CC=//g`  ;;
+           CXX=*)       CXX=`echo $i | sed s/^CXX=//g`  ;;
+           CFLAGS=*)    CFLAGS=`echo $i | sed s/^CFLAGS=//g`  ;;
+           CXXFLAGS=*)  CXXFLAGS=`echo $i | sed s/^CXXFLAGS=//g`  ;;
+           LDFLAGS=*)   LDFLAGS=`echo $i | sed s/^LDFLAGS=//g`  ;;
+       esac
+    done
+    if [ "$CC" = "" ]; then
+       CC=gcc
+    fi
+    if [ "$CXX" = "" ]; then
+       CXX=g++
+    fi
+    if [ "$CFLAGS" = "" ]; then
+       CFLAGS=-O3
+    fi
+    if [ "$CXXFLAGS" = "" ]; then
+       CXXFLAGS=-O3
+    fi
+    CFLAGS="$CFLAGS -fPIC"
+    CXXFLAGS="$CXXFLAGS -fPIC"
+    LDFLAGS="$LDFLAGS -static-libgcc -L`pwd`/xorg.build/syslib"
+    echo CC = $CC
+    echo CXX = $CXX
+    echo CFLAGS = $CFLAGS
+    echo CXXFLAGS = $CXXFLAGS
+    echo LDFLAGS = $LDFLAGS
+    if [[ $CFLAGS = *-m32* ]]; then
+       CFGHOST="--host i686-pc-linux-gnu"
+    fi
+    STATICLIBS='libcrypto.a libz.a'
+    for lib in $STATICLIBS; do
+       if [ -f ./xorg.build/syslib/$lib ]; then
+           rm -f ./xorg.build/syslib/$lib
+       fi
+    done
+    IS64BIT=`echo -e "#ifdef __x86_64__\nis64bit_yes\n#else\nis64bit_no\n#endif" | $CC $CFLAGS -E - | grep is64bit`
+    STATICLIBDIR=
+    case $IS64BIT in
+       is64bit_yes)
+           if [ -d /usr/lib64 ]; then STATICLIBDIR=lib64;
+           else STATICLIBDIR=lib; fi
+           ;;
+       is64bit_no)
+           if [ -d /usr/lib32 ]; then STATICLIBDIR=lib32;
+           else STATICLIBDIR=lib; fi
+           ;;
+       *)
+           echo "Cannot determine whether compiler output is 64-bit or 32-bit.  Are you using GCC?"
+           exit 1
+           ;;
+    esac
+    for lib in $STATICLIBS; do
+       if [ -f /usr/$STATICLIBDIR/$lib ]; then
+           ln -fs /usr/$STATICLIBDIR/$lib ./xorg.build/syslib
+       else
+           if [ -f /$STATICLIBDIR/$lib ]; then
+               ln -fs /$STATICLIBDIR/$lib ./xorg.build/syslib
+           else
+               DYLIB=`echo $lib | sed s/\\\.a/\\.so/g`
+               if [ -f /usr/$STATICLIBDIR/$DYLIB -o -f /$STATICLIBDIR/$DYLIB ]; then
+                   echo WARNING: Cannot find suitable $lib.  Xvnc will depend on $DYLIB.
+               fi
+           fi
+       fi
+    done
+fi
+
+export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig"
+
+case "$MODE" in
+    init)       init                 ;;
+    build)
+       export CFLAGS CXXFLAGS LDFLAGS
+       build ${1+"$@"};
+       ;;
+    rebuild)    rebuild ${1+"$@"}    ;;
+    update)     update               ;;
+    *)          usage                ;;
+esac
diff --git a/contrib/xorg/download-xorg-7.5 b/contrib/xorg/download-xorg-7.5
new file mode 100755 (executable)
index 0000000..1b802a2
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+# -*-mode: python; coding: UTF-8 -*-
+
+import os
+import glob
+
+#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.2.0.tar.bz2",
+    "fixesproto":  PROTO + "fixesproto-4.1.1.tar.bz2",
+    "resourceproto": PROTO + "resourceproto-1.1.0.tar.bz2",
+    "fontsproto": PROTO + "fontsproto-2.1.0.tar.bz2",
+    "bigreqsproto": PROTO + "bigreqsproto-1.1.0.tar.bz2",
+    "kbproto": PROTO + "kbproto-1.0.4.tar.bz2",
+    "inputproto": PROTO + "inputproto-2.0.tar.bz2",
+    "glproto": PROTO + "glproto-1.4.12.tar.bz2",
+    "xineramaproto": PROTO + "xineramaproto-1.2.tar.bz2",
+    "randrproto": PROTO + "randrproto-1.3.1.tar.bz2",
+    "scrnsaverproto": PROTO + "scrnsaverproto-1.2.0.tar.bz2",
+    "renderproto": PROTO + "renderproto-0.11.tar.bz2",
+    "xcmiscproto": PROTO + "xcmiscproto-1.2.0.tar.bz2",
+    "xextproto": PROTO + "xextproto-7.1.1.tar.bz2",
+    "xf86driproto": PROTO + "xf86driproto-2.1.0.tar.bz2",
+    "dri2proto": PROTO + "dri2proto-2.1.tar.bz2",
+    "compositeproto": PROTO + "compositeproto-0.4.1.tar.bz2",
+    "xf86vidmodeproto": PROTO + "xf86vidmodeproto-2.3.tar.bz2",
+    "videoproto": PROTO + "videoproto-2.3.0.tar.bz2",
+    "xproto": PROTO + "xproto-7.0.16.tar.bz2",
+
+    "libxkbfile": LIB + "libxkbfile-1.0.6.tar.bz2",
+    "libXxf86vm": LIB + "libXxf86vm-1.1.0.tar.bz2",
+    "libXext": LIB + "libXext-1.1.2.tar.bz2",
+    "libfontenc": LIB + "libfontenc-1.0.5.tar.bz2",
+    "libXau": LIB + "libXau-1.0.6.tar.bz2",
+    "libXfont": LIB + "libXfont-1.4.2.tar.bz2",
+    "libXfixes": LIB + "libXfixes-4.0.5.tar.bz2",
+    "libSM": LIB + "libSM-1.1.1.tar.bz2",
+    "libXi": LIB + "libXi-1.3.2.tar.bz2",
+    "libXmu": LIB + "libXmu-1.0.5.tar.bz2",
+    "libX11": LIB + "libX11-1.3.5.tar.bz2",
+    "libXdmcp": LIB + "libXdmcp-1.0.3.tar.bz2",
+    "xtrans": LIB + "xtrans-1.2.5.tar.bz2",
+    "libXt": LIB + "libXt-1.0.8.tar.bz2",
+    "libpciaccess": LIB + "libpciaccess-0.12.0.tar.bz2",
+    "libICE": LIB + "libICE-1.0.6.tar.bz2",
+    "pixman": LIB + "pixman-0.19.2.tar.bz2",
+    "libXdamage": LIB + "libXdamage-1.1.3.tar.bz2",
+
+    "util-macros": UTIL + "util-macros-1.10.0.tar.bz2",
+    "xorg-server": SERVER + "xorg-server-1.8.2.tar.bz2",
+
+    "libdrm": "http://dri.freedesktop.org/libdrm/libdrm-2.4.21.tar.bz2",
+    "Mesa": "ftp://ftp.freedesktop.org/pub/mesa/beta/MesaLib-7.8.3-rc1.tar.bz2",
+    "libpthread-stubs": "http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2",
+    "freetype": "http://downloads.sourceforge.net/freetype/freetype-2.4.2.tar.bz2",
+    }
+
+
+
+def main():
+    dir = os.path.expanduser("~")+"/.tigervnc-xorg-7.5"
+    cwd = os.getcwd()
+    if not os.path.exists(dir):
+        os.mkdir(dir)
+    os.chdir(dir)
+
+    for pkg in packages.keys():
+        loc = packages[pkg]
+        if ".tar.bz2" in loc:
+            fname = pkg + ".tar.bz2"
+        else :
+            fname = pkg + ".tar.gz"
+        if not os.path.exists(fname):
+            assert 0 == os.spawnvp(os.P_WAIT, "wget", ["-N", "-c", "-O", fname, loc])
+
+    os.chdir(cwd)
+main()
diff --git a/contrib/xorg/xorg-7.5-patches/0001-Add-dridir-param.patch b/contrib/xorg/xorg-7.5-patches/0001-Add-dridir-param.patch
new file mode 100644 (file)
index 0000000..c72078f
--- /dev/null
@@ -0,0 +1,131 @@
+From 0acffdd6f443198378012405e7f814f5abf278b3 Mon Sep 17 00:00:00 2001
+From: Adam Tkac <atkac@redhat.com>
+Date: Wed, 15 Sep 2010 15:37:01 +0200
+Subject: [PATCH] Add -dridir parameter to specify DRI drivers directory from command line.
+
+Signed-off-by: Adam Tkac <atkac@redhat.com>
+---
+ glx/glxdri.c       |    2 --
+ glx/glxdri2.c      |    2 --
+ glx/glxdriswrast.c |    2 --
+ glx/glxext.c       |   27 +++++++++++++++++++++++++++
+ glx/glxserver.h    |    3 +++
+ os/utils.c         |    9 +++++++++
+ 6 files changed, 39 insertions(+), 6 deletions(-)
+
+diff --git a/glx/glxdri.c b/glx/glxdri.c
+index 5b78cec..ce29ae2 100644
+--- a/glx/glxdri.c
++++ b/glx/glxdri.c
+@@ -860,8 +860,6 @@ static const __DRIextension *loader_extensions[] = {
+-static const char dri_driver_path[] = DRI_DRIVER_PATH;
+-
+ static Bool
+ glxDRIEnterVT (int index, int flags)
+ {
+diff --git a/glx/glxdri2.c b/glx/glxdri2.c
+index 2d6090c..49265ec 100644
+--- a/glx/glxdri2.c
++++ b/glx/glxdri2.c
+@@ -579,8 +579,6 @@ static const __DRIextension *loader_extensions[] = {
+     NULL
+ };
+-static const char dri_driver_path[] = DRI_DRIVER_PATH;
+-
+ static Bool
+ glxDRIEnterVT (int index, int flags)
+ {
+diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
+index 6a34393..37c1dce 100644
+--- a/glx/glxdriswrast.c
++++ b/glx/glxdriswrast.c
+@@ -438,8 +438,6 @@ initializeExtensions(__GLXDRIscreen *screen)
+     }
+ }
+-static const char dri_driver_path[] = DRI_DRIVER_PATH;
+-
+ static __GLXscreen *
+ __glXDRIscreenProbe(ScreenPtr pScreen)
+ {
+diff --git a/glx/glxext.c b/glx/glxext.c
+index 89e58b0..5e7cf23 100644
+--- a/glx/glxext.c
++++ b/glx/glxext.c
+@@ -608,3 +608,30 @@ static int __glXDispatch(ClientPtr client)
+     return retval;
+ }
++
++char *dri_driver_path = DRI_DRIVER_PATH;
++
++int GlxProcessArguments(int argc, char *argv[], int i)
++{
++    if (strncmp(argv[i], "-dridir", 7) == 0) {
++      if (++i < argc) {
++#if !defined(WIN32) && !defined(__CYGWIN__)
++          if (getuid() != geteuid()) {
++              LogMessage(X_WARNING, "-dridir is not available for setuid X servers\n");
++              return -1;
++          } else
++#endif
++          {
++              if (strlen(argv[i]) < PATH_MAX) {
++                  dri_driver_path = argv[i];
++                  return 2;
++              } else {
++                  LogMessage(X_ERROR, "-dridir pathname too long\n");
++                  return -1;
++              }
++          }
++        }
++    }
++
++    return 0;
++}
+diff --git a/glx/glxserver.h b/glx/glxserver.h
+index 1daf977..082ff82 100644
+--- a/glx/glxserver.h
++++ b/glx/glxserver.h
+@@ -251,4 +251,7 @@ extern unsigned glxMinorVersion;
+ extern int __glXEventBase;
++extern char *dri_driver_path;
++extern int GlxProcessArguments(int argc, char *argv[], int i);
++
+ #endif /* !__GLX_server_h__ */
+diff --git a/os/utils.c b/os/utils.c
+index 13d3b3f..ff97c86 100644
+--- a/os/utils.c
++++ b/os/utils.c
+@@ -141,6 +141,7 @@ Bool noDPMSExtension = FALSE;
+ #ifdef GLXEXT
+ Bool noGlxExtension = FALSE;
+ Bool noGlxVisualInit = FALSE;
++extern int GlxProcessArguments(int argc, char *argv[], int i);
+ #endif
+ #ifdef SCREENSAVER
+ Bool noScreenSaverExtension = FALSE;
+@@ -721,6 +722,14 @@ ProcessCommandLine(int argc, char *argv[])
+                i+= skip-1;
+           else UseMsg();
+       }
++#ifdef GLXEXT
++      else if ((skip = GlxProcessArguments(argc,argv,i)) != 0) {
++          if (skip > 0)
++              i += skip - 1;
++          else
++              UseMsg();
++      }
++#endif
+ #ifdef RLIMIT_DATA
+       else if ( strcmp( argv[i], "-ld") == 0)
+       {
+-- 
+1.7.3.2
+
diff --git a/contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch b/contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch
new file mode 100644 (file)
index 0000000..f7f358b
--- /dev/null
@@ -0,0 +1,46 @@
+From 5e6e99eaef3ca346c78a3e520ed58ec8b8100b41 Mon Sep 17 00:00:00 2001
+From: Adam Tkac <atkac@redhat.com>
+Date: Thu, 2 Sep 2010 17:24:38 +0200
+Subject: [PATCH] Add -xkbcompdir parameter to modify "xkbcomp" path from commandline.
+
+Signed-off-by: Adam Tkac <atkac@redhat.com>
+---
+ xkb/xkbInit.c |   21 +++++++++++++++++++++
+ 1 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
+index fbf8f14..29fb33e 100644
+--- a/xkb/xkbInit.c
++++ b/xkb/xkbInit.c
+@@ -742,7 +742,28 @@ XkbProcessArguments(int argc,char *argv[],int i)
+           }
+       }
+       return j;
++    } else if (strncmp(argv[i], "-xkbcompdir", 11)==0) {
++      if (++i < argc) {
++#if !defined(WIN32) && !defined(__CYGWIN__)
++            if (getuid() != geteuid()) {
++                LogMessage(X_WARNING, "-xkbdir is not available for setuid X servers\n");
++                return -1;
++            } else
++#endif
++          {
++              if (strlen(argv[i]) < PATH_MAX) {
++                  XkbBinDirectory = argv[i];
++                  return 2;
++              } else {
++                  LogMessage(X_ERROR, "-xkbcompdir pathname too long\n");
++                  return -1;
++              }
++          }
++      } else {
++          return -1;
++      }
+     }
++
+     if ((strcmp(argv[i], "-ardelay") == 0) ||
+         (strcmp (argv[i], "-ar1") == 0)) {    /* -ardelay int */
+       if (++i >= argc) UseMsg ();
+-- 
+1.7.2.3
+
diff --git a/unix/build-xorg b/unix/build-xorg
deleted file mode 100755 (executable)
index 3901774..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-#!/bin/bash
-# -*- mode: shell-script; coding: UTF-8 -*-
-# 
-# Build Xvnc with Xorg 7.4 or 7.5
-#
-
-set -e
-
-PREFIX=
-MAKE="make"
-PARALLEL_MAKE=0
-XORG_VERSION=7.5
-XONLY=0
-CFGHOST=
-SRCDIR=`dirname $0`/..
-
-modules="dri2proto \
-    libpthread-stubs \
-    glproto \
-    xf86vidmodeproto \
-    xextproto \
-    xproto \
-    kbproto \
-    inputproto \
-    xcmiscproto \
-    bigreqsproto \
-    fixesproto \
-    damageproto \
-    xf86driproto \
-    randrproto \
-    renderproto \
-    scrnsaverproto \
-    resourceproto \
-    fontsproto \
-    videoproto \
-    compositeproto \
-    xineramaproto \
-    libdrm \
-    libXau \
-    xtrans \
-    libXdmcp \
-    libX11 \
-    libXext \
-    libXxf86vm \
-    libICE \
-    libSM \
-    libXt \
-    libXmu \
-    libXfixes \
-    libXdamage \
-    libXi \
-    libxkbfile \
-    libfontenc \
-    libXfont \
-    libpciaccess \
-    pixman"
-
-init()
-{
-    update_modules
-
-    pushd xorg
-    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/util-macros.tar.bz2
-    pushd util-macros-*
-    echo "Building macros"
-    ./configure --prefix=${PREFIX}
-    ($MAKE install)
-    popd
-
-    pushd xserver
-
-       patch -p1 < $SRCDIR/unix/xserver18.patch
-    for all in `find $SRCDIR/unix/xorg-$XORG_VERSION-patches/ -type f |grep '.*\.patch$'`; do
-       echo Applying $all
-       patch -p1 < $all
-    done
-
-    popd
-    popd
-}
-
-
-update_modules()
-{
-    if [ -d xorg ]; then rm -rf xorg; fi
-    if [ -d xorg.build ]; then rm -rf xorg.build; fi
-    mkdir xorg
-    pushd xorg
-    $SRCDIR/unix/download-xorg-$XORG_VERSION
-    for module in ${modules}; do
-        tar jxf ~/.tigervnc-xorg-$XORG_VERSION/${module}.tar.bz2
-    done
-
-    [ -r ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.bz2 ] && \
-        tar jxf ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.bz2
-    [ -r ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.gz ] && \
-        tar zxf ~/.tigervnc-xorg-$XORG_VERSION/Mesa.tar.gz
-
-    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/freetype.tar.bz2
-    tar jxf ~/.tigervnc-xorg-$XORG_VERSION/xorg-server.tar.bz2
-    cp -r $SRCDIR/unix/xserver xserver
-    cp -r xorg-server-1.*/* xserver
-    popd
-}
-
-
-build ()
-{
-    if [ $XONLY -eq 0 ]; then
-
-    # Build VNC
-    echo "*** Building VNC ***"
-    cmake -G"Unix Makefiles" ${1+"$@"} -DUSE_INCLUDED_ZLIB=1 -DBUILD_STATIC=1 $SRCDIR
-    $MAKE
-
-    # Build Xorg
-    echo "*** Building Xorg ***"
-    pushd xorg
-
-    # build freetype
-    echo "*** Building freetype ***"
-    pushd freetype-*
-    ./configure ${CFGHOST} --prefix=${PREFIX} --enable-static --disable-shared
-    if [ $? -ne 0 ]; then
-       echo "Failed to configure freetype."
-       exit
-    fi
-    $MAKE install
-    popd
-
-    for module in ${modules}; do
-        extraoptions=""
-        cd ${module}-*
-        echo ======================
-        echo configuring ${module}
-        echo ======================
-        if [ "${module}" = "libX11" ]; then
-            extraoptions="${extraoptions} --without-xcb --disable-specs"
-        fi
-        if [ "${module}" = "libSM" ]; then
-            extraoptions="${extraoptions} --without-libuuid"
-        fi
-        if [ "${module}" = "pixman" ]; then
-            extraoptions="${extraoptions} --disable-gtk"
-        fi
-       if [ "${module}" = "libXfont" ]; then
-           extraoptions="${extraoptions} --with-freetype-config=${PREFIX}/bin/freetype-config"
-       fi
-        OLD_CFLAGS=${CFLAGS}
-        OLD_CXXFLAGS=${CXXFLAGS}
-        CFLAGS=${CFLAGS}' -fPIC'
-        CXXFLAGS=${CXXFLAGS}' -fPIC'
-        export CFLAGS CXXFLAGS
-        ./configure ${CFGHOST} --prefix="${PREFIX}" ${extraoptions} --enable-static --disable-shared
-        CFLAGS=${OLD_CFLAGS}
-        CXXFLAGS=${OLD_CXXFLAGS}
-        export CFLAGS CXXFLAGS
-        echo ======================
-        echo building ${module}
-        echo ======================
-        if [ $? -ne 0 ]; then
-                echo "Failed to configure ${module}."
-                exit
-        fi
-        $MAKE install
-        cd ..
-    done
-
-    # build mesa
-    echo "*** Building Mesa ***"
-    pushd Mesa-*
-    ./configure ${CFGHOST} --prefix=${PREFIX} --disable-driglx-direct --with-dri-drivers=swrast --with-driver=dri --disable-glut --without-demos
-    if [ $? -ne 0 ]; then
-       echo "Failed to configure Mesa."
-       exit
-    fi
-    $MAKE
-    $MAKE install
-    popd
-
-    popd
-
-    fi # XONLY
-
-    # build xserver
-    echo "*** Building xserver ***"
-    pushd xorg/xserver
-    autoreconf -fiv
-    XORGCFGFLAGS="--disable-dri --enable-dri2 --disable-composite --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive --disable-config-dbus --disable-config-hal --disable-config-udev --with-sha1=libgcrypt SHA1_LIB=-lcrypto --disable-shared --enable-static ${XORGCFGFLAGS}"
-    ./configure ${CFGHOST} --prefix=${PREFIX} ${XORGCFGFLAGS}
-    if [ $? -ne 0 ]; then
-       echo "Failed to configure X server."
-       exit
-    fi
-    $MAKE TIGERVNC_SRCDIR=$SRCDIR install
-    popd
-}
-
-rebuild ()
-{
-    # Build VNC
-    echo "*** Building VNC ***"
-    $MAKE ${1+"$@"}
-
-    # build xserver
-    echo "*** Building xserver ***"
-    pushd xorg/xserver
-    $MAKE TIGERVNC_SRCDIR=$SRCDIR install ${1+"$@"}
-    popd
-}
-
-
-usage ()
-{
-    echo "Usage: $0  init [-version <7.4 | 7.5>]"
-    echo
-    echo "       $0  build [-version <7.4 | 7.5>]"
-    echo "       [additional CMake flags]"
-    echo
-    echo "       $0  rebuild [additional make options]"
-    echo
-    echo "       $0  update [-version <7.4 | 7.5>]"
-    echo
-    exit 1
-}
-
-if [ -x '/usr/bin/getconf' -a "$PARALLEL_MAKE" = "1" ]; then
-    MAKE_PARALLEL=`/usr/bin/getconf _NPROCESSORS_ONLN 2>&1`
-    [ "$MAKE_PARALLEL" -gt 1 ] && MAKE="$MAKE -j$MAKE_PARALLEL"
-fi
-
-while [ $# -gt 0 ]
-do
-    case "$1" in
-       init)       MODE=init                ;;
-       build)      MODE=build               ;;
-       xbuild)     MODE=build;  XONLY=1     ;;
-       rebuild)    MODE=rebuild             ;;
-       update)     MODE=update              ;;
-       -parallel)  PARALLEL_MAKE=1;         ;;
-       -srcdir)    SRCDIR=$2;        shift  ;;
-       *)          break                    ;;
-    esac
-    shift
-done
-
-pushd $SRCDIR
-SRCDIR=`pwd`
-echo "*** Using TigerVNC source tree at $SRCDIR ***"
-popd
-
-if [ "`pwd`" = "$SRCDIR/unix" ]; then
-    cd $SRCDIR
-fi
-
-if [ "$PREFIX" = "" ]; then
-    PREFIX=`pwd`/xorg.build
-fi
-
-if [ "$MODE" = "build" ]; then
-    if [ ! -d ./xorg.build/syslib ]; then
-       mkdir -p ./xorg.build/syslib
-    fi
-
-    for i in "$@"; do
-       case "$i" in
-           CC=*)        CC=`echo $i | sed s/^CC=//g`  ;;
-           CXX=*)       CXX=`echo $i | sed s/^CXX=//g`  ;;
-           CFLAGS=*)    CFLAGS=`echo $i | sed s/^CFLAGS=//g`  ;;
-           CXXFLAGS=*)  CXXFLAGS=`echo $i | sed s/^CXXFLAGS=//g`  ;;
-           LDFLAGS=*)   LDFLAGS=`echo $i | sed s/^LDFLAGS=//g`  ;;
-       esac
-    done
-    if [ "$CC" = "" ]; then
-       CC=gcc
-    fi
-    if [ "$CXX" = "" ]; then
-       CXX=g++
-    fi
-    if [ "$CFLAGS" = "" ]; then
-       CFLAGS=-O3
-    fi
-    if [ "$CXXFLAGS" = "" ]; then
-       CXXFLAGS=-O3
-    fi
-    CFLAGS="$CFLAGS -fPIC"
-    CXXFLAGS="$CXXFLAGS -fPIC"
-    LDFLAGS="$LDFLAGS -static-libgcc -L`pwd`/xorg.build/syslib"
-    echo CC = $CC
-    echo CXX = $CXX
-    echo CFLAGS = $CFLAGS
-    echo CXXFLAGS = $CXXFLAGS
-    echo LDFLAGS = $LDFLAGS
-    if [[ $CFLAGS = *-m32* ]]; then
-       CFGHOST="--host i686-pc-linux-gnu"
-    fi
-    STATICLIBS='libcrypto.a libz.a'
-    for lib in $STATICLIBS; do
-       if [ -f ./xorg.build/syslib/$lib ]; then
-           rm -f ./xorg.build/syslib/$lib
-       fi
-    done
-    IS64BIT=`echo -e "#ifdef __x86_64__\nis64bit_yes\n#else\nis64bit_no\n#endif" | $CC $CFLAGS -E - | grep is64bit`
-    STATICLIBDIR=
-    case $IS64BIT in
-       is64bit_yes)
-           if [ -d /usr/lib64 ]; then STATICLIBDIR=lib64;
-           else STATICLIBDIR=lib; fi
-           ;;
-       is64bit_no)
-           if [ -d /usr/lib32 ]; then STATICLIBDIR=lib32;
-           else STATICLIBDIR=lib; fi
-           ;;
-       *)
-           echo "Cannot determine whether compiler output is 64-bit or 32-bit.  Are you using GCC?"
-           exit 1
-           ;;
-    esac
-    for lib in $STATICLIBS; do
-       if [ -f /usr/$STATICLIBDIR/$lib ]; then
-           ln -fs /usr/$STATICLIBDIR/$lib ./xorg.build/syslib
-       else
-           if [ -f /$STATICLIBDIR/$lib ]; then
-               ln -fs /$STATICLIBDIR/$lib ./xorg.build/syslib
-           else
-               DYLIB=`echo $lib | sed s/\\\.a/\\.so/g`
-               if [ -f /usr/$STATICLIBDIR/$DYLIB -o -f /$STATICLIBDIR/$DYLIB ]; then
-                   echo WARNING: Cannot find suitable $lib.  Xvnc will depend on $DYLIB.
-               fi
-           fi
-       fi
-    done
-fi
-
-export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
-export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig"
-
-case "$MODE" in
-    init)       init                 ;;
-    build)
-       export CFLAGS CXXFLAGS LDFLAGS
-       build ${1+"$@"};
-       ;;
-    rebuild)    rebuild ${1+"$@"}    ;;
-    update)     update               ;;
-    *)          usage                ;;
-esac
diff --git a/unix/download-xorg-7.5 b/unix/download-xorg-7.5
deleted file mode 100755 (executable)
index 1b802a2..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-# -*-mode: python; coding: UTF-8 -*-
-
-import os
-import glob
-
-#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.2.0.tar.bz2",
-    "fixesproto":  PROTO + "fixesproto-4.1.1.tar.bz2",
-    "resourceproto": PROTO + "resourceproto-1.1.0.tar.bz2",
-    "fontsproto": PROTO + "fontsproto-2.1.0.tar.bz2",
-    "bigreqsproto": PROTO + "bigreqsproto-1.1.0.tar.bz2",
-    "kbproto": PROTO + "kbproto-1.0.4.tar.bz2",
-    "inputproto": PROTO + "inputproto-2.0.tar.bz2",
-    "glproto": PROTO + "glproto-1.4.12.tar.bz2",
-    "xineramaproto": PROTO + "xineramaproto-1.2.tar.bz2",
-    "randrproto": PROTO + "randrproto-1.3.1.tar.bz2",
-    "scrnsaverproto": PROTO + "scrnsaverproto-1.2.0.tar.bz2",
-    "renderproto": PROTO + "renderproto-0.11.tar.bz2",
-    "xcmiscproto": PROTO + "xcmiscproto-1.2.0.tar.bz2",
-    "xextproto": PROTO + "xextproto-7.1.1.tar.bz2",
-    "xf86driproto": PROTO + "xf86driproto-2.1.0.tar.bz2",
-    "dri2proto": PROTO + "dri2proto-2.1.tar.bz2",
-    "compositeproto": PROTO + "compositeproto-0.4.1.tar.bz2",
-    "xf86vidmodeproto": PROTO + "xf86vidmodeproto-2.3.tar.bz2",
-    "videoproto": PROTO + "videoproto-2.3.0.tar.bz2",
-    "xproto": PROTO + "xproto-7.0.16.tar.bz2",
-
-    "libxkbfile": LIB + "libxkbfile-1.0.6.tar.bz2",
-    "libXxf86vm": LIB + "libXxf86vm-1.1.0.tar.bz2",
-    "libXext": LIB + "libXext-1.1.2.tar.bz2",
-    "libfontenc": LIB + "libfontenc-1.0.5.tar.bz2",
-    "libXau": LIB + "libXau-1.0.6.tar.bz2",
-    "libXfont": LIB + "libXfont-1.4.2.tar.bz2",
-    "libXfixes": LIB + "libXfixes-4.0.5.tar.bz2",
-    "libSM": LIB + "libSM-1.1.1.tar.bz2",
-    "libXi": LIB + "libXi-1.3.2.tar.bz2",
-    "libXmu": LIB + "libXmu-1.0.5.tar.bz2",
-    "libX11": LIB + "libX11-1.3.5.tar.bz2",
-    "libXdmcp": LIB + "libXdmcp-1.0.3.tar.bz2",
-    "xtrans": LIB + "xtrans-1.2.5.tar.bz2",
-    "libXt": LIB + "libXt-1.0.8.tar.bz2",
-    "libpciaccess": LIB + "libpciaccess-0.12.0.tar.bz2",
-    "libICE": LIB + "libICE-1.0.6.tar.bz2",
-    "pixman": LIB + "pixman-0.19.2.tar.bz2",
-    "libXdamage": LIB + "libXdamage-1.1.3.tar.bz2",
-
-    "util-macros": UTIL + "util-macros-1.10.0.tar.bz2",
-    "xorg-server": SERVER + "xorg-server-1.8.2.tar.bz2",
-
-    "libdrm": "http://dri.freedesktop.org/libdrm/libdrm-2.4.21.tar.bz2",
-    "Mesa": "ftp://ftp.freedesktop.org/pub/mesa/beta/MesaLib-7.8.3-rc1.tar.bz2",
-    "libpthread-stubs": "http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2",
-    "freetype": "http://downloads.sourceforge.net/freetype/freetype-2.4.2.tar.bz2",
-    }
-
-
-
-def main():
-    dir = os.path.expanduser("~")+"/.tigervnc-xorg-7.5"
-    cwd = os.getcwd()
-    if not os.path.exists(dir):
-        os.mkdir(dir)
-    os.chdir(dir)
-
-    for pkg in packages.keys():
-        loc = packages[pkg]
-        if ".tar.bz2" in loc:
-            fname = pkg + ".tar.bz2"
-        else :
-            fname = pkg + ".tar.gz"
-        if not os.path.exists(fname):
-            assert 0 == os.spawnvp(os.P_WAIT, "wget", ["-N", "-c", "-O", fname, loc])
-
-    os.chdir(cwd)
-main()
diff --git a/unix/xorg-7.5-patches/0001-Add-dridir-param.patch b/unix/xorg-7.5-patches/0001-Add-dridir-param.patch
deleted file mode 100644 (file)
index c72078f..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-From 0acffdd6f443198378012405e7f814f5abf278b3 Mon Sep 17 00:00:00 2001
-From: Adam Tkac <atkac@redhat.com>
-Date: Wed, 15 Sep 2010 15:37:01 +0200
-Subject: [PATCH] Add -dridir parameter to specify DRI drivers directory from command line.
-
-Signed-off-by: Adam Tkac <atkac@redhat.com>
----
- glx/glxdri.c       |    2 --
- glx/glxdri2.c      |    2 --
- glx/glxdriswrast.c |    2 --
- glx/glxext.c       |   27 +++++++++++++++++++++++++++
- glx/glxserver.h    |    3 +++
- os/utils.c         |    9 +++++++++
- 6 files changed, 39 insertions(+), 6 deletions(-)
-
-diff --git a/glx/glxdri.c b/glx/glxdri.c
-index 5b78cec..ce29ae2 100644
---- a/glx/glxdri.c
-+++ b/glx/glxdri.c
-@@ -860,8 +860,6 @@ static const __DRIextension *loader_extensions[] = {
--static const char dri_driver_path[] = DRI_DRIVER_PATH;
--
- static Bool
- glxDRIEnterVT (int index, int flags)
- {
-diff --git a/glx/glxdri2.c b/glx/glxdri2.c
-index 2d6090c..49265ec 100644
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -579,8 +579,6 @@ static const __DRIextension *loader_extensions[] = {
-     NULL
- };
--static const char dri_driver_path[] = DRI_DRIVER_PATH;
--
- static Bool
- glxDRIEnterVT (int index, int flags)
- {
-diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
-index 6a34393..37c1dce 100644
---- a/glx/glxdriswrast.c
-+++ b/glx/glxdriswrast.c
-@@ -438,8 +438,6 @@ initializeExtensions(__GLXDRIscreen *screen)
-     }
- }
--static const char dri_driver_path[] = DRI_DRIVER_PATH;
--
- static __GLXscreen *
- __glXDRIscreenProbe(ScreenPtr pScreen)
- {
-diff --git a/glx/glxext.c b/glx/glxext.c
-index 89e58b0..5e7cf23 100644
---- a/glx/glxext.c
-+++ b/glx/glxext.c
-@@ -608,3 +608,30 @@ static int __glXDispatch(ClientPtr client)
-     return retval;
- }
-+
-+char *dri_driver_path = DRI_DRIVER_PATH;
-+
-+int GlxProcessArguments(int argc, char *argv[], int i)
-+{
-+    if (strncmp(argv[i], "-dridir", 7) == 0) {
-+      if (++i < argc) {
-+#if !defined(WIN32) && !defined(__CYGWIN__)
-+          if (getuid() != geteuid()) {
-+              LogMessage(X_WARNING, "-dridir is not available for setuid X servers\n");
-+              return -1;
-+          } else
-+#endif
-+          {
-+              if (strlen(argv[i]) < PATH_MAX) {
-+                  dri_driver_path = argv[i];
-+                  return 2;
-+              } else {
-+                  LogMessage(X_ERROR, "-dridir pathname too long\n");
-+                  return -1;
-+              }
-+          }
-+        }
-+    }
-+
-+    return 0;
-+}
-diff --git a/glx/glxserver.h b/glx/glxserver.h
-index 1daf977..082ff82 100644
---- a/glx/glxserver.h
-+++ b/glx/glxserver.h
-@@ -251,4 +251,7 @@ extern unsigned glxMinorVersion;
- extern int __glXEventBase;
-+extern char *dri_driver_path;
-+extern int GlxProcessArguments(int argc, char *argv[], int i);
-+
- #endif /* !__GLX_server_h__ */
-diff --git a/os/utils.c b/os/utils.c
-index 13d3b3f..ff97c86 100644
---- a/os/utils.c
-+++ b/os/utils.c
-@@ -141,6 +141,7 @@ Bool noDPMSExtension = FALSE;
- #ifdef GLXEXT
- Bool noGlxExtension = FALSE;
- Bool noGlxVisualInit = FALSE;
-+extern int GlxProcessArguments(int argc, char *argv[], int i);
- #endif
- #ifdef SCREENSAVER
- Bool noScreenSaverExtension = FALSE;
-@@ -721,6 +722,14 @@ ProcessCommandLine(int argc, char *argv[])
-                i+= skip-1;
-           else UseMsg();
-       }
-+#ifdef GLXEXT
-+      else if ((skip = GlxProcessArguments(argc,argv,i)) != 0) {
-+          if (skip > 0)
-+              i += skip - 1;
-+          else
-+              UseMsg();
-+      }
-+#endif
- #ifdef RLIMIT_DATA
-       else if ( strcmp( argv[i], "-ld") == 0)
-       {
--- 
-1.7.3.2
-
diff --git a/unix/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch b/unix/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch
deleted file mode 100644 (file)
index f7f358b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 5e6e99eaef3ca346c78a3e520ed58ec8b8100b41 Mon Sep 17 00:00:00 2001
-From: Adam Tkac <atkac@redhat.com>
-Date: Thu, 2 Sep 2010 17:24:38 +0200
-Subject: [PATCH] Add -xkbcompdir parameter to modify "xkbcomp" path from commandline.
-
-Signed-off-by: Adam Tkac <atkac@redhat.com>
----
- xkb/xkbInit.c |   21 +++++++++++++++++++++
- 1 files changed, 21 insertions(+), 0 deletions(-)
-
-diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
-index fbf8f14..29fb33e 100644
---- a/xkb/xkbInit.c
-+++ b/xkb/xkbInit.c
-@@ -742,7 +742,28 @@ XkbProcessArguments(int argc,char *argv[],int i)
-           }
-       }
-       return j;
-+    } else if (strncmp(argv[i], "-xkbcompdir", 11)==0) {
-+      if (++i < argc) {
-+#if !defined(WIN32) && !defined(__CYGWIN__)
-+            if (getuid() != geteuid()) {
-+                LogMessage(X_WARNING, "-xkbdir is not available for setuid X servers\n");
-+                return -1;
-+            } else
-+#endif
-+          {
-+              if (strlen(argv[i]) < PATH_MAX) {
-+                  XkbBinDirectory = argv[i];
-+                  return 2;
-+              } else {
-+                  LogMessage(X_ERROR, "-xkbcompdir pathname too long\n");
-+                  return -1;
-+              }
-+          }
-+      } else {
-+          return -1;
-+      }
-     }
-+
-     if ((strcmp(argv[i], "-ardelay") == 0) ||
-         (strcmp (argv[i], "-ar1") == 0)) {    /* -ardelay int */
-       if (++i >= argc) UseMsg ();
--- 
-1.7.2.3
-