#!/bin/sh # gvSIG.sh ########################################### # Variables depending on the installation # ########################################### set -e #set -x if type which >/dev/null; then WHICH=which else WHICH=type fi FORCE_JAVA_32BITS="" JAVA_HOME_OTHER_ARCHITECTURE="" PRIVATE_JAVA_HOME="$HOME/gvSIG/jre/*1.6* $HOME/gvSIG/jre/*1.5*" # # in next line, JAVA_HOME is set during instalation process DEFAULT_JAVA_HOME="${JAVA_HOME}" # # # Try to use java from: # 1. Java specified in JAVA_HOME variable # 2. Java specified in the instalation process # 3. Java in the HOME/gvsig/jre folder (optionally created during installation process) # 4. Java in the system path. # for JAVA_HOME_TO_USE in "$JAVA_HOME" "$DEFAULT_JAVA_HOME" $PRIVATE_JAVA_HOME "" do if [ "$JAVA_HOME_TO_USE" = "" ] ; then continue fi if [ ! -d "$JAVA_HOME_TO_USE" ] ; then echo "WARNING: Incorrect JAVA_HOME ($JAVA_HOME_TO_USE), skip" continue fi if [ ! -x "$JAVA_HOME_TO_USE/bin/java" ] ; then echo "WARNING: Incorrect JAVA_HOME ($JAVA_HOME_TO_USE), bin/java not found, skip" continue fi if ! "$JAVA_HOME_TO_USE/bin/java" -d32 -version 2>/dev/null ; then JAVA_HOME_OTHER_ARCHITECTURE="$JAVA_HOME_TO_USE" echo "WARNING: java 32 bits not found in $JAVA_HOME_TO_USE, skip" continue fi break done if [ "$JAVA_HOME_TO_USE" = "" ] ; then # Try to use the java in the system path if ! type java >/dev/null ; then # java not found in the system path if [ "$JAVA_HOME_OTHER_ARCHITECTURE" != "" ] ; then FORCE_JAVA_32BITS="" JAVA_HOME="$JAVA_HOME_OTHER_ARCHITECTURE" JAVA="$JAVA_HOME/bin/java" echo "WARNING: java 32 bits not found in the system path, using $JAVA_HOME_OTHER_ARCHITECTURE" else echo "WARNING: java not found in the system" exit 1 fi else if ! java -d32 -version 2>/dev/null ; then FORCE_JAVA_32BITS="" echo "WARNING: java 32 bits not found, using $($WHICH java)" else FORCE_JAVA_32BITS="-d32" fi unset JAVA_HOME JAVA="java" fi else JAVA_HOME="$JAVA_HOME_TO_USE" JAVA="$JAVA_HOME/bin/java" FORCE_JAVA_32BITS="-d32" fi echo "Using java $($WHICH $JAVA)" export JAVA_HOME export JAVA # Go into the gvSIG installation folder, just in case cd `dirname "$0"` # gvSIG installation folder GVSIG_HOME="$PWD" ################################################################### # Variables not depending (at least directly) on the installation # ################################################################### # gvSIG native libraries location GVSIG_NATIVE_LIBS=${GVSIG_HOME}/native:${HOME}/.depman/lib # Proj4 data files export PROJ_LIB="${GVSIG_HOME}/gvSIG/extensiones/org.gvsig.crs.extension/data" # GDAL data files export GDAL_DATA="${GVSIG_HOME}/data/gdal" # Native libraries path export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GVSIG_NATIVE_LIBS" LIBRARIES="" # Load gvSIG Andami jars and dependencies for the classpath for i in ./lib/*.jar ; do LIBRARIES=$LIBRARIES:"$i" done for i in ./lib/*.zip ; do LIBRARIES=$LIBRARIES:"$i" done # echo Initial libraries found: ${LIBRARIES} # gvSIG Andami launcher if [ "$GVSIG_LAUNCHER" = "" ] ; then GVSIG_LAUNCHER=org.gvsig.andamiupdater.Updater fi if [ "$GVSIG_PARAMS" = "" ] ; then GVSIG_PARAMS="gvSIG gvSIG/extensiones $@" fi # gvSIG initial classpath GVSIG_CLASSPATH="$LIBRARIES:$GVSIG_CLASSPATH" ######################## # Memory configuration # ######################## # Initial gvSIG memory (M=Megabytes, G=Gigabytes) GVSIG_INITIAL_MEM=128M # Maximum gvSIG memory (M=Megabytes, G=Gigabytes) GVSIG_MAX_MEM=512M # Maximum permanent memory size: needed to load classes and statics GVSIG_MAX_PERM_SIZE=96M ################ # Launch gvSIG # ################ # Temporary fix for number locale related formatting error with proj4. export LC_NUMERIC=C # For Java parameters documentation and more parameters look at: # http://download.oracle.com/javase/6/docs/technotes/tools/windows/java.html # http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html echo Launching gvSIG: ${JAVA} \ $FORCE_JAVA_32BITS \ -Djava.library.path=/usr/lib:"${GVSIG_NATIVE_LIBS}" \ -cp $GVSIG_CLASSPATH \ -Xms${GVSIG_INITIAL_MEM} \ -Xmx${GVSIG_MAX_MEM} \ -XX:MaxPermSize=${GVSIG_MAX_PERM_SIZE} \ $GVSIG_LAUNCHER $GVSIG_PARAMS ${JAVA} \ $FORCE_JAVA_32BITS \ -Djava.library.path=/usr/lib:"${GVSIG_NATIVE_LIBS}" \ -cp $GVSIG_CLASSPATH \ -Xms${GVSIG_INITIAL_MEM} \ -Xmx${GVSIG_MAX_MEM} \ -XX:MaxPermSize=${GVSIG_MAX_PERM_SIZE} \ $GVSIG_LAUNCHER $GVSIG_PARAMS