make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++++++++ make/linux/makefiles/vm.make | 2 +- 2 files changed, 25 insertions(+), 1 deletions(-)
# HG changeset patch # User Mark Wielaard <[email protected]> # Date 1342788329 -7200 # Node ID 83f53049b275e6c613e149114aece6d078889038 # Parent c85270e9500fa52fefa80763c4ccec7f3f0dc3a2 7170638: Enable dtrace compatible sdt probes on GNU/Linux builds. Summary: If sys/sdt.h is found, then enable dtrace compatible sdt probes. Contributed-by: Mark Wielaard <[email protected]> diff --git a/make/linux/makefiles/dtrace.make b/make/linux/makefiles/dtrace.make --- a/make/linux/makefiles/dtrace.make +++ b/make/linux/makefiles/dtrace.make @@ -1,5 +1,6 @@ # # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012 Red Hat, Inc. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -25,3 +26,26 @@ # Linux does not build jvm_db LIBJVM_DB = +# But it does have a SystemTap dtrace compatible sys/sdt.h +ifneq ($(ALT_SDT_H),) + SDT_H_FILE = $(ALT_SDT_H) +else + SDT_H_FILE = /usr/include/sys/sdt.h +endif +DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE)) + +ifneq ($(DTRACE_ENABLED),) + CFLAGS += -DDTRACE_ENABLED +endif + +# Phone target used in vm.make build target to check whether enabled. +.PHONY: dtraceCheck +ifeq ($(DTRACE_ENABLED),) +dtraceCheck: + $(QUIETLY) echo "**NOTICE** Dtrace support disabled $(SDT_H_FILE) not found" +else +dtraceCheck: +endif + +# It doesn't support HAVE_DTRACE_H though. + diff --git a/make/linux/makefiles/vm.make b/make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make +++ b/make/linux/makefiles/vm.make @@ -387,7 +387,7 @@ #---------------------------------------------------------------------- -build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR) +build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR) install: install_jvm install_jsig install_saproc
