summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Leadbeater <dgl@dgl.cx>2011-01-02 14:33:16 -0800
committerRicardo Signes <rjbs@cpan.org>2011-01-04 10:48:03 -0500
commit05571b730ab4be3bed6df4217c897bbaddebc6b3 (patch)
treee47f568058bc44245a186770e0b175957e7d2a9a
parentf04750915792a0bbf29c2eda7b04f7fe8a74dbb0 (diff)
downloadperl-05571b730ab4be3bed6df4217c897bbaddebc6b3.tar.gz
[perl #73630] Build separate DTrace for miniperl
As outlined in the RT ticket due to miniperl's dependencies differing to the final perl binary dtrace -G needs to be called separately for each. Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with SystemTap from git. (Solaris is the only system I have access to where DTRACE_O actually gets defined. Neither the dtrace binary on OS X nor SystemTap's dtrace compatibility layer accept the -G option.) (cherry picked from commit 3d450a5dd4e8f9a7b2aba0b018f9fe078fb6aa30)
-rw-r--r--Makefile.SH13
1 files changed, 10 insertions, 3 deletions
diff --git a/Makefile.SH b/Makefile.SH
index c429e1e35c..fc13b2bae2 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -227,11 +227,13 @@ done
dtrace_h=''
dtrace_o=''
+minidtrace_o=''
case "$usedtrace" in
define|true)
dtrace_h='perldtrace.h'
$dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \
- && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)'
+ && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' \
+ && minidtrace_o='miniperldtrace$(OBJ_EXT)'
;;
esac
@@ -344,6 +346,7 @@ VALGRIND=valgrind
DTRACE = $dtrace
DTRACE_H = $dtrace_h
DTRACE_O = $dtrace_o
+MINIDTRACE_O = $minidtrace_o
FIRSTMAKEFILE = $firstmakefile
@@ -477,7 +480,8 @@ obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
-mini_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) $(DTRACE_O)
+minindt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+mini_obj = $(minindt_obj) $(MINIDTRACE_O)
ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
obj = $(ndt_obj) $(DTRACE_O)
@@ -734,9 +738,12 @@ mydtrace.h: $(DTRACE_H)
case "$dtrace_o" in
?*)
$spitshell >>$Makefile <<'!NO!SUBS!'
-$(DTRACE_O): perldtrace.d
+$(DTRACE_O): perldtrace.d $(ndt_obj)
$(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj)
+$(MINIDTRACE_O): perldtrace.d $(minindt_obj)
+ $(DTRACE) -G -s perldtrace.d -o $(MINIDTRACE_O) $(minindt_obj)
+
!NO!SUBS!
;;
esac