never@3156: # drchase@4942: # Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. never@3156: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. never@3156: # never@3156: # This code is free software; you can redistribute it and/or modify it never@3156: # under the terms of the GNU General Public License version 2 only, as never@3156: # published by the Free Software Foundation. never@3156: # never@3156: # This code is distributed in the hope that it will be useful, but WITHOUT never@3156: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or never@3156: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License never@3156: # version 2 for more details (a copy is included in the LICENSE file that never@3156: # accompanied this code). never@3156: # never@3156: # You should have received a copy of the GNU General Public License version never@3156: # 2 along with this work; if not, write to the Free Software Foundation, never@3156: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. never@3156: # never@3156: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA never@3156: # or visit www.oracle.com if you need additional information or have any never@3156: # questions. drchase@4942: # never@3156: # never@3156: never@3156: # The common definitions for hotspot bsd builds. never@3156: # Include the top level defs.make under make directory instead of this one. never@3156: # This file is included into make/defs.make. never@3156: never@3156: SLASH_JAVA ?= /java never@3156: never@3156: # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name never@3156: ARCH:=$(shell uname -m) never@3156: PATH_SEP = : never@3156: ifeq ($(LP64), 1) never@3156: ARCH_DATA_MODEL ?= 64 never@3156: else never@3156: ARCH_DATA_MODEL ?= 32 never@3156: endif never@3156: never@3156: # zero erikj@3649: ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) never@3156: ifeq ($(ARCH_DATA_MODEL), 64) never@3156: MAKE_ARGS += LP64=1 never@3156: endif never@3156: PLATFORM = bsd-zero never@3156: VM_PLATFORM = bsd_$(subst i386,i486,$(ZERO_LIBARCH)) never@3156: HS_ARCH = zero never@3156: ARCH = zero never@3156: endif never@3156: never@3156: # ia64 never@3156: ifeq ($(ARCH), ia64) never@3156: ARCH_DATA_MODEL = 64 never@3156: MAKE_ARGS += LP64=1 never@3156: PLATFORM = bsd-ia64 never@3156: VM_PLATFORM = bsd_ia64 never@3156: HS_ARCH = ia64 never@3156: endif never@3156: never@3156: # sparc never@3156: ifeq ($(ARCH), sparc64) never@3156: ifeq ($(ARCH_DATA_MODEL), 64) never@3156: ARCH_DATA_MODEL = 64 never@3156: MAKE_ARGS += LP64=1 never@3156: PLATFORM = bsd-sparcv9 never@3156: VM_PLATFORM = bsd_sparcv9 never@3156: else never@3156: ARCH_DATA_MODEL = 32 never@3156: PLATFORM = bsd-sparc never@3156: VM_PLATFORM = bsd_sparc never@3156: endif never@3156: HS_ARCH = sparc never@3156: endif never@3156: never@3156: # amd64 never@3156: ifneq (,$(findstring $(ARCH), amd64 x86_64)) never@3156: ifeq ($(ARCH_DATA_MODEL), 64) never@3156: ARCH_DATA_MODEL = 64 never@3156: MAKE_ARGS += LP64=1 never@3156: PLATFORM = bsd-amd64 never@3156: VM_PLATFORM = bsd_amd64 never@3156: HS_ARCH = x86 never@3156: else never@3156: ARCH_DATA_MODEL = 32 never@3156: PLATFORM = bsd-i586 never@3156: VM_PLATFORM = bsd_i486 never@3156: HS_ARCH = x86 never@3156: # We have to reset ARCH to i386 since SRCARCH relies on it drchase@4942: ARCH = i386 never@3156: endif never@3156: endif never@3156: never@3156: # i386 never@3156: ifeq ($(ARCH), i386) never@3156: ifeq ($(ARCH_DATA_MODEL), 64) never@3156: ARCH_DATA_MODEL = 64 never@3156: MAKE_ARGS += LP64=1 never@3156: PLATFORM = bsd-amd64 never@3156: VM_PLATFORM = bsd_amd64 never@3156: HS_ARCH = x86 never@3156: # We have to reset ARCH to amd64 since SRCARCH relies on it never@3156: ARCH = amd64 never@3156: else never@3156: ARCH_DATA_MODEL = 32 never@3156: PLATFORM = bsd-i586 never@3156: VM_PLATFORM = bsd_i486 never@3156: HS_ARCH = x86 never@3156: endif never@3156: endif never@3156: never@3156: # ARM never@3156: ifeq ($(ARCH), arm) never@3156: ARCH_DATA_MODEL = 32 never@3156: PLATFORM = bsd-arm never@3156: VM_PLATFORM = bsd_arm never@3156: HS_ARCH = arm never@3156: endif never@3156: never@3156: # PPC never@3156: ifeq ($(ARCH), ppc) never@3156: ARCH_DATA_MODEL = 32 never@3156: PLATFORM = bsd-ppc never@3156: VM_PLATFORM = bsd_ppc never@3156: HS_ARCH = ppc never@3156: endif never@3156: erikj@3649: # On 32 bit bsd we build server and client, on 64 bit just server. erikj@3649: ifeq ($(JVM_VARIANTS),) erikj@3649: ifeq ($(ARCH_DATA_MODEL), 32) erikj@3649: JVM_VARIANTS:=client,server erikj@3649: JVM_VARIANT_CLIENT:=true erikj@3649: JVM_VARIANT_SERVER:=true erikj@3649: else erikj@3649: JVM_VARIANTS:=server erikj@3649: JVM_VARIANT_SERVER:=true erikj@3649: endif erikj@3649: endif erikj@3649: never@3156: JDK_INCLUDE_SUBDIR=bsd never@3156: never@3156: # Library suffix never@3156: OS_VENDOR:=$(shell uname -s) never@3156: ifeq ($(OS_VENDOR),Darwin) never@3156: LIBRARY_SUFFIX=dylib never@3156: else never@3156: LIBRARY_SUFFIX=so never@3156: endif never@3156: never@3156: EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html never@3156: never@3156: # client and server subdirectories have symbolic links to ../libjsig.so never@3156: EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) never@3156: EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server phh@3473: EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client jprovino@4165: EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal never@3156: erikj@3649: ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) erikj@3649: EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt erikj@3649: EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX) never@3156: endif never@3156: erikj@3649: ifeq ($(JVM_VARIANT_CLIENT),true) erikj@3649: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt erikj@3649: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) never@3156: endif never@3156: jprovino@4165: ifeq ($(JVM_VARIANT_MINIMAL1),true) jprovino@4165: EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt jprovino@4165: EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX) jprovino@4165: jprovino@4165: ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) jprovino@4165: ifeq ($(ZIP_DEBUGINFO_FILES),1) jprovino@4165: EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.diz jprovino@4165: else jprovino@4165: EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.debuginfo jprovino@4165: endif drchase@4942: endif jprovino@4165: endif jprovino@4165: never@3156: # Serviceability Binaries never@3156: # No SA Support for PPC, IA64, ARM or zero never@3156: ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ never@3156: $(EXPORT_LIB_DIR)/sa-jdi.jar never@3156: ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ never@3156: $(EXPORT_LIB_DIR)/sa-jdi.jar dcubed@3202: ADD_SA_BINARIES/universal = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ dcubed@3202: $(EXPORT_LIB_DIR)/sa-jdi.jar never@3156: ADD_SA_BINARIES/ppc = never@3156: ADD_SA_BINARIES/ia64 = never@3156: ADD_SA_BINARIES/arm = never@3156: ADD_SA_BINARIES/zero = never@3156: never@3156: EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH)) dcubed@3202: phh@3492: # Universal build settings phh@3492: ifeq ($(OS_VENDOR), Darwin) phh@3492: # Build universal binaries by default on Mac OS X phh@3492: MACOSX_UNIVERSAL = true phh@3492: ifneq ($(ALT_MACOSX_UNIVERSAL),) phh@3492: MACOSX_UNIVERSAL = $(ALT_MACOSX_UNIVERSAL) phh@3492: endif phh@3492: MAKE_ARGS += MACOSX_UNIVERSAL=$(MACOSX_UNIVERSAL) dcubed@3202: phh@3492: # Universal settings phh@3492: ifeq ($(MACOSX_UNIVERSAL), true) phh@3492: phh@3492: # Set universal export path but avoid using ARCH or PLATFORM subdirs phh@3492: EXPORT_PATH=$(OUTPUTDIR)/export-universal$(EXPORT_SUBDIR) phh@3512: ifneq ($(ALT_EXPORT_PATH),) phh@3512: EXPORT_PATH=$(ALT_EXPORT_PATH) phh@3512: endif phh@3492: phh@3492: # Set universal image dir phh@3492: JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-universal$(EXPORT_SUBDIR) twisti@3567: ifneq ($(ALT_JDK_IMAGE_DIR),) twisti@3567: JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR) twisti@3567: endif phh@3492: phh@3492: # Binaries to 'universalize' if built phh@3492: UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX) phh@3492: UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libsaproc.$(LIBRARY_SUFFIX) phh@3492: UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX) phh@3492: UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX) phh@3492: phh@3492: # Files to simply copy in place phh@3492: UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/Xusage.txt phh@3492: UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/Xusage.txt phh@3492: phh@3492: endif phh@3492: endif