make/bsd/makefiles/defs.make

Mon, 19 Mar 2012 10:09:24 +0100

author
erikj
date
Mon, 19 Mar 2012 10:09:24 +0100
changeset 3649
3d7ea1dbe0de
parent 3619
2d503de963b3
child 4165
fb19af007ffc
permissions
-rw-r--r--

7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
Reviewed-by: dholmes, ohair

     1 #
     2 # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.
     8 #
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 # version 2 for more details (a copy is included in the LICENSE file that
    13 # accompanied this code).
    14 #
    15 # You should have received a copy of the GNU General Public License version
    16 # 2 along with this work; if not, write to the Free Software Foundation,
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    22 #  
    23 #
    25 # The common definitions for hotspot bsd builds.
    26 # Include the top level defs.make under make directory instead of this one.
    27 # This file is included into make/defs.make.
    29 SLASH_JAVA ?= /java
    31 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
    32 ARCH:=$(shell uname -m)
    33 PATH_SEP = :
    34 ifeq ($(LP64), 1)
    35   ARCH_DATA_MODEL ?= 64
    36 else
    37   ARCH_DATA_MODEL ?= 32
    38 endif
    40 # zero
    41 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
    42   ifeq ($(ARCH_DATA_MODEL), 64)
    43     MAKE_ARGS      += LP64=1
    44   endif
    45   PLATFORM         = bsd-zero
    46   VM_PLATFORM      = bsd_$(subst i386,i486,$(ZERO_LIBARCH))
    47   HS_ARCH          = zero
    48   ARCH             = zero
    49 endif
    51 # ia64
    52 ifeq ($(ARCH), ia64)
    53   ARCH_DATA_MODEL = 64
    54   MAKE_ARGS      += LP64=1
    55   PLATFORM        = bsd-ia64
    56   VM_PLATFORM     = bsd_ia64
    57   HS_ARCH         = ia64
    58 endif
    60 # sparc
    61 ifeq ($(ARCH), sparc64)
    62   ifeq ($(ARCH_DATA_MODEL), 64)
    63     ARCH_DATA_MODEL  = 64
    64     MAKE_ARGS        += LP64=1
    65     PLATFORM         = bsd-sparcv9
    66     VM_PLATFORM      = bsd_sparcv9
    67   else
    68     ARCH_DATA_MODEL  = 32
    69     PLATFORM         = bsd-sparc
    70     VM_PLATFORM      = bsd_sparc
    71   endif
    72   HS_ARCH            = sparc
    73 endif
    75 # amd64
    76 ifneq (,$(findstring $(ARCH), amd64 x86_64))
    77   ifeq ($(ARCH_DATA_MODEL), 64)
    78     ARCH_DATA_MODEL = 64
    79     MAKE_ARGS       += LP64=1
    80     PLATFORM        = bsd-amd64
    81     VM_PLATFORM     = bsd_amd64
    82     HS_ARCH         = x86
    83   else
    84     ARCH_DATA_MODEL = 32
    85     PLATFORM        = bsd-i586
    86     VM_PLATFORM     = bsd_i486
    87     HS_ARCH         = x86
    88     # We have to reset ARCH to i386 since SRCARCH relies on it
    89     ARCH            = i386   
    90   endif
    91 endif
    93 # i386
    94 ifeq ($(ARCH), i386)
    95   ifeq ($(ARCH_DATA_MODEL), 64)
    96     ARCH_DATA_MODEL = 64
    97     MAKE_ARGS       += LP64=1
    98     PLATFORM        = bsd-amd64
    99     VM_PLATFORM     = bsd_amd64
   100     HS_ARCH         = x86
   101     # We have to reset ARCH to amd64 since SRCARCH relies on it
   102     ARCH            = amd64
   103   else
   104     ARCH_DATA_MODEL  = 32
   105     PLATFORM         = bsd-i586
   106     VM_PLATFORM      = bsd_i486
   107     HS_ARCH          = x86
   108   endif
   109 endif
   111 # ARM
   112 ifeq ($(ARCH), arm)
   113   ARCH_DATA_MODEL  = 32
   114   PLATFORM         = bsd-arm
   115   VM_PLATFORM      = bsd_arm
   116   HS_ARCH          = arm
   117 endif
   119 # PPC
   120 ifeq ($(ARCH), ppc)
   121   ARCH_DATA_MODEL  = 32
   122   PLATFORM         = bsd-ppc
   123   VM_PLATFORM      = bsd_ppc
   124   HS_ARCH          = ppc
   125 endif
   127 # On 32 bit bsd we build server and client, on 64 bit just server.
   128 ifeq ($(JVM_VARIANTS),)
   129   ifeq ($(ARCH_DATA_MODEL), 32)
   130     JVM_VARIANTS:=client,server
   131     JVM_VARIANT_CLIENT:=true
   132     JVM_VARIANT_SERVER:=true
   133   else
   134     JVM_VARIANTS:=server
   135     JVM_VARIANT_SERVER:=true
   136   endif
   137 endif
   139 JDK_INCLUDE_SUBDIR=bsd
   141 # Library suffix
   142 OS_VENDOR:=$(shell uname -s)
   143 ifeq ($(OS_VENDOR),Darwin)
   144   LIBRARY_SUFFIX=dylib
   145 else
   146   LIBRARY_SUFFIX=so
   147 endif
   149 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
   150 VM_DEBUG=jvmg
   152 EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
   154 # client and server subdirectories have symbolic links to ../libjsig.so
   155 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
   156 EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
   157 EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
   159 EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
   161 ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
   162   EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
   163   EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
   164 endif
   166 ifeq ($(JVM_VARIANT_CLIENT),true)
   167   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
   168   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
   169 endif
   171 # Serviceability Binaries
   172 # No SA Support for PPC, IA64, ARM or zero
   173 ADD_SA_BINARIES/x86   = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
   174                         $(EXPORT_LIB_DIR)/sa-jdi.jar
   175 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
   176                         $(EXPORT_LIB_DIR)/sa-jdi.jar
   177 ADD_SA_BINARIES/universal = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
   178                             $(EXPORT_LIB_DIR)/sa-jdi.jar
   179 ADD_SA_BINARIES/ppc   =
   180 ADD_SA_BINARIES/ia64  =
   181 ADD_SA_BINARIES/arm   =
   182 ADD_SA_BINARIES/zero  =
   184 EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
   186 # Universal build settings
   187 ifeq ($(OS_VENDOR), Darwin)
   188   # Build universal binaries by default on Mac OS X
   189   MACOSX_UNIVERSAL = true
   190   ifneq ($(ALT_MACOSX_UNIVERSAL),)
   191     MACOSX_UNIVERSAL = $(ALT_MACOSX_UNIVERSAL)
   192   endif
   193   MAKE_ARGS += MACOSX_UNIVERSAL=$(MACOSX_UNIVERSAL)
   195   # Universal settings
   196   ifeq ($(MACOSX_UNIVERSAL), true)
   198     # Set universal export path but avoid using ARCH or PLATFORM subdirs
   199     EXPORT_PATH=$(OUTPUTDIR)/export-universal$(EXPORT_SUBDIR)
   200     ifneq ($(ALT_EXPORT_PATH),)
   201       EXPORT_PATH=$(ALT_EXPORT_PATH)
   202     endif
   204     # Set universal image dir
   205     JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-universal$(EXPORT_SUBDIR)
   206     ifneq ($(ALT_JDK_IMAGE_DIR),)
   207       JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
   208     endif
   210     # Binaries to 'universalize' if built
   211     UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
   212     UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libsaproc.$(LIBRARY_SUFFIX)
   213     UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX)
   214     UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX)
   216     # Files to simply copy in place
   217     UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/Xusage.txt
   218     UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/Xusage.txt
   220   endif
   221 endif

mercurial