diff options
-rwxr-xr-x | Configure | 29 | ||||
-rwxr-xr-x | Makefile.SH | 11 | ||||
-rw-r--r-- | Porting/Glossary | 3 |
3 files changed, 39 insertions, 4 deletions
@@ -1317,6 +1317,7 @@ use64bitall='' use64bitint='' usecbacktrace='' dtrace='' +dtraceobject='' usedtrace='' usefaststdio='' usekernprocpathname='' @@ -8171,6 +8172,33 @@ EOM esac done +case "$usedtrace" in +$define) + case "$dtraceobject" in + $define|true|[yY]*) + dtraceobject=$define + ;; + ' '|'') + $dtrace -h -s ../perldtrace.d -o perldtrace.h + $cat >try.c <<EOM +#include "perldtrace.h" +int main(void) { + PERL_LOADED_FILE("dummy"); + return 0; +} +EOM + dtraceobject=$undef + if $cc -c -o try.o $optimize $ccflags try.c \ + && $dtrace -G -s ../perldtrace.d try.o ; then + dtraceobject=$define + echo "Your dtrace builds an object file" + fi + $rm -f try.c try.o perldtrace.o + ;; + *) dtraceobject=$undef ;; + esac +esac + : See if we want extra modules installed echo " " case "$extras" in @@ -24720,6 +24748,7 @@ doublesize='$doublesize' drand01='$drand01' drand48_r_proto='$drand48_r_proto' dtrace='$dtrace' +dtraceobject='$dtraceobject' dynamic_ext='$dynamic_ext' eagain='$eagain' ebcdic='$ebcdic' diff --git a/Makefile.SH b/Makefile.SH index a9ece4f126..43701addb0 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -234,10 +234,13 @@ 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)' \ - && minidtrace_o='miniperldtrace$(OBJ_EXT)' + dtrace_h='perldtrace.h' + case "$dtraceobject" in + define) + dtrace_o='perldtrace$(OBJ_EXT)' + minidtrace_o='miniperldtrace$(OBJ_EXT)' + ;; + esac ;; esac diff --git a/Porting/Glossary b/Porting/Glossary index bc879f7383..40e9b406f5 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -2850,6 +2850,9 @@ drand48_r_proto (d_drand48_r.U): dtrace (usedtrace.U): This variable holds the location of the dtrace executable. +dtraceobject (usedtrace.U): + Whether we need to build an object file with the dtrace tool. + dynamic_ext (Extensions.U): This variable holds a list of XS extension files we want to link dynamically into the package. It is used by Makefile. |