hotspot/make/linux/makefiles/defs.make
author ihse
Fri, 12 Jun 2015 08:31:01 +0200
changeset 33957 39113ae98993
parent 30113 3f6beb804b02
child 34319 9d6dd3c5ca23
permissions -rw-r--r--
8085822: JEP 223: New Version-String Scheme (initial integration) Reviewed-by: erikj, dcubed, dholmes, alanb Contributed-by: Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>, Alejandro E Murillo <alejandro.murillo@oracle.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
29474
81a5c5330d08 8072383: resolve conflicts between open and closed ports
dlong
parents: 29180
diff changeset
     2
# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
# accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
#
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4018
diff changeset
    19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4018
diff changeset
    20
# or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4018
diff changeset
    21
# questions.
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 15793
diff changeset
    22
#
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
# The common definitions for hotspot linux builds.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
# Include the top level defs.make under make directory instead of this one.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
# This file is included into make/defs.make.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
SLASH_JAVA ?= /java
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
26691
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    31
define print_info
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    32
  ifneq ($$(LOG_LEVEL), warn)
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    33
    $$(shell echo >&2 "INFO: $1")
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    34
  endif
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    35
endef
40ea2c41f53b 8056999: Make hotspot builds less verbose on default log level
ihse
parents: 25631
diff changeset
    36
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
# Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
13875
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    38
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    39
# ARCH can be set explicitly in spec.gmk
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    40
ifndef ARCH
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    41
  ARCH := $(shell uname -m)
23532
7e8719ce96ea 8036767: PPC64: Support for little endian execution model
kvn
parents: 22818
diff changeset
    42
  # Fold little endian PowerPC64 into big-endian (if ARCH is set in
7e8719ce96ea 8036767: PPC64: Support for little endian execution model
kvn
parents: 22818
diff changeset
    43
  # hotspot-spec.gmk, this will be done by the configure script).
7e8719ce96ea 8036767: PPC64: Support for little endian execution model
kvn
parents: 22818
diff changeset
    44
  ifeq ($(ARCH),ppc64le)
7e8719ce96ea 8036767: PPC64: Support for little endian execution model
kvn
parents: 22818
diff changeset
    45
    ARCH := ppc64
7e8719ce96ea 8036767: PPC64: Support for little endian execution model
kvn
parents: 22818
diff changeset
    46
  endif
13875
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    47
endif
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    48
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    49
PATH_SEP ?= :
bb683b4a79ac 7200065: Cross-compilation changes to support the new-build
dholmes
parents: 13529
diff changeset
    50
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
ifeq ($(LP64), 1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
  ARCH_DATA_MODEL ?= 64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
else
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
  ARCH_DATA_MODEL ?= 32
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    57
# zero
12156
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
    58
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
4013
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    59
  ifeq ($(ARCH_DATA_MODEL), 64)
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    60
    MAKE_ARGS      += LP64=1
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    61
  endif
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    62
  PLATFORM         = linux-zero
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    63
  VM_PLATFORM      = linux_$(subst i386,i486,$(ZERO_LIBARCH))
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    64
  HS_ARCH          = zero
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    65
  ARCH             = zero
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    66
endif
b154310845de 6890308: integrate zero assembler hotspot changes
never
parents: 670
diff changeset
    67
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
# ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
ifeq ($(ARCH), ia64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
  ARCH_DATA_MODEL = 64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
  MAKE_ARGS      += LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
  PLATFORM        = linux-ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
  VM_PLATFORM     = linux_ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
  HS_ARCH         = ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
# sparc
25331
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
    78
ifneq (,$(findstring $(ARCH), sparc))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
  ifeq ($(ARCH_DATA_MODEL), 64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
    ARCH_DATA_MODEL  = 64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
    MAKE_ARGS        += LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
    PLATFORM         = linux-sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
    VM_PLATFORM      = linux_sparcv9
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
    ARCH_DATA_MODEL  = 32
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
    PLATFORM         = linux-sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
    VM_PLATFORM      = linux_sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
  HS_ARCH            = sparc
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
25331
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
    92
# i686/i586 and amd64/x86_64
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
    93
ifneq (,$(findstring $(ARCH), amd64 x86_64 i686 i586))
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
  ifeq ($(ARCH_DATA_MODEL), 64)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
    ARCH_DATA_MODEL = 64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
    MAKE_ARGS       += LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
    PLATFORM        = linux-amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
    VM_PLATFORM     = linux_amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
  else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
    ARCH_DATA_MODEL = 32
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
    PLATFORM        = linux-i586
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
    VM_PLATFORM     = linux_i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
  endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
25331
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   105
  HS_ARCH           = x86
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   108
# PPC
25466
e32f542b19df 8048232: Fix for 8046471 breaks PPC64 build
simonis
parents: 25331
diff changeset
   109
# Notice: after 8046471 ARCH will be 'ppc' for top-level ppc64 builds but
e32f542b19df 8048232: Fix for 8046471 breaks PPC64 build
simonis
parents: 25331
diff changeset
   110
# 'ppc64' for HotSpot-only ppc64 builds. Need to detect both variants here!
e32f542b19df 8048232: Fix for 8046471 breaks PPC64 build
simonis
parents: 25331
diff changeset
   111
ifneq (,$(findstring $(ARCH), ppc ppc64))
25331
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   112
  ifeq ($(ARCH_DATA_MODEL), 64)
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   113
    MAKE_ARGS        += LP64=1
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   114
    PLATFORM         = linux-ppc64
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   115
    VM_PLATFORM      = linux_ppc64
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   116
  endif
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   117
25331
59a7d98a5268 8046471: Use OPENJDK_TARGET_CPU_ARCH instead of legacy value for hotspot ARCH
mikael
parents: 23532
diff changeset
   118
  HS_ARCH = ppc
22818
34cd99df9940 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 17006
diff changeset
   119
endif
34cd99df9940 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 17006
diff changeset
   120
29180
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   121
# AARCH64
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   122
ifeq ($(ARCH), aarch64)
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   123
  ARCH_DATA_MODEL  = 64
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   124
  MAKE_ARGS        += LP64=1
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   125
  PLATFORM         = linux-aarch64
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   126
  VM_PLATFORM      = linux_aarch64
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   127
  HS_ARCH          = aarch64
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   128
endif
50369728b00e 8064611: AARCH64: Changes to HotSpot shared code
aph
parents: 26691
diff changeset
   129
12156
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   130
# On 32 bit linux we build server and client, on 64 bit just server.
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   131
ifeq ($(JVM_VARIANTS),)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   132
  ifeq ($(ARCH_DATA_MODEL), 32)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   133
    JVM_VARIANTS:=client,server
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   134
    JVM_VARIANT_CLIENT:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   135
    JVM_VARIANT_SERVER:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   136
  else
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   137
    JVM_VARIANTS:=server
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   138
    JVM_VARIANT_SERVER:=true
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   139
  endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   140
endif
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   141
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   142
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   143
# builds is enabled with debug info files ZIP'ed to save space. For
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   144
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   145
# debug build without debug info isn't very useful.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   146
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   147
#
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   148
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   149
# disabled for a BUILD_FLAVOR == product build.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   150
#
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   151
# Note: Use of a different variable name for the FDS override option
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   152
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   153
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   154
# in options via environment variables, use of distinct variables
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   155
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   156
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   157
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   158
# the same variable name is used, then different values can be picked
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   159
# up by different parts of the build. Just to be clear, we only need
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   160
# two variable names because the incoming option value can be
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   161
# overridden in some situations, e.g., a BUILD_FLAVOR != product
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   162
# build.
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   163
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   164
# Due to the multiple sub-make processes that occur this logic gets
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   165
# executed multiple times. We reduce the noise by at least checking that
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   166
# BUILD_FLAVOR has been set.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   167
ifneq ($(BUILD_FLAVOR),)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   168
  ifeq ($(BUILD_FLAVOR), product)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   169
    FULL_DEBUG_SYMBOLS ?= 1
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   170
    ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   171
  else
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   172
    # debug variants always get Full Debug Symbols (if available)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   173
    ENABLE_FULL_DEBUG_SYMBOLS = 1
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   174
  endif
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   175
  $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   176
  # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   177
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   178
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   179
    # Default OBJCOPY comes from GNU Binutils on Linux
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   180
    ifeq ($(CROSS_COMPILE_ARCH),)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   181
      DEF_OBJCOPY=/usr/bin/objcopy
14383
f31aacbd0f36 8002034: Allow Full Debug Symbols when cross-compiling
dholmes
parents: 13975
diff changeset
   182
    else
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   183
      # Assume objcopy is part of the cross-compilation toolset
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   184
      ifneq ($(ALT_COMPILER_PATH),)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   185
        DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   186
      endif
14383
f31aacbd0f36 8002034: Allow Full Debug Symbols when cross-compiling
dholmes
parents: 13975
diff changeset
   187
    endif
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   188
    OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   189
    ifneq ($(ALT_OBJCOPY),)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   190
      $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   191
      OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   192
    endif
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   193
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   194
    ifeq ($(OBJCOPY),)
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   195
      $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   196
      ENABLE_FULL_DEBUG_SYMBOLS=0
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   197
      $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   198
    else
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   199
      $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   200
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   201
      # Library stripping policies for .debuginfo configs:
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   202
      #   all_strip - strips everything from the library
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   203
      #   min_strip - strips most stuff from the library; leaves minimum symbols
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   204
      #   no_strip  - does not strip the library at all
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   205
      #
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   206
      # Oracle security policy requires "all_strip". A waiver was granted on
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   207
      # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   208
      #
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   209
      # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   210
      #
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   211
      STRIP_POLICY ?= min_strip
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   212
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   213
      $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   214
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   215
      ZIP_DEBUGINFO_FILES ?= 1
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   216
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   217
      $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   218
    endif
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   219
  endif # ENABLE_FULL_DEBUG_SYMBOLS=1
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30113
diff changeset
   220
endif # BUILD_FLAVOR
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   221
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
JDK_INCLUDE_SUBDIR=linux
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10259
diff changeset
   224
# Library suffix
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10259
diff changeset
   225
LIBRARY_SUFFIX=so
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 10259
diff changeset
   226
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
4018
a73b8aa8e89d 6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents: 4013
diff changeset
   228
a73b8aa8e89d 6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents: 4013
diff changeset
   229
# client and server subdirectories have symbolic links to ../libjsig.so
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   230
EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   231
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   232
  ifeq ($(ZIP_DEBUGINFO_FILES),1)
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   233
    EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.diz
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   234
  else
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   235
    EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.debuginfo
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   236
  endif
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   237
endif
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   238
EXPORT_SERVER_DIR = $(EXPORT_LIB_ARCH_DIR)/server
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   239
EXPORT_CLIENT_DIR = $(EXPORT_LIB_ARCH_DIR)/client
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   240
EXPORT_MINIMAL_DIR = $(EXPORT_LIB_ARCH_DIR)/minimal
4018
a73b8aa8e89d 6722084: JPRT make file doesn't create required symbolic link to libjvm.so
kvn
parents: 4013
diff changeset
   241
22818
34cd99df9940 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles
simonis
parents: 17006
diff changeset
   242
ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK) $(JVM_VARIANT_CORE)), true)
12156
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   243
  EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   244
  EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   245
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   246
    ifeq ($(ZIP_DEBUGINFO_FILES),1)
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   247
      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   248
    else
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   249
      EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   250
    endif
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   251
  endif
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   252
endif
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   253
12156
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   254
ifeq ($(JVM_VARIANT_CLIENT),true)
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   255
  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
fb31de03f649 7141246: build-infra merge: Introduce new JVM_VARIANT* to control which kind of jvm gets built
erikj
parents: 12095
diff changeset
   256
  EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
12503
dcubed
parents: 12156 12502
diff changeset
   257
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
dcubed
parents: 12156 12502
diff changeset
   258
    ifeq ($(ZIP_DEBUGINFO_FILES),1)
dcubed
parents: 12156 12502
diff changeset
   259
      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
dcubed
parents: 12156 12502
diff changeset
   260
    else
dcubed
parents: 12156 12502
diff changeset
   261
      EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   262
    endif
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 15793
diff changeset
   263
  endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   264
endif
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   265
13975
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   266
ifeq ($(JVM_VARIANT_MINIMAL1),true)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   267
  EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   268
  EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   269
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   270
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   271
    ifeq ($(ZIP_DEBUGINFO_FILES),1)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   272
	EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.diz
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   273
    else
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   274
	EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.debuginfo
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   275
    endif
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 15793
diff changeset
   276
  endif
13975
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   277
endif
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13875
diff changeset
   278
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   279
# Serviceability Binaries
25631
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   280
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   281
ADD_SA_BINARIES/DEFAULT = $(EXPORT_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
25631
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   282
                          $(EXPORT_LIB_DIR)/sa-jdi.jar
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   283
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   284
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   285
  ifeq ($(ZIP_DEBUGINFO_FILES),1)
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   286
    ADD_SA_BINARIES/DEFAULT += $(EXPORT_LIB_ARCH_DIR)/libsaproc.diz
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   287
  else
30113
3f6beb804b02 8075725: Remove /jre subdir in hotspot dist dir
erikj
parents: 29474
diff changeset
   288
    ADD_SA_BINARIES/DEFAULT += $(EXPORT_LIB_ARCH_DIR)/libsaproc.debuginfo
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 10571
diff changeset
   289
  endif
10559
a94d067da388 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 10259
diff changeset
   290
endif
25631
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   291
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   292
ADD_SA_BINARIES/$(HS_ARCH) = $(ADD_SA_BINARIES/DEFAULT)
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   293
f5f92438a9c6 8049715: PPC64: First steps to enable SA on Linux/PPC64
simonis
parents: 25466
diff changeset
   294
# No SA Support for zero
17006
b9bfa72b7dda 7104565: trim jprt build targets
drchase
parents: 15793
diff changeset
   295
ADD_SA_BINARIES/zero  =
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   296
13529
dc25e69fd16d 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 12503
diff changeset
   297
-include $(HS_ALT_MAKE)/linux/makefiles/defs.make
dc25e69fd16d 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 12503
diff changeset
   298
6176
4d9030fe341f 6953477: Increase portability and flexibility of building Hotspot
bobv
parents: 5547
diff changeset
   299
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))