summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.in19
-rw-r--r--configure.in6
3 files changed, 21 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e992369f0..7db3442723 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Fri Nov 16 17:56:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Nov 16 17:57:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in (probes.h): split build commands for dtrace-available
+ and unavailable platforms.
* Makefile.in (incs): probes.h is a platform dependent file, so it
cannot be a part of prereq target. move it to all-incs.
diff --git a/Makefile.in b/Makefile.in
index 1af569b80c..4f329f410e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -148,6 +148,7 @@ OBJCOPY = @OBJCOPY@
VCS = @VCS@
VCSUP = @VCSUP@
DTRACE = @DTRACE@
+DTRACE_AVAILABLE = @DTRACE_AVAILABLE@
OBJEXT = @OBJEXT@
ASMEXT = S
@@ -322,15 +323,17 @@ enc/unicode/name2ctype.h: enc/unicode/name2ctype.kwd
@$(ECHO) preprocessing $<
$(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $< > $@
-probes.h: dmyprobes.h
+probes.h: $(DTRACE_AVAILABLE)-dtrace-probes.h
+
+yes-dtrace-probes.h:
@$(ECHO) translating probes $(srcdir)/probes.d
- $(Q)if test -n '$(DTRACE)'; then \
- $(DTRACE) -o $@.tmp -h -s $(srcdir)/probes.d; \
- sed -e 's/RUBY_/RUBY_DTRACE_/g' $@.tmp | sed -e 's/PROBES_H_TMP/PROBES_H/g' >$@; \
- $(RM) $@.tmp; \
- else \
- $(CP) $(srcdir)/dmyprobes.h probes.h; \
- fi
+ $(Q) $(DTRACE) -o probes.h -h -s $(srcdir)/probes.d
+ $(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/PROBES_H/g' probes.h.tmp > probes.h
+ $(Q) $(RM) probes.h.tmp
+
+no-dtrace-probes.h: dmyprobes.h
+ @$(ECHO) copying dummy probes.h
+ $(Q) $(CP) $(srcdir)/dmyprobes.h probes.h
clean-local::
$(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \
diff --git a/configure.in b/configure.in
index ee9ea8a112..0be5ad35dd 100644
--- a/configure.in
+++ b/configure.in
@@ -395,6 +395,12 @@ fi
AS_CASE(["$target_os"],
[freebsd*], [DTRACE=]
)
+if test -n "$DTRACE"; then
+ DTRACE_AVAILABLE=yes
+else
+ DTRACE_AVAILABLE=no
+fi
+AC_SUBST(DTRACE_AVAILABLE)
RUBY_PROG_GNU_LD
RUBY_CPPOUTFILE