Platform.gmk revision 97
97N/A# Copyright 1997-2009 Sun Microsystems, Inc. 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 0N/A# published by the Free Software Foundation. Sun designates this 0N/A# particular file as subject to the "Classpath" exception as provided 0N/A# by Sun 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. 0N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 0N/A# CA 95054 USA or visit www.sun.com if you need additional information or 0N/A# have any questions. 0N/A# Shared platform (OS/ARCH) variable settings for the JDK builds. 0N/A# Includes basic system requirements, versions of utilities required, 0N/A# suffixes on files, and basic defaults attributed to the build platform. 0N/A# Assumes some basic unix system utilities (e.g. uname) are in the search path 0N/A# in order to figure out the system. 0N/A# Possible Input variables: 0N/A# ARCH_DATA_MODEL 32 or 64, default to 32 0N/A# USER, LOGNAME user name (runs logname, or id if not set) 0N/A# PROCESSOR_IDENTIFIER windows only: needed in environment 0N/A# (Also gets input by running the utilities uname, logname, isainfo, or id.) 0N/A# Variables set by this file: 0N/A# SYSTEM_UNAME what 'uname' says this system is 0N/A# USER login name of user (minus blanks) 0N/A# PLATFORM windows, solaris, or linux 0N/A# VARIANT OPT or DBG, OPT is the default 0N/A# OS_NAME solaris, linux, or nt 0N/A# OS_VERSION specific version of os, 5.10, 2.4.9-e.3, etc. 0N/A# OS_VENDOR company name 0N/A# TEMP_DISK /tmp or C:/temp 0N/A# ARCH_DATA_MODEL 32 or 64 0N/A# ARCH sparc, sparcv9, i586, amd64, or ia64 0N/A# ARCH_FAMILY sparc or i586 0N/A# ARCHPROP sparc or x86 0N/A# LIBARCH sparc, sparcv9, i386, amd64, or ia64 0N/A# CLASSPATH_SEPARATOR separator in classpath, ; or : 0N/A# LIB_PREFIX dynamic or static library prefix, lib or empty 0N/A# LIB_SUFFIX static library file suffix, .lib or .a? 0N/A# LIBRARY_SUFFIX dynamic library file suffix, .dll or .so 0N/A# OBJECT_SUFFIX object file suffix, .o or .obj 0N/A# EXE_SUFFIX executable file suffix, .exe or empty 0N/A# BUNDLE_FILE_SUFFIX suffix for bundles: .tar or .tar.gz 0N/A# ISA_DIR solaris only: /sparcv9 or /amd64 0N/A# LIBARCH32 solaris only: sparc or i386 0N/A# LIBARCH64 solaris only: sparcv9 or amd64 0N/A# REQUIRED_WINDOWS_NAME windows only: basic name of windows 0N/A# REQUIRED_WINDOWS_VERSION windows only: specific version of windows 0N/A# USING_CYGWIN windows only: true or false 0N/A# WINDOWS_NT_VERSION_STRING windows only: long version name 0N/A# REQUIRED_OS_VERSION required OS version, e.g. 5.10, 2.4 0N/A# REQUIRED_FREE_SPACE minimum disk space needed for outputdir 0N/A# REQUIRED_ZIP_VER required version of zip 0N/A# REQUIRED_UNZIP_VER required version of unzip 0N/A# LINUX_VERSION_INFO linux only: location of linux release file 0N/A# REQUIRED_LINUX_VER linux only: required version of linux 0N/A# REQUIRED_LINUX_FULLVER linux only: required full version of linux 0N/A# Normal boot jdk is previous release, but a hard requirement is a 1.5 boot 0N/A# Prune out all known SCM (Source Code Management) directories 0N/A# so they will not be included when copying directory trees 0N/A# or packaging up .jar files, etc. This applies to all workspaces. 0N/A# When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune: 0N/A# Don't define this unless it's not defined 0N/A# Platform settings specific to Solaris 0N/A # Solaris sparc build can be either 32-bit or 64-bit. 0N/A # Default to 32, but allow explicit setting to 32 or 64. 0N/A # ISA_DIR is used to locate 64-bit specific libraries which are generally 0N/A # in the same general place as other libraries under the ./$(ARCH) directory 0N/A # The two LIBARCH names 0N/A # Suffix for file bundles used in previous release 0N/A # Required Solaris version 0N/A # Minimum disk space needed as determined by running 'du -sk' on 0N/A # a fully built workspace. 0N/A # How much RAM does this machine have: 0N/A# Platform settings specific to Linux 0N/A # Linux builds may be 32-bit or 64-bit data model. 0N/A # Linux sparc build can be either 32-bit or 64-bit. 0N/A # Default to 32, but allow explicit setting to 32 or 64. 0N/A # i586 is 32-bit, amd64 is 64-bit 0N/A # Suffix for file bundles used in previous release 0N/A # Minimum disk space needed as determined by running 'du -sk' on 0N/A # a fully built workspace. 0N/A # How much RAM does this machine have: 0N/A# Windows with and without CYGWIN will be slightly different 0N/A# Platform settings specific to Windows 0N/A # Windows builds default to the appropriate for the underlaying 0N/A # Temporary disk area 0N/A # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always 0N/A # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead. 0N/A # LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel 0N/A # If the user wants to perform a cross compile build then they must 0N/A # - set ARCH_DATA_MODEL=64 and either 0N/A # + set ARCH to ia64 or amd64, or 0N/A # Where is unwanted output to be delivered? 0N/A # Classpath separator 0N/A # The suffix used for object file (.o for unix .obj for windows) 0N/A # The suffix applied to executables (.exe for windows, nothing for solaris) 0N/A # The prefix applied to library files (lib for solaris, nothing for windows) 0N/A # User name determination (set _USER) 0N/A # Suffix for file bundles used in previous release 0N/A # Minimum disk space needed as determined by running 'du -sk' on 0N/A # a fully built workspace. 0N/A # How much RAM does this machine have: 0N/A# Machines with 512Mb or less of real memory are considered low memory 0N/A# build machines and adjustments will be made to prevent excessing 0N/A# system swapping during the build. 0N/A# If we don't know, assume 512. Subtract 128 from MB for VM MAX. 0N/A# Don't set VM max over 1024-128=896. 0N/A# Unix type settings (same for all unix platforms) 0N/A # Temporary disk area 0N/A # Where is unwanted output to be delivered? 0N/A # Character used between entries in classpath 0N/A # suffix used for object file (.o for unix .obj for windows) 0N/A # The suffix applied to runtime libraries 0N/A # The suffix applied to link libraries 0N/A # The suffix applied to executables (.exe for windows, nothing for solaris) 0N/A # The prefix applied to library files (lib for solaris, nothing for windows) 0N/A # User name determination (set _USER) 0N/A# If blanks in the username, use the first 4 words and pack them together 0N/A_USER2:=$(subst ", ,$(_USER1)) 0N/AUSER:=$(word 1,$(_USER2))$(word 2,$(_USER2))$(word 3,$(_USER2))$(word 4,$(_USER2))