Thu, 05 Jun 2008 15:57:56 -0700
6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
duke@435 | 1 | #! /bin/sh |
duke@435 | 2 | # |
duke@435 | 3 | # Copyright 1999-2001 Sun Microsystems, Inc. All Rights Reserved. |
duke@435 | 4 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@435 | 5 | # |
duke@435 | 6 | # This code is free software; you can redistribute it and/or modify it |
duke@435 | 7 | # under the terms of the GNU General Public License version 2 only, as |
duke@435 | 8 | # published by the Free Software Foundation. |
duke@435 | 9 | # |
duke@435 | 10 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@435 | 11 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@435 | 12 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@435 | 13 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@435 | 14 | # accompanied this code). |
duke@435 | 15 | # |
duke@435 | 16 | # You should have received a copy of the GNU General Public License version |
duke@435 | 17 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@435 | 18 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@435 | 19 | # |
duke@435 | 20 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
duke@435 | 21 | # CA 95054 USA or visit www.sun.com if you need additional information or |
duke@435 | 22 | # have any questions. |
duke@435 | 23 | # |
duke@435 | 24 | # |
duke@435 | 25 | |
duke@435 | 26 | # Make sure the variable JAVA_HOME is set before running this script. |
duke@435 | 27 | |
duke@435 | 28 | set -u |
duke@435 | 29 | |
duke@435 | 30 | |
duke@435 | 31 | if [ $# != 2 ]; then |
duke@435 | 32 | echo "Usage : $0 Build_Options Location" |
duke@435 | 33 | echo "Build Options : debug or optimized or basicdebug or basic or clean" |
duke@435 | 34 | echo "Location : specify any workspace which has gamma sources" |
duke@435 | 35 | exit 1 |
duke@435 | 36 | fi |
duke@435 | 37 | |
duke@435 | 38 | # Just in case: |
duke@435 | 39 | case ${JAVA_HOME} in |
duke@435 | 40 | /*) true;; |
duke@435 | 41 | ?*) JAVA_HOME=`( cd $JAVA_HOME; pwd )`;; |
duke@435 | 42 | esac |
duke@435 | 43 | |
duke@435 | 44 | case `uname -m` in |
duke@435 | 45 | i386|i486|i586|i686) |
duke@435 | 46 | mach=i386 |
duke@435 | 47 | ;; |
duke@435 | 48 | *) |
duke@435 | 49 | echo "Unsupported machine: " `uname -m` |
duke@435 | 50 | exit 1 |
duke@435 | 51 | ;; |
duke@435 | 52 | esac |
duke@435 | 53 | |
duke@435 | 54 | if [ "${JAVA_HOME}" = "" -o ! -d "${JAVA_HOME}" -o ! -d ${JAVA_HOME}/jre/lib/${mach} ]; then |
duke@435 | 55 | echo "JAVA_HOME needs to be set to a valid JDK path" |
duke@435 | 56 | echo "ksh : export JAVA_HOME=/net/tetrasparc/export/gobi/JDK1.2_fcs_V/linux" |
duke@435 | 57 | echo "csh : setenv JAVA_HOME /net/tetrasparc/export/gobi/JDK1.2_fcs_V/linux" |
duke@435 | 58 | exit 1 |
duke@435 | 59 | fi |
duke@435 | 60 | |
duke@435 | 61 | |
duke@435 | 62 | LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/`uname -p`:\ |
duke@435 | 63 | ${JAVA_HOME}/jre/lib/`uname -p`/native_threads:${LD_LIBRARY_PATH-.} |
duke@435 | 64 | |
duke@435 | 65 | # This is necessary as long as we are using the old launcher |
duke@435 | 66 | # with the new distribution format: |
duke@435 | 67 | CLASSPATH=${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH-.} |
duke@435 | 68 | |
duke@435 | 69 | |
duke@435 | 70 | for gm in gmake gnumake |
duke@435 | 71 | do |
duke@435 | 72 | if [ "${GNUMAKE-}" != "" ]; then break; fi |
duke@435 | 73 | ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm |
duke@435 | 74 | done |
duke@435 | 75 | : ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} |
duke@435 | 76 | |
duke@435 | 77 | |
duke@435 | 78 | echo "### ENVIRONMENT SETTINGS:" |
duke@435 | 79 | export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" |
duke@435 | 80 | export LD_LIBRARY_PATH ; echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" |
duke@435 | 81 | export CLASSPATH ; echo "CLASSPATH=$CLASSPATH" |
duke@435 | 82 | export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" |
duke@435 | 83 | echo "###" |
duke@435 | 84 | |
duke@435 | 85 | Build_Options=$1 |
duke@435 | 86 | Location=$2 |
duke@435 | 87 | |
duke@435 | 88 | case ${Location} in |
duke@435 | 89 | /*) true;; |
duke@435 | 90 | ?*) Location=`(cd ${Location}; pwd)`;; |
duke@435 | 91 | esac |
duke@435 | 92 | |
duke@435 | 93 | echo \ |
kamg@526 | 94 | ${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location} |
kamg@526 | 95 | ${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location} |