summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2004-06-26 08:28:17 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2004-06-26 08:28:17 +0000
commit6623332783056add7f0c9afe97ebdbb8242e89de (patch)
tree346ddf107856925386aeede780d0e65d0df331b5 /x11-base/opengl-update/files
parentDEPENDs can NOT be changed to virtual/libc until a virtual/libc is actually i... (diff)
downloadhistorical-6623332783056add7f0c9afe97ebdbb8242e89de.tar.gz
historical-6623332783056add7f0c9afe97ebdbb8242e89de.tar.bz2
historical-6623332783056add7f0c9afe97ebdbb8242e89de.zip
Pushing out a fix for a really annoying hang, resulting from a grep that fails after the first switch (#55120). Thanks to Michael Sterrett <mr_bones_@gentoo.org>.
Diffstat (limited to 'x11-base/opengl-update/files')
-rw-r--r--x11-base/opengl-update/files/digest-opengl-update-1.7.20
-rw-r--r--x11-base/opengl-update/files/opengl-update-1.7.2209
2 files changed, 209 insertions, 0 deletions
diff --git a/x11-base/opengl-update/files/digest-opengl-update-1.7.2 b/x11-base/opengl-update/files/digest-opengl-update-1.7.2
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/x11-base/opengl-update/files/digest-opengl-update-1.7.2
diff --git a/x11-base/opengl-update/files/opengl-update-1.7.2 b/x11-base/opengl-update/files/opengl-update-1.7.2
new file mode 100644
index 000000000000..63d2c07b930a
--- /dev/null
+++ b/x11-base/opengl-update/files/opengl-update-1.7.2
@@ -0,0 +1,209 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/opengl-update/files/opengl-update-1.7.2,v 1.1 2004/06/26 08:28:17 spyderous Exp $
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# Further modifications by Donnie Berkholz <spyderous@gentoo.org>
+
+. /etc/init.d/functions.sh
+
+if [ `id -u` -ne 0 ]
+then
+ eerror "${0}: must be root."
+ exit 1
+fi
+
+usage() {
+# In addition to the below function, there are two extra uses for this.
+#
+# They aren't in the printed help message because they're intended
+# for developer use.
+# 1) --use-old $NEW_IMPLEM will switch to the new implementation only if
+# no old setup existed (i.e., X has never been installed)
+# 2) --get-implementation will return the implementation
+
+cat << FOO
+usage: ${0##*/} <GL implementation>
+
+note:
+ This utility switches between OpenGL implementations. Currently there
+ are five supported implementations, "xorg-x11" "xfree" "nvidia" "ati"
+ and "mtx", the implementations for X.org, XFree86, nVidia, ATi
+ and Matrox drivers respectively.
+
+examples:
+ ${0##*/} xorg-x11
+ This will setup things to use libGL.so from X.org.
+
+ ${0##*/} nvidia
+ This will setup things to use libGL.so from the nVidia drivers.
+
+FOO
+ exit 1
+}
+
+if [ "$#" -ne 1 -a "$#" -ne 2 ] || \
+ [ "$#" -eq 2 -a "$1" != "--use-old" ]
+then
+ usage
+fi
+
+GL_IMPLEM=""
+
+# Discover GL implementation if it exists
+get_implem() {
+ if [ -f /etc/env.d/09opengl ]
+ then
+ source /etc/env.d/09opengl
+ if [ -n "${LDPATH}" ]
+ then
+ GL_IMPLEM="${LDPATH/\/usr\/lib\/opengl\/}"
+ GL_IMPLEM="${GL_IMPLEM/\/lib}"
+ unset LDPATH
+ fi
+ fi
+}
+
+# Return current GL implementation
+if [ "$1" = "--get-implementation" ]
+then
+ get_implem
+
+ if [ -n "${GL_IMPLEM}" ]
+ then
+ echo "${GL_IMPLEM}"
+ fi
+
+ if [ -z "${GL_IMPLEM}" ]
+ then
+ exit 2
+ fi
+
+ exit 1
+fi
+
+# Only use specified implementation if it is not already selected.
+if [ "$1" = "--use-old" ]
+then
+ shift
+
+ get_implem
+
+ if [ -z "${GL_IMPLEM}" ]
+ then
+ GL_IMPLEM="$1"
+ fi
+else
+ GL_IMPLEM="$1"
+fi
+
+if [ ! -d /usr/lib/opengl/${GL_IMPLEM} ]
+then
+ usage
+else
+ ebegin "Switching to ${GL_IMPLEM} OpenGL interface"
+
+ #setup the $LDPATH
+ echo "LDPATH=/usr/lib/opengl/${GL_IMPLEM}/lib" >/etc/env.d/09opengl
+ /usr/sbin/env-update &>/dev/null
+
+ #setup the /usr/lib/libGL.so symlink
+ if [ -e /usr/lib/libGL.so ]
+ then
+ rm -f /usr/lib/libGL.so
+ fi
+ if [ -e /usr/lib/libGL.so.1 ]
+ then
+ rm -f /usr/lib/libGL.so.1
+ fi
+ realname="$(readlink /usr/lib/opengl/${GL_IMPLEM}/lib/libGL.so)"
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/${realname} \
+ /usr/lib/libGL.so
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/${realname} \
+ /usr/lib/libGL.so.1
+
+ #setup the /usr/X11R6/lib/libMesaGL.so symlink
+ if [ -e /usr/X11R6/lib/libMesaGL.so ]
+ then
+ rm -f /usr/X11R6/lib/libMesaGL.so
+ fi
+ realname="$(readlink /usr/lib/opengl/${GL_IMPLEM}/lib/libGL.so)"
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/${realname} \
+ /usr/X11R6/lib/libMesaGL.so
+
+ #setup the /usr/lib/libGLcore.so symlink
+ if [ -e /usr/lib/libGLcore.so ]
+ then
+ rm -f /usr/lib/libGLcore.so
+ fi
+ if [ -e /usr/lib/libGLcore.so.1 ]
+ then
+ rm -f /usr/lib/libGLcore.so.1
+ fi
+ if [ -e /usr/lib/opengl/${GL_IMPLEM}/lib/libGLcore.so ]
+ then
+ realname="$(readlink /usr/lib/opengl/${GL_IMPLEM}/lib/libGLcore.so)"
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/${realname} \
+ /usr/lib/libGLcore.so
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/${realname} \
+ /usr/lib/libGLcore.so.1
+ fi
+
+ #setup the /usr/lib/libGL.la symlink
+ if [ -e /usr/lib/libGL.la ]
+ then
+ rm -f /usr/lib/libGL.la
+ fi
+ if [ -e /usr/lib/opengl/${GL_IMPLEM}/lib/libGL.la ]
+ then
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/lib/libGL.la \
+ /usr/lib/libGL.la
+ fi
+
+ #fix libtool archives (#48297)
+ CURDIR="$(pwd)"
+ cd /usr/lib
+ if [ "`grep -l /usr/lib/opengl *.la`" ]
+ then
+ sed -i 's:/usr/lib/opengl/[^/]*/lib/libGL.la:/usr/lib/libGL.la:' \
+ `grep -l /usr/lib/opengl *.la`
+ fi
+ cd ${CURDIR}
+
+ #setup the /usr/X11R6/lib/modules/extensions/libglx.so symlink
+ if [ -e /usr/X11R6/lib/modules/extensions/libglx.so ]
+ then
+ rm -f /usr/X11R6/lib/modules/extensions/libglx.so
+ fi
+ if [ -e /usr/lib/opengl/${GL_IMPLEM}/extensions/libglx.so ]
+ then
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/extensions/libglx.so \
+ /usr/X11R6/lib/modules/extensions/libglx.so
+ fi
+ #setup the /usr/X11R6/lib/modules/extensions/libglx.a symlink
+ if [ -e /usr/X11R6/lib/modules/extensions/libglx.a ]
+ then
+ rm -f /usr/X11R6/lib/modules/extensions/libglx.a
+ fi
+ if [ -e /usr/lib/opengl/${GL_IMPLEM}/extensions/libglx.a ]
+ then
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/extensions/libglx.a \
+ /usr/X11R6/lib/modules/extensions/libglx.a
+ fi
+
+ #setup the includes
+ for x in gl.h glx.h glxtokens.h
+ do
+ if [ -e /usr/X11R6/include/GL/${x} ]
+ then
+ rm -f /usr/X11R6/include/GL/${x}
+ fi
+ ln -sf /usr/lib/opengl/${GL_IMPLEM}/include/${x} \
+ /usr/X11R6/include/GL/${x}
+ done
+
+ eend 0
+fi
+
+
+# vim:ts=4