summaryrefslogtreecommitdiff
path: root/Makefile.SH
diff options
context:
space:
mode:
authorDavid Leadbeater <dgl@dgl.cx>2011-01-02 14:33:16 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-01-02 14:49:41 -0800
commit3d450a5dd4e8f9a7b2aba0b018f9fe078fb6aa30 (patch)
tree06caf0d9b6a6e95a58619ff4ce22ff7c2cf4e893 /Makefile.SH
parent42467a219c70177fc2004ed9b73d6c3db59dba5c (diff)
downloadperl-3d450a5dd4e8f9a7b2aba0b018f9fe078fb6aa30.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.)
Diffstat (limited to 'Makefile.SH')
-rwxr-xr-xMakefile.SH13
1 files changed, 10 insertions, 3 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 9d8df27497..a34416a9a4 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -215,11 +215,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
@@ -332,6 +334,7 @@ VALGRIND=valgrind
DTRACE = $dtrace
DTRACE_H = $dtrace_h
DTRACE_O = $dtrace_o
+MINIDTRACE_O = $minidtrace_o
FIRSTMAKEFILE = $firstmakefile
@@ -454,7 +457,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)
@@ -742,9 +746,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