1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#! /bin/sh
# geomview shell script driver
GEOMROOT=%GEOMROOT%
GEOMVIEW_GVX=%GEOMVIEW_GVX%
########################################################################
#
# DO NOT CHANGE ANYTHING BELOW HERE #
#
########################################################################
%LD_LIBRARY_PATH_SETTINGS%
export LD_LIBRARY_PATH
### Geomview and/or its modules use the following environment
### variables. For each of these that does not already have a value,
### this shell script assigns a value based on the setting of
### geomview_dir above. You can override these values if you want by
### setting them in your shell environment before invoking this
### script.
###
### GEOMVIEW_DIR: pathname of geomview distribution directory
### GEOMVIEW_GVX: pathname of executable file "gvx"
### GEOMVIEW_LOAD_PATH: colon-separated list of directories to search
### for files
### GEOMVIEW_EMODULE_PATH: colon-separated list of directories to search
### for modules
### GEOMVIEW_SYSTEM_INITFILE: pathname of an initialization file to
### read upon startup
### GEOMDATA: [ used only by some modules; for backward compatibility ]
### pathname of the data directory
MACHTYPE=%MACHTYPE%
suf=
: ${GEOMDATA=%GEOMDATA%}
: ${GEOMVIEW_LOAD_PATH=.:${GEOMDATA}/geom:${GEOMDATA}}
: ${GEOMVIEW_EMODULE_PATH=%MODULESDIR%}
: ${GEOMVIEW_SYSTEM_INITFILE=${GEOMDATA}/.geomview}
export GEOMROOT GEOMVIEW_GVX GEOMVIEW_LOAD_PATH GEOMDATA \
GEOMVIEW_EMODULE_PATH GEOMVIEW_SYSTEM_INITFILE
gvx="${GEOMVIEW_GVX}"
case "$gvx" in
*gvx.[a-zA-Z3])
gvx="`expr match \"$GEOMVIEW_GVX\" '(.*)\.[^./]*' \| \"$GEOMVIEW_GVX\"`" ;;
esac
can_C3D() {
case "$DISPLAY" in
:*|unix:*) test -w /dev/fbs/ffb0 || return 1 ;;
esac
case `ldd "${gvx}.C3D" 2>&1` in
*found*|*"No such"*) return 1 ;;
esac
}
gvx_option() {
case "$1" in
-ogl|-OGL|-opengl|-OpenGL|-OPENGL)
suf=.OGL; suf2=.MESA
if [ "$MACHTYPE" = "solaris" ]; then
suf=.MESA
if can_C3D; then suf=.C3D; fi
fi
shift ;;
-mesa|-Mesa|-MESA)
suf=.MESA; suf2=.OGL ;;
-x11|-X11)
suf=.X11; shift ;;
-c3d|-C3D|-Creator3D|-creator3d)
suf=.C3D; suf2=.MESA ;;
-h|-help|-HELP|-\?*)
echo "For advice on selecting which geomview graphics option to use,
see also \"geomview -graphics\"."
;;
-grap*|-Grap*|-GRAP*)
if [ -f "$gvx.X11" -o -f "$gvx.MESA" -o -f "$gvx.C3D" -o -f "$gvx.OGL" ]; then
g=`basename $0`
echo "The $0 script can invoke any of several executables:"
test -f "$gvx.X11" && \
echo " with geomview's own X software rendering: use $g -x11"
test -f "$gvx.MESA" && \
echo " with Mesa OpenGL-like software rendering: use $g -mesa"
test -f "$gvx.X11" && \
echo " with Sun OpenGL for UltraSparcs with Creator3D: use $g -creator3d"
test -f "$gvx.OGL" && \
echo " with Open GL: use $g -opengl"
echo "If given, this option MUST BE THE FIRST on geomview's command line."
echo "Using some variant of Open GL allows transparency and texture-mapping;"
echo "software OpenGL implementations are slower than $g -x11, but hardware ones"
echo "run faster."
echo "To change the default, setenv GEOMVIEW_GVXOPT to the appropriate option."
fi >&2
exit 1
;;
*) test ;;
esac
}
gvx_option ${GEOMVIEW_GVXOPT}
if gvx_option "$1"; then shift; fi
if [ "$MACHTYPE" = "solaris" -a -z "$suf" -a -w /dev/fbs/ffb0 ] && can_C3D; then
echo "$0: Invoking Creator3D version (see \"geomview -graphics\" for info)" >&2
suf=.C3D
fi
if [ -f "$gvx$suf" ]; then
GEOMVIEW_GVX="$gvx$suf"
elif [ -f "$gvx$suf2" ]; then
GEOMVIEW_GVX="$gvx$suf2"
elif [ -f "$gvx" ]; then
GEOMVIEW_GVX="$gvx"
fi
export GEOMVIEW_GVX
case "$1" in
-dbx) GEOMVIEW_DEBUG=1 exec dbx $GEOMVIEW_GVX ;;
-edge) GEOMVIEW_DEBUG=1 exec edge $GEOMVIEW_GVX ;;
-gdb) GEOMVIEW_DEBUG=1 exec gdb $GEOMVIEW_GVX ;;
-xdb) GEOMVIEW_DEBUG=1 exec xdb $GEOMVIEW_GVX ;;
*) exec $GEOMVIEW_GVX ${1+"$@"} ;;
esac
|