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.2 2007-11-14 18:15:11 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> |
67 |
for dir in ${PREFIX}/lib{,32,64}/opengl/* |
for dir in ${PREFIX}/lib{,32,64}/opengl/* |
68 |
do |
do |
69 |
if [[ -d ${dir} ]] && |
if [[ -d ${dir} ]] && |
70 |
[[ ${dir##*/} != global ]] |
[[ ${dir##*/} != global ]] && |
71 |
&& ! hasq ${dir##*/} ${implems} |
! hasq ${dir##*/} ${implems} |
72 |
then |
then |
73 |
implems=${implems:+${implems} }${dir##*/} |
implems=${implems:+${implems} }${dir##*/} |
74 |
fi |
fi |
102 |
Usage: ${0##*/} [<options>] <GL implementation> |
Usage: ${0##*/} [<options>] <GL implementation> |
103 |
Set the opengl implementation. |
Set the opengl implementation. |
104 |
Valid options: |
Valid options: |
105 |
|
--help|-h|-?: Prints this help. |
106 |
|
--version: Shows the version of this utility. |
107 |
--use-old: If an implementation is already set, use that one. |
--use-old: If an implementation is already set, use that one. |
108 |
--prefix=<val>: Set the source prefix (default: /usr) |
--prefix=<val>: Set the source prefix (default: /usr) |
109 |
--dst-prefix=<val>: Set the destination prefix (default: /usr) |
--dst-prefix=<val>: Set the destination prefix (default: /usr) |
110 |
--impl-headers: Use headers provided by this implementation to |
--impl-headers: Use headers provided by this implementation to |
111 |
override golbal ones provided by opengl-update. |
override global ones provided by opengl-update. |
112 |
|
|
113 |
Usage: ${0##*/} --get-implementation |
Usage: ${0##*/} --get-implementation |
114 |
Print the current implementaion |
Print the current implementaion |
172 |
|
|
173 |
--impl-headers) USE_PROFILE_HEADERS="yes" ;; |
--impl-headers) USE_PROFILE_HEADERS="yes" ;; |
174 |
|
|
175 |
--help|-h|-?) ACION="usage" ;; |
--help|-h|-?) ACTION="usage" ;; |
176 |
|
|
177 |
--version) ACTION="version" ;; |
--version) ACTION="version" ;; |
178 |
|
|
199 |
done |
done |
200 |
} |
} |
201 |
|
|
202 |
set-new-implementation() |
set_new_implementation() |
203 |
{ |
{ |
204 |
local GL_IMPLEM=${1} |
local GL_IMPLEM=${1} |
205 |
local GL_LOCAL |
local GL_LOCAL |
229 |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] || continue |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] || continue |
230 |
else |
else |
231 |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] && |
[[ -d ${PREFIX}/${LIBDIR}/opengl ]] && |
232 |
! -h ${PREFIX}/${LIBDIR} ]] || continue |
[[ ! -h ${PREFIX}/${LIBDIR} ]] || continue |
233 |
fi |
fi |
234 |
|
|
235 |
# 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. |
369 |
|
|
370 |
done |
done |
371 |
|
|
372 |
echo "LDPATH=\"${ldpath}\"" > ${ENV_D} |
# put only one LDPATH per line! |
373 |
|
local i |
374 |
|
for i in $(echo ${ldpath} | sed "s:\::\ :g") |
375 |
|
do |
376 |
|
echo "LDPATH=\"${i}\"" >> ${ENV_D} |
377 |
|
done |
378 |
echo "OPENGL_PROFILE=\"${GL_IMPLEM}\"" >> ${ENV_D} |
echo "OPENGL_PROFILE=\"${GL_IMPLEM}\"" >> ${ENV_D} |
379 |
|
|
380 |
env-rebuild |
env-rebuild |
392 |
AVAIL_IMPLEMS=$(get_implementations) |
AVAIL_IMPLEMS=$(get_implementations) |
393 |
CURRENT_GL_IMPLEM=$(get_current_implem) |
CURRENT_GL_IMPLEM=$(get_current_implem) |
394 |
USE_PROFILE_HEADERS="no" |
USE_PROFILE_HEADERS="no" |
395 |
VERSION="2.2.4" |
VERSION="@@VERSION@@" |
396 |
|
|
397 |
parse_options ${@} |
parse_options ${@} |
398 |
|
|
408 |
;; |
;; |
409 |
|
|
410 |
old-implementation) |
old-implementation) |
411 |
set-new-implementation ${CURRENT_GL_IMPLEM} |
set_new_implementation ${CURRENT_GL_IMPLEM} |
412 |
exit $? |
exit $? |
413 |
;; |
;; |
414 |
|
|
415 |
set-implementation) |
set-implementation) |
416 |
if [[ -n ${NEW_GL_IMPLEM} ]] |
if [[ -n ${NEW_GL_IMPLEM} ]] |
417 |
then |
then |
418 |
set-new-implementation ${NEW_GL_IMPLEM} |
set_new_implementation ${NEW_GL_IMPLEM} |
419 |
exit $? |
exit $? |
420 |
else |
else |
421 |
print_usage |
print_usage |