hotspot/make/lib/JvmFeatures.gmk
author vlivanov
Fri, 06 May 2016 19:45:22 +0300
changeset 38245 c6c2ac29463b
parent 38097 1ca3d6f508b1
child 41674 8ff2f216109b
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37437
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     1
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     2
# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     4
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    10
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    15
# accompanied this code).
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    16
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    20
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    23
# questions.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    24
#
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    25
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    26
$(eval $(call IncludeCustomExtension, hotspot, lib/JvmFeatures.gmk))
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    27
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    28
################################################################################
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    29
# Setup CFLAGS and EXCLUDES for the libjvm compilation, depending on which
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    30
# jvm features are selected for this jvm variant.
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    31
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    32
ifeq ($(call check-jvm-feature, compiler1), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    33
  JVM_CFLAGS_FEATURES += -DCOMPILER1
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    34
else
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    35
  JVM_EXCLUDE_PATTERNS += c1_
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    36
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    37
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    38
ifeq ($(call check-jvm-feature, compiler2), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    39
  JVM_CFLAGS_FEATURES += -DCOMPILER2
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    40
  JVM_SRC_DIRS += $(JVM_VARIANT_OUTPUTDIR)/gensrc/adfiles
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    41
else
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    42
  JVM_EXCLUDES += opto libadt
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    43
  JVM_EXCLUDE_FILES += bcEscapeAnalyzer.cpp ciTypeFlow.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    44
  JVM_EXCLUDE_PATTERNS += c2_ runtime_
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    45
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    46
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    47
ifeq ($(call check-jvm-feature, zero), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    48
  JVM_CFLAGS_FEATURES += -DZERO -DCC_INTERP -DZERO_LIBARCH='"$(OPENJDK_TARGET_CPU_LEGACY_LIB)"' $(LIBFFI_CFLAGS)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    49
  JVM_LIBS_FEATURES += $(LIBFFI_LIBS)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    50
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    51
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    52
ifeq ($(call check-jvm-feature, shark), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    53
  JVM_CFLAGS_FEATURES += -DSHARK $(LLVM_CFLAGS)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    54
  JVM_LDFLAGS_FEATURES += $(LLVM_LDFLAGS)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    55
  JVM_LIBS_FEATURES += $(LLVM_LIBS)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    56
else
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    57
  JVM_EXCLUDES += shark
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    58
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    59
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    60
ifeq ($(call check-jvm-feature, minimal), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    61
  JVM_CFLAGS_FEATURES += -DMINIMAL_JVM -DVMTYPE=\"Minimal\"
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    62
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    63
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    64
ifeq ($(call check-jvm-feature, dtrace), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    65
  JVM_CFLAGS_FEATURES += -DDTRACE_ENABLED
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    66
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    67
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    68
ifeq ($(call check-jvm-feature, static-build), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    69
  JVM_CFLAGS_FEATURES += -DSTATIC_BUILD=1
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    70
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    71
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    72
ifneq ($(call check-jvm-feature, jvmti), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    73
  JVM_CFLAGS_FEATURES += -DINCLUDE_JVMTI=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    74
  JVM_EXCLUDE_FILES += jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    75
      jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    76
      jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    77
      jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    78
      jvmtiClassFileReconstituter.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    79
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    80
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    81
ifneq ($(call check-jvm-feature, jvmci), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    82
  JVM_CFLAGS_FEATURES += -DINCLUDE_JVMCI=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    83
  JVM_EXCLUDES += jvmci
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    84
  JVM_EXCLUDE_FILES += jvmciCodeInstaller_$(HOTSPOT_TARGET_CPU_ARCH).cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    85
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    86
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    87
ifneq ($(call check-jvm-feature, fprof), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    88
  JVM_CFLAGS_FEATURES += -DINCLUDE_FPROF=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    89
  JVM_EXCLUDE_FILES += fprofiler.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    90
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    91
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    92
ifneq ($(call check-jvm-feature, vm-structs), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    93
  JVM_CFLAGS_FEATURES += -DINCLUDE_VM_STRUCTS=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    94
  JVM_EXCLUDE_FILES += vmStructs.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    95
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    96
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    97
ifneq ($(call check-jvm-feature, jni-check), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    98
  JVM_CFLAGS_FEATURES += -DINCLUDE_JNI_CHECK=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
    99
  JVM_EXCLUDE_FILES += jniCheck.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   100
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   101
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   102
ifneq ($(call check-jvm-feature, services), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   103
  JVM_CFLAGS_FEATURES += -DINCLUDE_SERVICES=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   104
  JVM_EXCLUDE_FILES += heapDumper.cpp heapInspection.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   105
      attachListener_$(HOTSPOT_TARGET_OS).cpp attachListener.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   106
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   107
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   108
ifneq ($(call check-jvm-feature, management), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   109
  JVM_CFLAGS_FEATURES += -DINCLUDE_MANAGEMENT=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   110
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   111
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   112
ifneq ($(call check-jvm-feature, cds), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   113
  JVM_CFLAGS_FEATURES += -DINCLUDE_CDS=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   114
  JVM_EXCLUDE_FILES += \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   115
      classListParser.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   116
      classLoaderExt.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   117
      filemap.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   118
      metaspaceShared.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   119
      metaspaceShared_$(HOTSPOT_TARGET_CPU).cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   120
      metaspaceShared_$(HOTSPOT_TARGET_CPU_ARCH).cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   121
      sharedClassUtil.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   122
      sharedPathsMiscInfo.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   123
      systemDictionaryShared.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   124
      #
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   125
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   126
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   127
ifneq ($(call check-jvm-feature, all-gcs), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   128
  JVM_CFLAGS_FEATURES += -DINCLUDE_ALL_GCS=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   129
  JVM_EXCLUDE_PATTERNS += \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   130
      cms/ g1/ parallel/
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   131
  JVM_EXCLUDE_FILES += \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   132
      concurrentGCThread.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   133
      plab.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   134
  JVM_EXCLUDE_FILES += \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   135
      g1MemoryPool.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   136
      psMemoryPool.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   137
endif
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   138
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   139
ifneq ($(call check-jvm-feature, nmt), true)
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   140
  JVM_CFLAGS_FEATURES += -DINCLUDE_NMT=0
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   141
  JVM_EXCLUDE_FILES += \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   142
      memBaseline.cpp memReporter.cpp mallocTracker.cpp virtualMemoryTracker.cpp nmtCommon.cpp \
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   143
      memTracker.cpp nmtDCmd.cpp mallocSiteTable.cpp
f824aabc7af8 8152666: The new Hotspot Build System
erikj
parents:
diff changeset
   144
endif