build/solaris/build.sh

changeset 435
a61af66fc99e
equal deleted inserted replaced
-1:000000000000 435:a61af66fc99e
1 #! /bin/sh
2 #
3 # Copyright 1998-2000 Sun Microsystems, Inc. All Rights Reserved.
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 #
6 # This code is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License version 2 only, as
8 # published by the Free Software Foundation.
9 #
10 # This code is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 # version 2 for more details (a copy is included in the LICENSE file that
14 # accompanied this code).
15 #
16 # You should have received a copy of the GNU General Public License version
17 # 2 along with this work; if not, write to the Free Software Foundation,
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 #
20 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 # CA 95054 USA or visit www.sun.com if you need additional information or
22 # have any questions.
23 #
24 #
25
26 # Make sure the variable JAVA_HOME is set before running this script.
27
28 set -u
29
30
31 usage() {
32 (
33 echo "Usage : $0 [-sb | -sbfast] config ws_path"
34 echo ""
35 echo "Where:"
36 echo " -sb ::= enable source browser info generation for"
37 echo " all configs during compilation"
38 echo ""
39 echo " -sbfast ::= enable source browser info generation for"
40 echo " all configs without compilation"
41 echo ""
42 echo " config ::= debug | debug1 | debugcore"
43 echo " fastdebug | fastdebug1 | fastdebugcore"
44 echo " jvmg | jvmg1 | jvmgcore"
45 echo " optimized | optimized1 | optimizedcore"
46 echo " profiled | profiled1 | profiledcore"
47 echo " product | product1 | productcore"
48 echo ""
49 echo " ws_path ::= path to HotSpot workspace"
50 ) >&2
51 exit 1
52 }
53
54 # extract possible options
55 options=""
56 if [ $# -gt 2 ]; then
57 case "$1" in
58 -sb)
59 options="CFLAGS_BROWSE=-xsb"
60 shift
61 ;;
62 -sbfast)
63 options="CFLAGS_BROWSE=-xsbfast"
64 shift
65 ;;
66 *)
67 echo "Unknown option: '$1'" >&2
68 usage
69 ;;
70 esac
71 fi
72
73 # should be just two args left at this point
74 if [ $# != 2 ]; then
75 usage
76 fi
77
78 # Just in case:
79 case ${JAVA_HOME} in
80 /*) true;;
81 ?*) JAVA_HOME=`( cd $JAVA_HOME; pwd )`;;
82 esac
83
84 if [ "${JAVA_HOME}" = "" -o ! -d "${JAVA_HOME}" -o ! -d ${JAVA_HOME}/jre/lib/`uname -p` ]; then
85 echo "JAVA_HOME needs to be set to a valid JDK path"
86 echo "ksh : export JAVA_HOME=/net/tetrasparc/export/gobi/JDK1.2_fcs_V/solaris"
87 echo "csh : setenv JAVA_HOME /net/tetrasparc/export/gobi/JDK1.2_fcs_V/solaris"
88 exit 1
89 fi
90
91
92 LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/`uname -p`:\
93 ${JAVA_HOME}/jre/lib/`uname -p`/native_threads:${LD_LIBRARY_PATH-.}
94
95 # This is necessary as long as we are using the old launcher
96 # with the new distribution format:
97 CLASSPATH=${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH-.}
98
99
100 for gm in gmake gnumake
101 do
102 if [ "${GNUMAKE-}" != "" ]; then break; fi
103 ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm
104 done
105 : ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'}
106
107
108 echo "### ENVIRONMENT SETTINGS:"
109 export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME"
110 export LD_LIBRARY_PATH ; echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
111 export CLASSPATH ; echo "CLASSPATH=$CLASSPATH"
112 export GNUMAKE ; echo "GNUMAKE=$GNUMAKE"
113 echo "###"
114
115 config=$1
116 ws_path=$2
117
118 case ${ws_path} in
119 /*) true;;
120 ?*) ws_path=`(cd ${ws_path}; pwd)`;;
121 esac
122
123 echo \
124 ${GNUMAKE} -f ${ws_path}/build/solaris/Makefile \
125 $config GAMMADIR=${ws_path} $options
126 ${GNUMAKE} -f ${ws_path}/build/solaris/Makefile \
127 $config GAMMADIR=${ws_path} $options

mercurial