1 |
#!/bin/bash |
#!/bin/bash |
2 |
# Copyright 1999-2004 Gentoo Foundation |
# Copyright 1999-2004 Gentoo Foundation |
3 |
# Distributed under the terms of the GNU General Public License v2 |
# Distributed under the terms of the GNU General Public License v2 |
4 |
# $Header: /home/cvsd/magellan-cvs/magellan-src/opengl-update/opengl-update.sh,v 1.5 2007-11-14 18:18:47 niro Exp $ |
# $Header: /home/cvsd/magellan-cvs/magellan-src/opengl-update/opengl-update.sh,v 1.10 2007-11-14 19:19:16 niro Exp $ |
5 |
# Author: Martin Schlemmer <azarah@gentoo.org> |
# Author: Martin Schlemmer <azarah@gentoo.org> |
6 |
# Further modifications by Donnie Berkholz <spyderous@gentoo.org> |
# Further modifications by Donnie Berkholz <spyderous@gentoo.org> |
7 |
# Further modifications based off submissions to bug #54984 <cyfred@gentoo.org> |
# Further modifications based off submissions to bug #54984 <cyfred@gentoo.org> |
11 |
# <niro@magellan-linux.de> |
# <niro@magellan-linux.de> |
12 |
# |
# |
13 |
|
|
|
. /etc/init.d/functions |
|
|
|
|
14 |
hasq() |
hasq() |
15 |
{ |
{ |
16 |
local x |
local x |
65 |
for dir in ${PREFIX}/lib{,32,64}/opengl/* |
for dir in ${PREFIX}/lib{,32,64}/opengl/* |
66 |
do |
do |
67 |
if [[ -d ${dir} ]] && |
if [[ -d ${dir} ]] && |
68 |
[[ ${dir##*/} != global ]] |
[[ ${dir##*/} != global ]] && |
69 |
&& ! hasq ${dir##*/} ${implems} |
! hasq ${dir##*/} ${implems} |
70 |
then |
then |
71 |
implems=${implems:+${implems} }${dir##*/} |
implems=${implems:+${implems} }${dir##*/} |
72 |
fi |
fi |
100 |
Usage: ${0##*/} [<options>] <GL implementation> |
Usage: ${0##*/} [<options>] <GL implementation> |
101 |
Set the opengl implementation. |
Set the opengl implementation. |
102 |
Valid options: |
Valid options: |
103 |
|
--help|-h|-?: Prints this help. |
104 |
|
--version: Shows the version of this utility. |
105 |
--use-old: If an implementation is already set, use that one. |
--use-old: If an implementation is already set, use that one. |
106 |
--prefix=<val>: Set the source prefix (default: /usr) |
--prefix=<val>: Set the source prefix (default: /usr) |
107 |
--dst-prefix=<val>: Set the destination prefix (default: /usr) |
--dst-prefix=<val>: Set the destination prefix (default: /usr) |
108 |
--impl-headers: Use headers provided by this implementation to |
--impl-headers: Use headers provided by this implementation to |
109 |
override golbal ones provided by opengl-update. |
override global ones provided by opengl-update. |
110 |
|
|
111 |
Usage: ${0##*/} --get-implementation |
Usage: ${0##*/} --get-implementation |
112 |
Print the current implementaion |
Print the current implementaion |
197 |
done |
done |
198 |
} |
} |
199 |
|
|
200 |
set-new-implementation() |
set_new_implementation() |
201 |
{ |
{ |
202 |
local GL_IMPLEM=${1} |
local GL_IMPLEM=${1} |
203 |
local GL_LOCAL |
local GL_LOCAL |
227 |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] || continue |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] || continue |
228 |
else |
else |
229 |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] && |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] && |
230 |
! -h ${PREFIX}/${LIBDIR} ]] || continue |
[[ ! -h ${PREFIX}/${LIBDIR} ]] || continue |
231 |
fi |
fi |
232 |
|
|
233 |
# Fallback on xorg if we don't have this implementation for this LIBDIR. |
# Fallback on xorg if we don't have this implementation for this LIBDIR. |
367 |
|
|
368 |
done |
done |
369 |
|
|
370 |
|
# put only one LDPATH per line! |
371 |
local i |
local i |
372 |
for i in $(echo ${ldpath} | sed "s:\::\ :g") |
for i in $(echo ${ldpath} | sed "s:\::\ :g") |
373 |
do |
do |
406 |
;; |
;; |
407 |
|
|
408 |
old-implementation) |
old-implementation) |
409 |
set-new-implementation ${CURRENT_GL_IMPLEM} |
set_new_implementation ${CURRENT_GL_IMPLEM} |
410 |
exit $? |
exit $? |
411 |
;; |
;; |
412 |
|
|
413 |
set-implementation) |
set-implementation) |
414 |
if [[ -n ${NEW_GL_IMPLEM} ]] |
if [[ -n ${NEW_GL_IMPLEM} ]] |
415 |
then |
then |
416 |
set-new-implementation ${NEW_GL_IMPLEM} |
set_new_implementation ${NEW_GL_IMPLEM} |
417 |
exit $? |
exit $? |
418 |
else |
else |
419 |
print_usage |
print_usage |