make/linux/makefiles/dtrace.make

Wed, 14 Oct 2020 17:44:48 +0800

author
aoqi
date
Wed, 14 Oct 2020 17:44:48 +0800
changeset 9931
fd44df5e3bc3
parent 7994
04ff2f6cd0eb
permissions
-rw-r--r--

Merge

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # Copyright (c) 2012 Red Hat, Inc.
aoqi@0 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 5 #
aoqi@0 6 # This code is free software; you can redistribute it and/or modify it
aoqi@0 7 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 8 # published by the Free Software Foundation.
aoqi@0 9 #
aoqi@0 10 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 13 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 14 # accompanied this code).
aoqi@0 15 #
aoqi@0 16 # You should have received a copy of the GNU General Public License version
aoqi@0 17 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 19 #
aoqi@0 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 21 # or visit www.oracle.com if you need additional information or have any
aoqi@0 22 # questions.
aoqi@0 23 #
aoqi@0 24 #
aoqi@0 25
aoqi@0 26 # Linux does not build jvm_db
aoqi@0 27 LIBJVM_DB =
aoqi@0 28
aoqi@0 29 # Only OPENJDK builds test and support SDT probes currently.
aoqi@0 30 ifndef OPENJDK
aoqi@0 31 REASON = "This JDK does not support SDT probes"
aoqi@0 32 else
aoqi@0 33
ysuenaga@7856 34 # We need a recent GCC for the default (4.4 or later)
ysuenaga@7856 35 ifeq "$(shell expr \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 4 \) \) \| \( $(CC_VER_MAJOR) \>= 5 \) )" "0"
aoqi@0 36 REASON = "gcc version is too old"
aoqi@0 37 else
aoqi@0 38
aoqi@0 39 # But it does have a SystemTap dtrace compatible sys/sdt.h
aoqi@0 40 ifneq ($(ALT_SDT_H),)
aoqi@0 41 SDT_H_FILE = $(ALT_SDT_H)
aoqi@0 42 else
aoqi@0 43 SDT_H_FILE = /usr/include/sys/sdt.h
aoqi@0 44 endif
aoqi@0 45 DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE))
aoqi@0 46 REASON = "$(SDT_H_FILE) not found"
aoqi@0 47
aoqi@0 48 ifneq ($(DTRACE_ENABLED),)
aoqi@0 49 CFLAGS += -DDTRACE_ENABLED
aoqi@0 50 endif
aoqi@0 51
aoqi@0 52 endif
aoqi@0 53 endif
aoqi@0 54
aoqi@0 55 # Phony target used in vm.make build target to check whether enabled.
aoqi@0 56 .PHONY: dtraceCheck
aoqi@0 57 ifeq ($(DTRACE_ENABLED),)
aoqi@0 58 dtraceCheck:
aoqi@0 59 $(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
aoqi@0 60 else
aoqi@0 61 dtraceCheck:
aoqi@0 62 endif
aoqi@0 63
aoqi@0 64 # It doesn't support HAVE_DTRACE_H though.
aoqi@0 65

mercurial