summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/opengl-update/files/opengl-update-1.4')
-rw-r--r--x11-base/opengl-update/files/opengl-update-1.4154
1 files changed, 154 insertions, 0 deletions
diff --git a/x11-base/opengl-update/files/opengl-update-1.4 b/x11-base/opengl-update/files/opengl-update-1.4
new file mode 100644
index 000000000000..6aee4a7e9b8c
--- /dev/null
+++ b/x11-base/opengl-update/files/opengl-update-1.4
@@ -0,0 +1,154 @@
+#!/bin/bash
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/x11-base/opengl-update/files/opengl-update-1.4,v 1.1 2002/09/07 21:35:08 azarah Exp $
+
+
+source /etc/init.d/functions.sh
+
+if [ `id -u` -ne 0 ]
+then
+ eerror "${0}: must be root."
+ exit 1
+fi
+
+usage() {
+cat << FOO
+usage: opengl-update <GL implementation>
+
+note:
+ This utility switch between OpenGL implementations. Currently there
+ are two supported implementations, namely "xfree" and "nvidia", the
+ implementations for XFree86 and the NVidia drivers respectively.
+
+examples:
+ opengl-update xfree
+ This will setup things to use libGL.so from XFree86
+
+ opengl-update nvidia
+ This will setup things to use libGL.so from the NVidia drivers.
+
+FOO
+ exit 1
+}
+
+if [ "$#" -ne 1 ] && [ "$#" -eq 2 -a "$1" != "--use-old" ]
+then
+ usage
+fi
+
+GL_IMPLEM=""
+
+# Only use specified implementation if it is not already selected.
+if [ "$1" = "--use-old" ]
+then
+ shift
+
+ 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
+
+ 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/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