summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorAndy Armstrong <andy@hexten.net>2008-01-10 22:20:52 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-11 13:36:54 +0000
commit5ac1e9b286b068746476878a8a6206b06828a175 (patch)
tree9c3ea7b8fb39c431bd78a689aea2ff13f18de880 /Configure
parent737ddd9966a0343f74f23dcc8d4025bbf64d3e59 (diff)
downloadperl-5ac1e9b286b068746476878a8a6206b06828a175.tar.gz
Add dtrace support
Message-Id: <F4AC553F-7C7F-49C3-98C2-E04681E1004F@hexten.net> with fixups as discussed on list, plus adding usedtrace to Glossary, plus propagating all the new config variables everywhere. (Was there an automatic way to do that? I did it with emacs macros) p4raw-id: //depot/perl@32953
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure69
1 files changed, 69 insertions, 0 deletions
diff --git a/Configure b/Configure
index f0335812ac..070427375a 100755
--- a/Configure
+++ b/Configure
@@ -238,6 +238,7 @@ cpio=''
cpp=''
csh=''
date=''
+dtrace=''
echo=''
egrep=''
emacs=''
@@ -1193,6 +1194,7 @@ use5005threads=''
useithreads=''
usereentrant=''
usethreads=''
+usedtrace=''
incpath=''
mips_type=''
usrinc=''
@@ -8949,6 +8951,71 @@ esac
set usefaststdio
eval $setvar
+: DTrace support
+dflt_dtrace='/usr/sbin/dtrace'
+cat <<EOM
+
+Perl can be built to support DTrace on platforms that support it.
+DTrace is a diagnosis and performance analysis tool from Sun.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+
+while test 1 ; do
+ case "$usedtrace" in
+ $define|true|[yY]*)
+ dflt='y'
+ ;;
+ ?*)
+ dflt='y'
+ dflt_dtrace=$usedtrace
+ ;;
+ *)
+ dflt='n'
+ ;;
+ esac
+
+ rp='Support DTrace if available?'
+ . ./myread
+ case "$ans" in
+ y|Y) val="$define" ;;
+ *) val="$undef" ;;
+ esac
+ set usedtrace
+ eval $setvar
+
+ test "X$usedtrace" != "X$define" && break
+
+ echo " "
+ rp='Where is the dtrace executable?'
+ dflt=$dflt_dtrace
+ . ./getfile
+ val="$ans"
+ set dtrace
+ eval $setvar
+
+ if test -f $dtrace
+ then
+ if ! $dtrace -h -s ../perldtrace.d \
+ -o perldtrace.tmp >/dev/null 2>&1 \
+ && rm -f perldtrace.tmp
+ then
+ cat >&2 <<EOM
+
+*** $me: Fatal Error: $dtrace doesn't support -h flag
+***
+*** Your installed dtrace doesn't support the -h switch to compile a D
+*** program into a C header. Can't continue.
+
+EOM
+ exit 1
+ fi
+ break;
+ fi
+
+ echo "$dtrace was not found."
+ echo " "
+done
: define an is-a-typedef? function
typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
@@ -22063,6 +22130,7 @@ dlsrc='$dlsrc'
doublesize='$doublesize'
drand01='$drand01'
drand48_r_proto='$drand48_r_proto'
+dtrace='$dtrace'
dynamic_ext='$dynamic_ext'
eagain='$eagain'
ebcdic='$ebcdic'
@@ -22523,6 +22591,7 @@ use64bitall='$use64bitall'
use64bitint='$use64bitint'
usecrosscompile='$usecrosscompile'
usedl='$usedl'
+usedtrace='$usedtrace'
usefaststdio='$usefaststdio'
useithreads='$useithreads'
uselargefiles='$uselargefiles'