Revision 42717

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/resources-application/gvSIG.sh
32 32
# - busybox (win32) don't support statement "local"
33 33
# - Careful with loop "while", changes in variables within the loop are
34 34
#   lost when you leave this.  Use "for" loops to avoid this.
35
# - busybox (win32) don't support typeset
35 36
#
36 37

  
37 38
#set -x
......
50 51
# Identify OS and Architecture  #
51 52
####################
52 53

  
53
UNAME=$(uname -a)
54
if echo "$UNAME" | grep -i "win" >/dev/null; then
54
UNAME=$(uname -a | tr '[:upper:]' '[:lower:]')
55
if [ "${UNAME/*win*/win}" == "win" ] ; then
55 56
	OS="win"
56 57
	ARG_D32=""
57 58
        CPSEP=";"
58 59
else
59
	if echo "$UNAME" | grep -i "lin" >/dev/null ; then
60
        if [ "${UNAME/*win*/win}" == "lin" ] ; then
60 61
		OS="lin"
61 62
		# Only linux support -d32 arg
62 63
		ARG_D32="-d32"
......
67 68
                CPSEP=":"
68 69
	fi
69 70
fi
70
if echo "$UNAME" | egrep -i "(x86_64)|(amd64)" >/dev/null ; then
71
if [ "${UNAME/*x86_64*/x86_64}" == "x86_64" -o  "${UNAME/*x86_64*/amd64}" == "amd64" ] ; then
71 72
	ARCH="x86_64"
72 73
else
73 74
	ARCH="x86"
74 75
fi
75 76

  
77
if [ "${UNAME/*win*5.1*/xp}" == "xp" ] ; then
78
  xmkdir() {
79
    if [ "$1" == "-p" ] ; then
80
      if [ "${2:1:2}" == ":/" ] ; then
81
	cd "${2:0:3}"
82
	if mkdir -p "${2:3}" ] ; then
83
	  cd - >/dev/null
84
	  false
85
	else
86
	  cd - >/dev/null
87
	fi
88
      else
89
	mkdir -p "$2"
90
      fi
91
    else
92
      mkdir "$1"
93
    fi
94
  }
95
else
96
  xmkdir() {
97
    if [ "$1" == "-p" ] ; then
98
      mkdir -p "$2"
99
    else
100
      mkdir "$1"
101
    fi
102
  }
103
fi
104

  
76 105
########################
77 106

  
78 107
getJavaArchitecture() {
......
116 145
fi
117 146

  
118 147
if [ ! -d "$GVSIG_HOME_FOLDER" ] ; then
119
  mkdir -p "$GVSIG_HOME_FOLDER"
148
  xmkdir -p "$GVSIG_HOME_FOLDER"
120 149
fi
121 150

  
122 151
####################
......
159 188
  eval $@ 2>&1 | tee -a  "$LOGGER_FILE"
160 189
}
161 190

  
162
#########################
163
# Locate whitch command #
164
#########################
165

  
166
if type which >/dev/null; then
167
        WHICH=which
168
else
169
        WHICH=type
170
fi
171

  
172 191
logger_info "gvSIG Installation folder: $GVSIG_INSTALL_FOLDER"
173 192
logger_info "gvSIG home folder: $GVSIG_HOME_FOLDER"
174 193

  
......
271 290
                        exit 1
272 291
                fi
273 292
        else
274
		if [ "$(getJavaArchitecture $($WHICH java))" != "$PREFERED_ARCHITECTURE" ] ; then
275
                      logger_warn "java $PREFERED_ARCHITECTURE not found, using $($WHICH java)"
293
		if [ "$(getJavaArchitecture $(type -p java))" != "$PREFERED_ARCHITECTURE" ] ; then
294
                      logger_warn "java $PREFERED_ARCHITECTURE not found, using $(type -p java)"
276 295
                fi
277 296
                unset JAVA_HOME
278 297
                JAVA="java"
......
288 307
	FORCE_JAVA_32BITS=""
289 308

  
290 309
fi
291
logger_info "Using java " $($WHICH "$JAVA")
310
logger_info "Using java " $(type -p "$JAVA")
292 311

  
293 312
###################################################################
294 313
# gvSIG native libraries location
......
395 414
# Java debug mode ? #
396 415
#####################
397 416

  
398
DEBUG_ARGS="X${@}X"
399
if expr match "$DEBUG_ARGS" "X.*--pause.*X" >/dev/null; then
417
ARGS="$@" # Can't use ${@/ , use ${ARGS/ instead
418
if [ "${ARGS/*--pause*/--pause}" == "--pause" ] ; then
400 419
    DEBUG_PAUSE="y"
401 420
else
402 421
    DEBUG_PAUSE="n"
403 422
fi
404 423

  
405
if expr match "$DEBUG_ARGS" "X.*--debug.*X" >/dev/null; then
424
if [ "${ARGS/*--debug*/--debug}" == "--debug" ] ; then
406 425
  DEBUG_OPTIONS="-agentlib:jdwp=transport=dt_socket,address=8765,server=y,suspend=$DEBUG_PAUSE"
407 426
else
408 427
  DEBUG_OPTIONS=""
......
426 445
  -cp \"${GVSIG_CLASSPATH}\" \
427 446
  ${GVSIG_JAVA_PARAMS} \
428 447
  ${GVSIG_LAUNCHER} ${GVSIG_PARAMS}"
429
  
448

  
430 449
logger_info Launching gvSIG: "${CMD}"
431 450
eval "$CMD"

Also available in: Unified diff