products/sources/formale Sprachen/Java/openjdk-20-36_src/make/hotspot/gensrc image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei:   Sprache: Shell

#
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

$(eval $(call IncludeCustomExtension, hotspot/gensrc/GensrcJvmti.gmk))

################################################################################
# Build tools needed for the JVMTI source code generation

# FIXME: jvmtiGen.java should move to make/src, jvmtiEnvFill.java should be removed.
JVMTI_TOOLS_SRCDIR := $(TOPDIR)/src/hotspot/share/prims
JVMTI_TOOLS_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/tools/jvmti

$(eval $(call SetupJavaCompilation, BUILD_JVMTI_TOOLS, \
    COMPILER := bootjdk, \
    SMALL_JAVA := false, \
    SRC := $(JVMTI_TOOLS_SRCDIR), \
    DISABLED_WARNINGS := rawtypes cast, \
    INCLUDE_FILES := jvmtiGen.java jvmtiEnvFill.java, \
    BIN := $(JVMTI_TOOLS_OUTPUTDIR), \
))

TOOL_JVMTI_GEN := $(JAVA_SMALL) -cp $(JVMTI_TOOLS_OUTPUTDIR) jvmtiGen
TOOL_JVMTI_ENV_FILL := $(JAVA_SMALL) -cp $(JVMTI_TOOLS_OUTPUTDIR) jvmtiEnvFill

################################################################################
# Setup make rules for an xml transform for jvmti file generation.
#
# Parameter 1 is the name of the rule. This name is used as variable prefix,
# and the targets generated are listed in a variable by that name. This name is
# also used as the name of the output file.
#
# Remaining parameters are named arguments. These include:
#   XML_FILE -- The input source file to use
#   XSL_FILE -- The xsl file to use
#   OUTPUT_DIR -- The directory to put the generated file in
#   ARGS -- Additional arguments to the jvmtiGen tool
#   DEPS -- Additional dependencies
SetupXslTransform = $(NamedParamsMacroTemplate)
define SetupXslTransformBody
  $1_OUTPUT_FILE := $$($1_OUTPUT_DIR)/$1

  $$(eval $$(call SetupExecute, jvmti_gen_$1, \
      INFO := Generating jvmti file $1, \
      DEPS := $$($1_XML_FILE) $$($1_XSL_FILE) $$($1_DEPS) $$(BUILD_JVMTI_TOOLS), \
      OUTPUT_FILE := $$($1_OUTPUT_FILE), \
      COMMAND := $$(TOOL_JVMTI_GEN) -IN $$($1_XML_FILE) \
          -XSL $$($1_XSL_FILE) -OUT $$($1_OUTPUT_FILE) $$($1_ARGS), \
  ))

  TARGETS += $$(jvmti_gen_$1_TARGET)
endef

################################################################################
# Create JVMTI files in gensrc/jvmtifiles

JVMTI_SRCDIR := $(TOPDIR)/src/hotspot/share/prims
JVMTI_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/gensrc/jvmtifiles

# Setup rule for generating a jvmti file
#
# $1 is generated source file name in $(JVMTI_OUTPUTDIR)
# $2 is XSL file to use in $(JVMTI_SRCDIR)
# $3 is optional extra arguments to jvmtiGen
define SetupJvmtiGeneration
  $$(eval $$(call SetupXslTransform, $1, \
      XML_FILE := $$(JVMTI_SRCDIR)/jvmti.xml, \
      XSL_FILE := $$(JVMTI_SRCDIR)/$(strip $2), \
      OUTPUT_DIR := $$(JVMTI_OUTPUTDIR), \
      ARGS := $3, \
      DEPS := $$(JVMTI_SRCDIR)/jvmtiLib.xsl, \
  ))
endef

$(eval $(call SetupJvmtiGeneration, jvmtiEnter.cpp, jvmtiEnter.xsl, \
    -PARAM majorversion $(VERSION_FEATURE) \
    -PARAM interface jvmti))
$(eval $(call SetupJvmtiGeneration, jvmtiEnterTrace.cpp, jvmtiEnter.xsl, \
    -PARAM majorversion $(VERSION_FEATURE) \
    -PARAM interface jvmti -PARAM trace Trace))
$(eval $(call SetupJvmtiGeneration, jvmtiEnv.hpp, jvmtiHpp.xsl, \
    -PARAM majorversion $(VERSION_FEATURE)))
$(eval $(call SetupJvmtiGeneration, jvmti.h, jvmtiH.xsl, \
    -PARAM majorversion $(VERSION_FEATURE)))
$(eval $(call SetupJvmtiGeneration, jvmti.html, jvmti.xsl, \
    -PARAM majorversion $(VERSION_FEATURE)))

################################################################################
# Copy jvmti.h to include dir

# The file is the same regardless of jvm variant. Only let one do the copy.
ifeq ($(JVM_VARIANT), $(firstword $(JVM_VARIANTS)))
  $(eval $(call SetupCopyFiles, COPY_JVMTI_H, \
      DEST := $(SUPPORT_OUTPUTDIR)/modules_include/java.base, \
      FILES := $(JVMTI_OUTPUTDIR)/jvmti.h, \
  ))

  TARGETS += $(COPY_JVMTI_H)
endif

¤ Dauer der Verarbeitung: 0.22 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff