# HG changeset patch # User kvn # Date 1365103126 25200 # Node ID bab5cbf74b5fdb27364bae5da39edb94adf1b967 # Parent 573cf206e381c8ae919380628769a5b9b92ae045 8011198: LP64 setting is not preserved on Solaris after 8006965 Summary: Fixed incremental build makefiles generated by buildtree.make. Consolidated unix build.sh. Reviewed-by: twisti diff -r 573cf206e381 -r bab5cbf74b5f make/bsd/build.sh --- a/make/bsd/build.sh Thu Apr 04 09:30:06 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -# - -# Make sure the variable JAVA_HOME is set before running this script. - -set -u - - -if [ $# != 2 ]; then - echo "Usage : $0 Build_Options Location" - echo "Build Options : debug or optimized or basicdebug or basic or clean" - echo "Location : specify any workspace which has gamma sources" - exit 1 -fi - -# Just in case: -case ${JAVA_HOME} in -/*) true;; -?*) JAVA_HOME=`( cd $JAVA_HOME; pwd )`;; -esac - -case `uname -m` in - i386|i486|i586|i686) - mach=i386 - ;; - *) - echo "Unsupported machine: " `uname -m` - exit 1 - ;; -esac - -if [ "${JAVA_HOME}" = "" -o ! -d "${JAVA_HOME}" -o ! -d ${JAVA_HOME}/jre/lib/${mach} ]; then - echo "JAVA_HOME needs to be set to a valid JDK path" - echo "ksh : export JAVA_HOME=/net/tetrasparc/export/gobi/JDK1.2_fcs_V/bsd" - echo "csh : setenv JAVA_HOME /net/tetrasparc/export/gobi/JDK1.2_fcs_V/bsd" - exit 1 -fi - - -LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/`uname -p`:\ -${JAVA_HOME}/jre/lib/`uname -p`/native_threads:${LD_LIBRARY_PATH-.} - -# This is necessary as long as we are using the old launcher -# with the new distribution format: -CLASSPATH=${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH-.} - - -for gm in gmake gnumake -do - if [ "${GNUMAKE-}" != "" ]; then break; fi - ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm -done -: ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} - - -echo "### ENVIRONMENT SETTINGS:" -export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" -export LD_LIBRARY_PATH ; echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -export CLASSPATH ; echo "CLASSPATH=$CLASSPATH" -export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" -echo "###" - -Build_Options=$1 -Location=$2 - -case ${Location} in -/*) true;; -?*) Location=`(cd ${Location}; pwd)`;; -esac - -echo \ -${GNUMAKE} -f ${Location}/make/bsd/Makefile $Build_Options GAMMADIR=${Location} -${GNUMAKE} -f ${Location}/make/bsd/Makefile $Build_Options GAMMADIR=${Location} diff -r 573cf206e381 -r bab5cbf74b5f make/bsd/makefiles/buildtree.make --- a/make/bsd/makefiles/buildtree.make Thu Apr 04 09:30:06 2013 +0200 +++ b/make/bsd/makefiles/buildtree.make Thu Apr 04 12:18:46 2013 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -190,6 +190,17 @@ # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) +# This bit is needed to enable local rebuilds. +# Unless the makefile itself sets LP64, any environmental +# setting of LP64 will interfere with the build. +LP64_SETTING/32 = LP64 = \#empty +LP64_SETTING/64 = LP64 = 1 + +DATA_MODE/i486 = 32 +DATA_MODE/amd64 = 64 + +DATA_MODE = $(DATA_MODE/$(BUILDARCH)) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ @@ -212,6 +223,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "$(LP64_SETTING/$(DATA_MODE))"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r 573cf206e381 -r bab5cbf74b5f make/build.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/build.sh Thu Apr 04 12:18:46 2013 -0700 @@ -0,0 +1,92 @@ +#! /bin/sh +# +# Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# + +# Make sure the variable JAVA_HOME is set before running this script. + +set -u + + +if [ $# -lt 1 ]; then + echo "Usage : $0 BuildTarget [LP64=1] [BuildOptions]" + echo " Server VM | Client VM" + echo "BuildTarget : debug | debug1" + echo " fastdebug | fastdebug1" + echo " jvmg | jvmg1" + echo " optimized | optimized1" + echo " profiled | profiled1" + echo " product | product1" + exit 1 +fi + +if [ "${JAVA_HOME-}" = "" -o ! -d "${JAVA_HOME-}" -o ! -d ${JAVA_HOME-}/jre/lib/ ]; then + echo "JAVA_HOME needs to be set to a valid JDK path" + echo "JAVA_HOME: ${JAVA_HOME-}" + exit 1 +fi + +# Just in case: +JAVA_HOME=`( cd $JAVA_HOME; pwd )` + +if [ "${ALT_BOOTDIR-}" = "" -o ! -d "${ALT_BOOTDIR-}" -o ! -d ${ALT_BOOTDIR-}/jre/lib/ ]; then + ALT_BOOTDIR=${JAVA_HOME} +fi + +# build in current directory by default +if [ "${ALT_OUTPUTDIR-}" = "" -o ! -d "${ALT_OUTPUTDIR-}" ]; then + ALT_OUTPUTDIR=`(pwd)` +fi + +HOTSPOT_SRC=`(dirname $0)`/.. +HOTSPOT_SRC=`(cd ${HOTSPOT_SRC}; pwd)` + +for gm in gmake gnumake +do + if [ "${GNUMAKE-}" != "" ]; then break; fi + ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm +done +: ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} + +# quiet build by default +Quiet="MAKE_VERBOSE=" + +# no debug info by default +NoDebugInfo="ENABLE_FULL_DEBUG_SYMBOLS=" + +LANG=C + +echo "### ENVIRONMENT SETTINGS:" +export HOTSPOT_SRC ; echo "HOTSPOT_SRC=$HOTSPOT_SRC" +export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" +export ALT_BOOTDIR ; echo "ALT_BOOTDIR=$ALT_BOOTDIR" +export ALT_OUTPUTDIR ; echo "ALT_OUTPUTDIR=$ALT_OUTPUTDIR" +export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" +export LANG ; echo "LANG=$LANG" +echo "###" + +BuildOptions="$Quiet $NoDebugInfo $*" + +echo \ +${GNUMAKE} -f ${HOTSPOT_SRC}/make/Makefile $BuildOptions GAMMADIR=${HOTSPOT_SRC} +${GNUMAKE} -f ${HOTSPOT_SRC}/make/Makefile $BuildOptions GAMMADIR=${HOTSPOT_SRC} diff -r 573cf206e381 -r bab5cbf74b5f make/linux/build.sh --- a/make/linux/build.sh Thu Apr 04 09:30:06 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -# - -# Make sure the variable JAVA_HOME is set before running this script. - -set -u - - -if [ $# != 2 ]; then - echo "Usage : $0 Build_Options Location" - echo "Build Options : debug or optimized or basicdebug or basic or clean" - echo "Location : specify any workspace which has gamma sources" - exit 1 -fi - -# Just in case: -case ${JAVA_HOME} in -/*) true;; -?*) JAVA_HOME=`( cd $JAVA_HOME; pwd )`;; -esac - -case `uname -m` in - i386|i486|i586|i686) - mach=i386 - ;; - x86_64) - mach=amd64 - ;; - *) - echo "Unsupported machine: " `uname -m` - exit 1 - ;; -esac - -if [ "${JAVA_HOME}" = "" -o ! -d "${JAVA_HOME}" -o ! -d ${JAVA_HOME}/jre/lib/${mach} ]; then - echo "JAVA_HOME needs to be set to a valid JDK path" - echo "ksh : export JAVA_HOME=/net/tetrasparc/export/gobi/JDK1.2_fcs_V/linux" - echo "csh : setenv JAVA_HOME /net/tetrasparc/export/gobi/JDK1.2_fcs_V/linux" - exit 1 -fi - - -LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/`uname -p`:\ -${JAVA_HOME}/jre/lib/`uname -p`/native_threads:${LD_LIBRARY_PATH-.} - -# This is necessary as long as we are using the old launcher -# with the new distribution format: -CLASSPATH=${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH-.} - - -for gm in gmake gnumake -do - if [ "${GNUMAKE-}" != "" ]; then break; fi - ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm -done -: ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} - - -echo "### ENVIRONMENT SETTINGS:" -export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" -export LD_LIBRARY_PATH ; echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -export CLASSPATH ; echo "CLASSPATH=$CLASSPATH" -export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" -echo "###" - -Build_Options=$1 -Location=$2 - -case ${Location} in -/*) true;; -?*) Location=`(cd ${Location}; pwd)`;; -esac - -echo \ -${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location} -${GNUMAKE} -f ${Location}/make/linux/Makefile $Build_Options GAMMADIR=${Location} diff -r 573cf206e381 -r bab5cbf74b5f make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Thu Apr 04 09:30:06 2013 +0200 +++ b/make/linux/makefiles/buildtree.make Thu Apr 04 12:18:46 2013 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -183,6 +183,19 @@ # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) +# This bit is needed to enable local rebuilds. +# Unless the makefile itself sets LP64, any environmental +# setting of LP64 will interfere with the build. +LP64_SETTING/32 = LP64 = \#empty +LP64_SETTING/64 = LP64 = 1 + +DATA_MODE/i486 = 32 +DATA_MODE/sparc = 32 +DATA_MODE/sparcv9 = 64 +DATA_MODE/amd64 = 64 + +DATA_MODE = $(DATA_MODE/$(BUILDARCH)) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ @@ -205,6 +218,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "$(LP64_SETTING/$(DATA_MODE))"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r 573cf206e381 -r bab5cbf74b5f make/solaris/build.sh --- a/make/solaris/build.sh Thu Apr 04 09:30:06 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# -# - -# Make sure the variable JAVA_HOME is set before running this script. - -set -u - - -usage() { - ( - echo "Usage : $0 [-sb | -sbfast] config ws_path" - echo "" - echo "Where:" - echo " -sb ::= enable source browser info generation for" - echo " all configs during compilation" - echo "" - echo " -sbfast ::= enable source browser info generation for" - echo " all configs without compilation" - echo "" - echo " config ::= debug | debug1 | debugcore" - echo " fastdebug | fastdebug1 | fastdebugcore" - echo " jvmg | jvmg1 | jvmgcore" - echo " optimized | optimized1 | optimizedcore" - echo " profiled | profiled1 | profiledcore" - echo " product | product1 | productcore" - echo "" - echo " ws_path ::= path to HotSpot workspace" - ) >&2 - exit 1 -} - -# extract possible options -options="" -if [ $# -gt 2 ]; then - case "$1" in - -sb) - options="CFLAGS_BROWSE=-xsb" - shift - ;; - -sbfast) - options="CFLAGS_BROWSE=-xsbfast" - shift - ;; - *) - echo "Unknown option: '$1'" >&2 - usage - ;; - esac -fi - -# should be just two args left at this point -if [ $# != 2 ]; then - usage -fi - -# Just in case: -case ${JAVA_HOME} in -/*) true;; -?*) JAVA_HOME=`( cd $JAVA_HOME; pwd )`;; -esac - -if [ "${JAVA_HOME}" = "" -o ! -d "${JAVA_HOME}" -o ! -d ${JAVA_HOME}/jre/lib/`uname -p` ]; then - echo "JAVA_HOME needs to be set to a valid JDK path" - echo "ksh : export JAVA_HOME=/net/tetrasparc/export/gobi/JDK1.2_fcs_V/solaris" - echo "csh : setenv JAVA_HOME /net/tetrasparc/export/gobi/JDK1.2_fcs_V/solaris" - exit 1 -fi - - -LD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/`uname -p`:\ -${JAVA_HOME}/jre/lib/`uname -p`/native_threads:${LD_LIBRARY_PATH-.} - -# This is necessary as long as we are using the old launcher -# with the new distribution format: -CLASSPATH=${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH-.} - - -for gm in gmake gnumake -do - if [ "${GNUMAKE-}" != "" ]; then break; fi - ($gm --version >/dev/null) 2>/dev/null && GNUMAKE=$gm -done -: ${GNUMAKE:?'Cannot locate the gnumake program. Stop.'} - - -echo "### ENVIRONMENT SETTINGS:" -export JAVA_HOME ; echo "JAVA_HOME=$JAVA_HOME" -export LD_LIBRARY_PATH ; echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" -export CLASSPATH ; echo "CLASSPATH=$CLASSPATH" -export GNUMAKE ; echo "GNUMAKE=$GNUMAKE" -echo "###" - -config=$1 -ws_path=$2 - -case ${ws_path} in -/*) true;; -?*) ws_path=`(cd ${ws_path}; pwd)`;; -esac - -echo \ -${GNUMAKE} -f ${ws_path}/make/solaris/Makefile \ - $config GAMMADIR=${ws_path} $options -${GNUMAKE} -f ${ws_path}/make/solaris/Makefile \ - $config GAMMADIR=${ws_path} $options diff -r 573cf206e381 -r bab5cbf74b5f make/solaris/makefiles/buildtree.make --- a/make/solaris/makefiles/buildtree.make Thu Apr 04 09:30:06 2013 +0200 +++ b/make/solaris/makefiles/buildtree.make Thu Apr 04 12:18:46 2013 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -176,6 +176,19 @@ # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) +# This bit is needed to enable local rebuilds. +# Unless the makefile itself sets LP64, any environmental +# setting of LP64 will interfere with the build. +LP64_SETTING/32 = LP64 = \#empty +LP64_SETTING/64 = LP64 = 1 + +DATA_MODE/i486 = 32 +DATA_MODE/sparc = 32 +DATA_MODE/sparcv9 = 64 +DATA_MODE/amd64 = 64 + +DATA_MODE = $(DATA_MODE/$(BUILDARCH)) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ diff -r 573cf206e381 -r bab5cbf74b5f src/os/posix/launcher/launcher.script --- a/src/os/posix/launcher/launcher.script Thu Apr 04 09:30:06 2013 +0200 +++ b/src/os/posix/launcher/launcher.script Thu Apr 04 12:18:46 2013 -0700 @@ -199,7 +199,7 @@ rm -f $GDBSCR ;; dbx) - $DBX -s $MYDIR/.dbxrc $LAUNCHER $JPARAMS + $DBX -s $HOME/.dbxrc $LAUNCHER $JPARMS ;; valgrind) echo Warning: Defaulting to 16Mb heap to make Valgrind run faster, use -Xmx for larger heap