summaryrefslogtreecommitdiff
path: root/Makefile.SH
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2016-11-17 22:18:30 +1100
committerTony Cook <tony@develop-help.com>2017-01-05 10:03:13 +1100
commit47a83dc69df787f8ede4d6c21526ce623877cd4e (patch)
tree184c54053975c6c2889e280eb6de828bcfc006e7 /Makefile.SH
parent323dbd00f273d31c4a30b1de1a1201aea0f1b778 (diff)
downloadperl-47a83dc69df787f8ede4d6c21526ce623877cd4e.tar.gz
(perl #130108) generate a dummy dtrace_main.o if perlmain.o doesn't contain probes
efc4bddfd4 added generating a probes object file for perlmain.o, since the compiler was generating probes even for unused inline functions. The default compiler on FreeBSD 11 however doesn't generate probes for these unused inline functions, and dtrace -G fails because it can't find any. So if dtrace fails for perlmain.o generate a dummy object file to take its place. Similarly for XS::APItest.
Diffstat (limited to 'Makefile.SH')
-rwxr-xr-xMakefile.SH6
1 files changed, 5 insertions, 1 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 6c5ec87c61..6a283837a7 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -840,7 +840,11 @@ $(DTRACE_PERLLIB_O): perldtrace.d $(perllib_objs_nodt)
$(DTRACE) -G -s perldtrace.d -o $(DTRACE_PERLLIB_O) $(perllib_objs_nodt)
$(DTRACE_MAIN_O): perldtrace.d perlmain$(OBJ_EXT)
- $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MAIN_O) perlmain$(OBJ_EXT)
+ $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MAIN_O) perlmain$(OBJ_EXT) || \
+ ( $(ECHO) "No probes in perlmain$(OBJ_EXT), generating a dummy $(DTRACE_MAIN_O)" && \
+ $(ECHO) >dtrace_main.c && \
+ `$(CCCMD)` $(PLDLFLAGS) dtrace_main.c && \
+ rm -f dtrace_main.c )
!NO!SUBS!
;;