@@ -711,10 +711,7 @@ ifelse([$2],,,[AC_MSG_CHECKING([$2])])
711
711
AC_ARG_WITH ( $1 ,[ $3 ] ,$5 = [ $] withval ,
712
712
[
713
713
$5 =ifelse ( $4 ,,no ,$4 )
714
-
715
- if test "$PHP_ENABLE_ALL" && test "$6 " = "yes"; then
716
- $5 =$PHP_ENABLE_ALL
717
- fi
714
+ ifelse ( $6 ,yes ,[ test "$PHP_ENABLE_ALL" && $5 =$PHP_ENABLE_ALL] )
718
715
] )
719
716
PHP_ARG_ANALYZE($5 ,[ $2 ] ,$6 )
720
717
] )
@@ -739,10 +736,7 @@ ifelse([$2],,,[AC_MSG_CHECKING([$2])])
739
736
AC_ARG_ENABLE ( $1 ,[ $3 ] ,$5 = [ $] enableval ,
740
737
[
741
738
$5 =ifelse ( $4 ,,no ,$4 )
742
-
743
- if test "$PHP_ENABLE_ALL" && test "$6 " = "yes"; then
744
- $5 =$PHP_ENABLE_ALL
745
- fi
739
+ ifelse ( $6 ,yes ,[ test "$PHP_ENABLE_ALL" && $5 =$PHP_ENABLE_ALL] )
746
740
] )
747
741
PHP_ARG_ANALYZE($5 ,[ $2 ] ,$6 )
748
742
] )
@@ -2883,60 +2877,62 @@ main()
2883
2877
] )
2884
2878
2885
2879
dnl
2886
- dnl Generate dtrace targets
2880
+ dnl PHP_INIT_DTRACE(providerdesc, header-file, sources [, module])
2887
2881
dnl
2888
- AC_DEFUN ( [ PHP_GENERATE_DTRACE] ,[
2882
+ AC_DEFUN ( [ PHP_INIT_DTRACE] ,[
2883
+ dnl Set paths properly when called from extension
2884
+ case "$4 " in
2885
+ ""[ )] unset ac_bdir;;
2886
+ /*[ )] ac_bdir=$ac_srcdir;;
2887
+ *[ )] extdir=PHP_EXT_DIR($3 ); ac_bdir="$extdir/";;
2888
+ esac
2889
+
2890
+ dnl providerdesc
2891
+ ac_provsrc=$1
2889
2892
old_IFS=[ $] IFS
2890
2893
IFS=.
2891
- set $ac_src
2894
+ set $ac_provsrc
2895
+ ac_provobj=[ $] 1
2892
2896
IFS=$old_IFS
2893
- build_target=$2
2894
- PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS $1 .o"
2895
- for src in $PHP_DTRACE_OBJS; do
2896
- case [ $] build_target in
2897
- program|static)
2898
- obj="$obj `dirname $src`/`basename $src | sed 's,\.lo$,.o,'` " ;;
2899
- *)
2900
- obj="$obj `dirname $src`/.libs/`basename $src | sed 's,\.lo$,.o,'` " ;;
2901
- esac
2902
- done
2903
2897
2904
- cat >>Makefile.objects<<EOF
2905
- $1 .o: \$(PHP_DTRACE_OBJS)
2906
- dtrace -G -o $abs_builddir/$1 .o -s $abs_srcdir/$1 $obj
2907
- EOF
2898
+ dnl header-file
2899
+ ac_hdrobj=$2
2908
2900
2909
- ] )
2901
+ dnl Add providerdesc.o in global objects
2902
+ PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.o"
2910
2903
2911
- dnl
2912
- dnl Link given source files with dtrace
2913
- dnl PHP_ADD_DTRACE(providerdesc, sources, module)
2914
- dnl
2915
- AC_DEFUN ( [ PHP_ADD_DTRACE] ,[
2916
- case "$3 " in
2917
- ""[ )] unset ac_bdir;;
2918
- /*[ )] ac_bdir=$ac_srcdir;;
2919
- *[ )] extdir=PHP_EXT_DIR($3 ); ac_bdir="$extdir/";;
2920
- esac
2904
+ dnl DTrace objects
2921
2905
old_IFS=[ $] IFS
2922
- for ac_src in $2 ; do
2906
+ for ac_src in $3 ; do
2923
2907
IFS=.
2924
2908
set $ac_src
2925
2909
ac_obj=[ $] 1
2926
2910
IFS=$old_IFS
2927
2911
2928
2912
PHP_DTRACE_OBJS="[ $] PHP_DTRACE_OBJS [ $] ac_bdir[ $] ac_obj.lo"
2929
2913
done;
2930
- ] )
2931
2914
2932
- dnl
2933
- dnl Generate platform specific dtrace header
2934
- dnl
2935
- AC_DEFUN ( [ PHP_INIT_DTRACE] , [
2936
- dtrace -h -C -s $abs_srcdir/$1 -o $abs_builddir/$2
2937
- if test "$?" != "0"; then
2938
- AC_MSG_ERROR ( [ cannot create DTrace header file] )
2939
- fi
2940
- $SED -ibak 's,PHP_,DTRACE_,g' $abs_builddir/$2
2941
- ] )
2915
+ case [ $] php_build_target in
2916
+ program|static)
2917
+ dtrace_objs='$(PHP_DTRACE_OBJS:.lo=.o)'
2918
+ ;;
2919
+ *)
2920
+ for ac_lo in $PHP_DTRACE_OBJS; do
2921
+ dtrace_objs="[ $] dtrace_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
2922
+ done;
2923
+ ;;
2924
+ esac
2925
+
2926
+ dnl Generate Makefile.objects entries
2927
+ cat>>Makefile.objects<<EOF
2928
+
2929
+ $ac_bdir[ $] ac_hdrobj: $abs_srcdir/$ac_provsrc
2930
+ dtrace -h -C -s $ac_srcdir[ $] ac_provsrc -o \$[ ] @ && \$(SED) -ibak 's,PHP_,DTRACE_,g' \$[ ] @
2942
2931
2932
+ \$(PHP_DTRACE_OBJS): $ac_bdir[ $] ac_hdrobj
2933
+
2934
+ $ac_bdir[ $] ac_provsrc.o: \$(PHP_DTRACE_OBJS)
2935
+ dtrace -G -o \$[ ] @ -s $abs_srcdir/$ac_provsrc $dtrace_objs
2936
+
2937
+ EOF
2938
+ ] )
0 commit comments