Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.framework / org.gvsig.andami / src / main / resources-application / gvSIG.sh @ 40586

History | View | Annotate | Download (5.82 KB)

1
#!/bin/sh
2
#
3
# gvSIG. Desktop Geographic Information System.
4
#
5
# Copyright (C) 2007-2013 gvSIG Association.
6
#
7
# This program is free software; you can redistribute it and/or
8
# modify it under the terms of the GNU General Public License
9
# as published by the Free Software Foundation; either version 3
10
# of the License, or (at your option) any later version.
11
#
12
# This program is distributed in the hope that it will be useful,
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with this program; if not, write to the Free Software
19
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
# MA  02110-1301, USA.
21
#
22
# For any additional information, do not hesitate to contact us
23
# at info AT gvsig.com, or visit our website www.gvsig.com.
24
#
25

    
26
# gvSIG.sh
27

    
28
###########################################
29
# Variables depending on the installation #
30
###########################################
31

    
32
set -e
33
#set -x
34

    
35
if type which >/dev/null; then
36
        WHICH=which
37
else
38
        WHICH=type
39
fi
40

    
41
FORCE_JAVA_32BITS=""
42
JAVA_HOME_OTHER_ARCHITECTURE=""
43
PRIVATE_JAVA_HOME="$HOME/gvSIG/jre/*1.6* $HOME/gvSIG/jre/*1.5*"
44
#
45
# in next line, JAVA_HOME is set during instalation process
46
DEFAULT_JAVA_HOME="${JAVA_HOME}"
47
#
48
#
49
# Try to use java from:
50
# 1. Java specified in JAVA_HOME variable
51
# 2. Java specified in the instalation process
52
# 3. Java in the HOME/gvsig/jre folder (optionally created during installation process)
53
# 4. Java in the system path.
54
#
55
for JAVA_HOME_TO_USE in "$JAVA_HOME" "$DEFAULT_JAVA_HOME" $PRIVATE_JAVA_HOME ""
56
do
57
        if [ "$JAVA_HOME_TO_USE" = "" ] ; then
58
                continue
59
        fi
60
        if [ ! -d "$JAVA_HOME_TO_USE" ] ; then
61
                echo "WARNING: Incorrect JAVA_HOME ($JAVA_HOME_TO_USE), skip"
62
                continue
63
        fi
64
        if [ ! -x "$JAVA_HOME_TO_USE/bin/java" ] ; then
65
                echo "WARNING: Incorrect JAVA_HOME ($JAVA_HOME_TO_USE), bin/java not found, skip"
66
                continue
67
        fi
68
        if ! "$JAVA_HOME_TO_USE/bin/java" -d32 -version 2>/dev/null ; then
69
                JAVA_HOME_OTHER_ARCHITECTURE="$JAVA_HOME_TO_USE"
70
                echo "WARNING: java 32 bits not found in $JAVA_HOME_TO_USE, skip"
71
                continue
72
        fi
73
        break
74
done
75
if [ "$JAVA_HOME_TO_USE" = "" ] ; then
76
        # Try to use the java in the system path
77
        if ! type java >/dev/null ; then
78
                # java not found in the system path
79
                if [ "$JAVA_HOME_OTHER_ARCHITECTURE" != "" ] ; then
80
                        FORCE_JAVA_32BITS=""
81
                        JAVA_HOME="$JAVA_HOME_OTHER_ARCHITECTURE"
82
                        JAVA="$JAVA_HOME/bin/java"
83
                        echo "WARNING: java 32 bits not found in the system path, using $JAVA_HOME_OTHER_ARCHITECTURE"
84
                else
85
                        echo "WARNING: java not found in the system"
86
                        exit 1
87
                fi
88
        else
89
                if ! java -d32 -version 2>/dev/null ; then
90
                        FORCE_JAVA_32BITS=""
91
                        echo "WARNING: java 32 bits not found, using $($WHICH java)"
92
		else
93
        		FORCE_JAVA_32BITS="-d32"
94
                fi
95
                unset JAVA_HOME
96
                JAVA="java"
97
        fi
98
else
99
        JAVA_HOME="$JAVA_HOME_TO_USE"
100
        JAVA="$JAVA_HOME/bin/java"
101
        FORCE_JAVA_32BITS="-d32"
102
fi
103
echo "Using java $($WHICH $JAVA)"
104
export JAVA_HOME
105
export JAVA
106

    
107
# Go into the gvSIG installation folder, just in case
108
cd `dirname "$0"`
109

    
110
# gvSIG installation folder
111
GVSIG_HOME="$PWD"
112

    
113
###################################################################
114
# Variables not depending (at least directly) on the installation #
115
###################################################################
116

    
117
# gvSIG native libraries location 
118
GVSIG_NATIVE_LIBS=${GVSIG_HOME}/native:${HOME}/.depman/lib
119

    
120
# Proj4 data files
121
export PROJ_LIB="${GVSIG_HOME}/gvSIG/extensiones/org.gvsig.crs.extension/data"
122

    
123
# GDAL data files
124
export GDAL_DATA="${GVSIG_HOME}/data/gdal"
125

    
126
# Native libraries path
127
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GVSIG_NATIVE_LIBS"
128

    
129
LIBRARIES=""
130
# Load gvSIG Andami jars and dependencies for the classpath 
131
for i in ./lib/*.jar ; do
132
  LIBRARIES=$LIBRARIES:"$i"
133
done
134
for i in ./lib/*.zip ; do
135
  LIBRARIES=$LIBRARIES:"$i"
136
done
137

    
138
# echo Initial libraries found: ${LIBRARIES}
139

    
140
# gvSIG Andami launcher
141
if [ "$GVSIG_LAUNCHER" = "" ] ; then
142
  GVSIG_LAUNCHER=org.gvsig.andamiupdater.Updater
143
fi
144
if [ "$GVSIG_PARAMS" = "" ] ; then
145
  GVSIG_PARAMS="gvSIG gvSIG/extensiones $@"
146
fi
147

    
148
# gvSIG initial classpath
149
GVSIG_CLASSPATH="$LIBRARIES:$GVSIG_CLASSPATH"
150

    
151
########################
152
# Memory configuration #
153
########################
154

    
155
# Initial gvSIG memory (M=Megabytes, G=Gigabytes)
156
GVSIG_INITIAL_MEM=128M
157
# Maximum gvSIG memory (M=Megabytes, G=Gigabytes)
158
GVSIG_MAX_MEM=512M
159
# Maximum permanent memory size: needed to load classes and statics
160
GVSIG_MAX_PERM_SIZE=96M
161

    
162
################
163
# Launch gvSIG #
164
################
165

    
166
# Temporary fix for number locale related formatting error with proj4.
167
export LC_NUMERIC=C
168

    
169
# For Java parameters documentation and more parameters look at:
170
# http://download.oracle.com/javase/6/docs/technotes/tools/windows/java.html
171
# http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
172

    
173
echo Launching gvSIG: ${JAVA} \
174
	$FORCE_JAVA_32BITS \
175
	-Djava.library.path=/usr/lib:"${GVSIG_NATIVE_LIBS}" \
176
	-cp $GVSIG_CLASSPATH \
177
	-Xms${GVSIG_INITIAL_MEM} \
178
	-Xmx${GVSIG_MAX_MEM} \
179
	-XX:MaxPermSize=${GVSIG_MAX_PERM_SIZE} \
180
	$GVSIG_LAUNCHER $GVSIG_PARAMS
181

    
182
${JAVA} \
183
	$FORCE_JAVA_32BITS \
184
	-Djava.library.path=/usr/lib:"${GVSIG_NATIVE_LIBS}" \
185
	-cp $GVSIG_CLASSPATH \
186
	-Xms${GVSIG_INITIAL_MEM} \
187
	-Xmx${GVSIG_MAX_MEM} \
188
	-XX:MaxPermSize=${GVSIG_MAX_PERM_SIZE} \
189
	$GVSIG_LAUNCHER $GVSIG_PARAMS
190