diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | glselect.function | 109 |
2 files changed, 9 insertions, 106 deletions
@@ -1,3 +1,9 @@ +2015-05-05 Thomas Orgis <sobukus@sourcemage.org> + * glselect.function: Call out to smgl-gl_select to avoid + code duplication; spells having to depend on that + Spells might call smgl-gl_select in future and this function + might be removed. + 2015-05-04 Vlad Glagolev <stealth@sourcemage.org> * perl-cpan/email-mime-modifier: spell deprecated, it's a part of email-mime now diff --git a/glselect.function b/glselect.function index b2dddd5082..1e7cb2122a 100755 --- a/glselect.function +++ b/glselect.function @@ -1,6 +1,7 @@ #--- ## glselect - select default libGL provider ## rewritten from smgl-gl_select +## then modified to call the latter instead, duplication == BAD ## ## this is run in FINAL and will always set the provider ## based on the final spell cast that calls this. @@ -10,110 +11,6 @@ #--- function glselect(){ - local file_list=" - /usr/lib/libGL.so - /usr/lib/libGL.so.* - /usr/lib/xorg/modules/extensions/libdri.la - /usr/lib/xorg/modules/extensions/libdri.so - /usr/lib/xorg/modules/extensions/libglx.la - /usr/lib/xorg/modules/extensions/libglx.so* - /usr/include/GL/gl.h - /usr/include/GL/glext.h - /usr/include/GL/glx.h - /usr/include/GL/glxext.h - " - local dir_list=( \ - "/usr/lib/.ati" \ - "/usr/lib/.nvidia" \ - "/usr/lib/.mesa" \ - "/usr/include/GL/.ati" \ - "/usr/include/GL/.nvidia" \ - "/usr/include/GL/.mesa" \ - "/usr/lib/xorg/modules/extensions/.ati" \ - "/usr/lib/xorg/modules/extensions/.nvidia" \ - "/usr/lib/xorg/modules/extensions/.mesa" \ - ) - local rm_file orig_dir - local gl_lib=$1 - message "Selecting $gl_lib as the default system GL library" - if [[ -L ${INSTALL_ROOT}/usr/lib/libGL.so ]] || - [[ ! -e ${INSTALL_ROOT}/usr/lib/libGL.so ]] - then - message "Cleaning all previous GL providers..." - for rm_file in $file_list - do - rm -f $rm_file - echo -n "." - done - echo -n "." - echo "" - message "Done." - message "Setting up new GL provider $gl_lib..." - case "$1" in - ati) - [[ -e ${INSTALL_ROOT}${dir_list[0]}/libGL.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[0]}/* \ - ${INSTALL_ROOT}/usr/lib/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[3]}/gl.h ]] && - ln -sf ${INSTALL_ROOT}${dir_list[3]}/* \ - ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[6]}/libglx.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[6]}/* \ - ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null - echo -n "." - ;; - mesa) - [[ -e ${INSTALL_ROOT}${dir_list[2]}/libGL.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[2]}/* \ - ${INSTALL_ROOT}/usr/lib/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[5]}/gl.h ]] && - ln -sf ${INSTALL_ROOT}${dir_list[5]}/* \ - ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[8]}/libglx.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[8]}/* \ - ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null - echo -n "." - ;; -nvidia) - [[ -e ${INSTALL_ROOT}${dir_list[1]}/libGL.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[1]}/* \ - ${INSTALL_ROOT}/usr/lib/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[4]}/gl.h ]] && - ln -sf ${INSTALL_ROOT}${dir_list[4]}/* \ - ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null - [[ -e ${INSTALL_ROOT}${dir_list[7]}/libglx.so ]] && - ln -sf ${INSTALL_ROOT}${dir_list[7]}/* \ - ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null - echo -n "." - ;; - *) message "Unknown secondary files so I only linked the libGL.so" - ln -fs ${INSTALL_ROOT}/usr/lib/$gl_lib/libGL.so* \ - ${INSTALL_ROOT}/usr/lib/ 2>/dev/null - ;; - esac - echo -e "\nDone." - message "You can manage the libGL providers at runtime by using" - message "either smgl-gl_select or manually by symlinking the files" - message "from their respective directories i.e.:" - message "/usr/lib/.[nvidia|ati|mesa]/libGL.so" - message "/usr/lib/xorg/modules/extensions/.[nvidia,ati,mesa]/lib{glx,dri}.so" - message "/usr/include/GL/.[nvidia|ati|mesa]/gl{x,xext,ext}.h" - message "" - message "To:" - message "/usr/lib/libGL.so" - message "/usr/lib/xorg/modules/extensions/lib{glx,dri}.so" - message "/usr/include/GL/gl{x,xext,ext}.h" - message "" - return 0 - else - message "Error ${INSTALL_ROOT}/usr/lib/libGL.so is not a symlink" - message "unable to proceed!!!" - message "Please recast:" - message "mesalib, xorg-server and whatever GL driver you use." - message "" - message "If this continues to happen please file a bug." - message "" - return 1 - fi + message "${MESSAGE_COLOR}Calling smgl-gl_select to switch to $1.$DEFAULT_COLOR" && + smgl-gl_select -s "$1" } - |