Platform.gmk revision 3767
3767N/A# Copyright (c) 1997, 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# 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# 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# USING_CYGWIN windows only: true or false 0N/A# ISHIELD_TEMP_MIN windows only: minimum disk space in temp area 3514N/A# Only run uname once in this make session. 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: 8N/ASCM_DIRS_rexp =
".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags" 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 # 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 # Suffix for file bundles used in previous release 0N/A # How much RAM does this machine have: 0N/A# Windows with and without CYGWIN will be slightly different 3514N/A # Only run "cygpath /" once in this make session. 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 2402N/A # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead. 2402N/A # And sometimes PROCESSOR_IDENTIFIER is not defined at all 2402N/A # (in some restricted shells), so we use uname if we have to. 3514N/A # Only run uname -m once in this make session. 2402N/A # Cover all the possibilities, MKS uname, CYGWIN uname, PROCESSOR_IDENTIFIER 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 398N/A # LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel 0N/A # Where is unwanted output to be delivered? 2324N/A # MKS uses the special file "NUL", cygwin uses the customary unix file. 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 # ISHIELD_TEMP_MIN is the difference of an empty C:\TEMP vs. one after a 0N/A # bundles build on windows. 0N/A # How much RAM does this machine have: 422N/A # CYGWIN has the 'free' utility 422N/A # Windows 2000 has the mem utility, but two memory areas 422N/A # extended memory is what is beyond 1024M 422N/A grep 'total contiguous extended memory' | awk '{print $$1;}') 422N/A # Windows 2003 has the systeminfo utility use it if mem doesn't work 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) 118N/A# Machines with 512Mb or less of real memory are considered low memory 118N/A# build machines and adjustments will be made to prevent excessing 118N/A# system swapping during the build. 118N/A# If we don't know, assume 512. Subtract 128 from MB for VM MAX. 118N/A# Don't set VM max over 1024-128=896. 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))