3909N/A# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 2362N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 2362N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A############################################################################# 0N/A# Generic build profile.sh for all platforms, works in bash, sh, and ksh. 0N/A# Copy this file to your own area, and edit it to suit your needs. 0N/A# Ideally you either won't need to set the ALT_* variables because the 0N/A# build system will find what it needs through system provided paths 0N/A# or environment variables, or you have installed the component in the 0N/A# recommended default path. 0N/A# If you find yourself forced to set an ALT_* environment variable and 0N/A# suspect we could have figured it out automatically, please let us know. 0N/A# Most ALT_* directory defaults are based on being in the parent directory in 0N/A# ALT_SLASH_JAVA, so it's possible to create for example a "C:/jdk6" 0N/A# directory, assign that to ALT_SLASH_JAVA, and place all the components 0N/A# in that directory. This could also minimize the ALT_* environment 0N/A# variables you need to set. 0N/A# Assumes basic unix utilities are in the PATH already (uname, hostname, etc.). 3429N/A# On Windows, assumes PROCESSOR_IDENTIFIER, VS100COMNTOOLS, 0N/A# SYSTEMROOT (or SystemRoot), COMPUTERNAME (or hostname works), and 0N/A# USERNAME is defined in the environment. 0N/A# Uses CYGWIN cygpath to make sure paths are space-free. 0N/A# The JDK Makefiles may change in the future, making some of these 0N/A# settings unnecessary or redundant. 0N/A# This is a working example, but may or may not work on all systems. 0N/A############################################################################# 0N/A# WARNING: This file will clobber the value of some environment variables. 0N/A# Sets up these environment variables for doing JDK builds: 0N/A# Attempts to set these variables for the JDK builds: 0N/A# ALT_UNIXCOMMAND_PATH 0N/A############################################################################# 0N/A# Keep in mind that at this point, we are running in some kind of shell 0N/A# (sh, ksh, or bash). We don't know if it's solaris, linux, or windows 0N/A# CYGWIN. We need to figure that out. 0N/Aif [
"${USERNAME}" =
"" ] ;
then 0N/Aif [
"${USERNAME}" =
"" ] ;
then 0N/Aif [
"${COMPUTERNAME}" =
"" ] ;
then 0N/A# Uses 'uname -s', but only expect SunOS or Linux, assume Windows otherwise. 0N/A # System place where JDK installed images are stored? 334N/A # Get the Sun Studio compilers (and latest patches for them too) 0N/A if [
"${ALT_COMPILER_PATH}" =
"" ] ;
then 0N/A echo "WARNING: Cannot access ALT_COMPILER_PATH=${ALT_COMPILER_PATH}" 0N/A # Place compiler path early in PATH to avoid 'cc' conflicts. 0N/A # Make sure these are unset 0N/A # System place where JDK installed images are stored? 0N/A # Make sure these are unset 0N/A # System place where JDK installed images are stored? 0N/A # Windows: Differs on CYGWIN and the compiler available. 0N/A # Also, blanks in pathnames gives make headaches, so anything placed 0N/A # in any ALT_* variable should be the short windows DOS names. 0N/A # Check CYGWIN (should have already been done) 0N/A # Assumption here is that you are in a shell window via cygwin. 2424N/A proc_arch=
`echo "${PROCESSOR_IDENTIFIER}" | expand | cut -d' ' -f1 | sed -e 's@x86@X86@g' -e 's@Intel64@X64@g' -e 's@em64t@X64@g' -e 's@EM64T@X64@g' -e 's@amd64@X64@g' -e 's@AMD64@X64@g' -e 's@ia64@IA64@g'` 970N/A if [
"${proc_arch}" =
"X64" ] ;
then 0N/A # We need to check if we are running a CYGWIN shell 0N/A # For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist 0N/A # Utility to convert to short pathnames without spaces 0N/A # Make the prompt tell you CYGWIN 0N/A export PS1=
"CYGWIN:${COMPUTERNAME}:${USERNAME}[\!] " 0N/A echo "ERROR: Cannot find CYGWIN on this machine" 0N/A if [
"${ALT_UNIXCOMMAND_PATH}" !=
"" ] ;
then 0N/A # Setup path system (verify this is right) 0N/A if [
"${SystemRoot}" !=
"" ] ;
then 0N/A elif [
"${SYSTEMROOT}" !=
"" ] ;
then 0N/A if [ ! -d
"${sys_root}" ] ;
then 0N/A echo "WARNING: No system root found at: ${sys_root}" 0N/A # Compiler setup (nasty part) 0N/A # NOTE: CYGWIN has a link.exe too, make sure the compilers are first 0N/A# Get the previous JDK to be used to bootstrap the build 0N/Aif [
"${ALT_BOOTDIR}" =
"" ] ;
then 0N/A echo "WARNING: Cannot access ALT_BOOTDIR=${ALT_BOOTDIR}" 0N/A# Get the import JDK to be used to get hotspot VM if not built 0N/A# Export PATH setting 1772N/A# Export variables required for Zero 2659N/Aif [
"${SHARK_BUILD}" =
true ] ;
then 1772N/Aif [
"${ZERO_BUILD}" =
true ] ;
then 1772N/A # ZERO_LIBARCH is the name of the architecture-specific 1772N/A # ARCH_DATA_MODEL is the number of bits in a pointer 1772N/A echo "ERROR: Unable to determine ARCH_DATA_MODEL for ${ZERO_LIBARCH}" 1772N/A # ZERO_ENDIANNESS is the endianness of the processor 1772N/A echo "ERROR: Unable to determine ZERO_ENDIANNESS for ${ZERO_LIBARCH}" 1772N/A # ZERO_ARCHDEF is used to enable architecture-specific code 1772N/A # ZERO_ARCHFLAG tells the compiler which mode to build for 1772N/A # LIBFFI_CFLAGS and LIBFFI_LIBS tell the compiler how to compile and 1772N/A if [ -x
"${pkgconfig}" ] ;
then 1772N/A if [
"${LIBFFI_CFLAGS}" =
"" ] ;
then 1772N/A if [
"${LIBFFI_LIBS}" =
"" ] ;
then 1772N/A if [
"${LIBFFI_LIBS}" =
"" ] ;
then 2659N/A # LLVM_CFLAGS, LLVM_LDFLAGS and LLVM_LIBS tell the compiler how to 2659N/A # compile and link against LLVM 2659N/A if [
"${SHARK_BUILD}" =
true ] ;
then 2659N/A if [
"${LLVM_CONFIG}" =
"" ] ;
then 2659N/A if [ ! -x
"${LLVM_CONFIG}" ] ;
then 2659N/A echo "ERROR: Unable to locate llvm-config" 2659N/A if [
"${flag}" !=
"-D_DEBUG" ] ;
then 2659N/A if [
"${LLVM_CFLAGS}" !=
"" ] ;
then 2659N/A if [
"${LLVM_LDFLAGS}" !=
"" ] ;
then 2659N/A if [
"${LLVM_LIBS}" !=
"" ] ;
then 5353N/A# Export variables for system zlib 5353N/A# ZLIB_CFLAGS and ZLIB_LIBS tell the compiler how to compile and 5353N/Aif [ -x
"${pkgconfig}" ] ;
then 5353N/A if [
"${ZLIB_CFLAGS}" =
"" ] ;
then 5353N/A if [
"${ZLIB_LIBS}" =
"" ] ;
then 5353N/Aif [
"${ZLIB_LIBS}" =
"" ] ;
then