PECL DTrace Package into core?
この辺(1・2)を見ていて気になったのが、PECL DTrace PackageがPHPアーカイブ中に含まれるようになった?
PHP Sources Snapshotsからソース一式を落としてきてgrepで確認。。。PHP6かららしい。
デフォルトでは有効にならず、コンパイル・オプションに「--enable-dtrace」が必要みたいですが、個人的にはPHPアーカイブ中に含まれるようになったのは嬉しいなっと。
それにしても、追加に関する意思決定はいつ頃行われたのだろうか。。。レポジトリには(今日時点で)役4ヶ月前くらいに投入されているようですが。
% cd /usr/local/src % gtar zxf ./php5.2-200911160130.tar.gz % gtar zxf ./php5.3-200911160130.tar.gz % gtar zxf ./php6.0-200911160130.tar.gz % grep -rn dtrace . ./php6.0-200911160130/aclocal.m4:2878:dnl Generate dtrace targets ./php6.0-200911160130/aclocal.m4:2898: dtrace -G -o $1.o -s $1 $obj ./php6.0-200911160130/aclocal.m4:2904:dnl Link given source files with dtrace ./php6.0-200911160130/aclocal.m4:2925:dnl Generate platform specific dtrace header ./php6.0-200911160130/aclocal.m4:2928: dtrace -h -C -s $1 -o $2 ./php6.0-200911160130/main/main.c:84:#include "zend_dtrace.h" ./php6.0-200911160130/configure:1068: --enable-dtrace Enable DTrace support" ./php6.0-200911160130/configure:18607:php_enable_dtrace=no ./php6.0-200911160130/configure:18611:# Check whether --enable-dtrace or --disable-dtrace was given. ./php6.0-200911160130/configure:18612:if test "${enable_dtrace+set}" = set; then ./php6.0-200911160130/configure:18613: enableval="$enable_dtrace" ./php6.0-200911160130/configure:18676: Zend/zend_dtrace.c Zend/zend.c; do ./php6.0-200911160130/configure:18686: dtrace -h -C -s Zend/zend_dtrace.d -o Zend/zend_dtrace_gen.h ./php6.0-200911160130/configure:18687: $SED -ibak 's,PHP_,DTRACE_,g' Zend/zend_dtrace_gen.h ./php6.0-200911160130/configure:108430: zend_alloc.c zend_compile.c zend_constants.c zend_dtrace.c \ ./php6.0-200911160130/configure:108604: PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS Zend/zend_dtrace.d.o" ./php6.0-200911160130/configure:108615:Zend/zend_dtrace.d.o: \$(PHP_DTRACE_OBJS) ./php6.0-200911160130/configure:108616: dtrace -G -o Zend/zend_dtrace.d.o -s Zend/zend_dtrace.d $obj ./php6.0-200911160130/acinclude.m4:2878:dnl Generate dtrace targets ./php6.0-200911160130/acinclude.m4:2898: dtrace -G -o $1.o -s $1 $obj ./php6.0-200911160130/acinclude.m4:2904:dnl Link given source files with dtrace ./php6.0-200911160130/acinclude.m4:2925:dnl Generate platform specific dtrace header ./php6.0-200911160130/acinclude.m4:2928: dtrace -h -C -s $1 -o $2 ./php6.0-200911160130/Zend/zend_dtrace.h:33:ZEND_API zend_op_array *(*zend_dtrace_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:34:ZEND_API void (*zend_dtrace_execute)(zend_op_array *op_array TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:35:ZEND_API void (*zend_dtrace_execute_internal)(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:37:ZEND_API zend_op_array *dtrace_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:38:ZEND_API void dtrace_execute(zend_op_array *op_array TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:39:ZEND_API void dtrace_execute_internal(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC); ./php6.0-200911160130/Zend/zend_dtrace.h:40:#include <zend_dtrace_gen.h> ./php6.0-200911160130/Zend/zend_execute.c:40:#include "zend_dtrace.h" ./php6.0-200911160130/Zend/zend.c:33:#include "zend_dtrace.h" ./php6.0-200911160130/Zend/zend.c:1138:/* build with dtrace support */ ./php6.0-200911160130/Zend/zend.c:1139: zend_compile_file = dtrace_compile_file; ./php6.0-200911160130/Zend/zend.c:1140: zend_execute = dtrace_execute; ./php6.0-200911160130/Zend/zend.c:1141: zend_execute_internal = dtrace_execute_internal; ./php6.0-200911160130/Zend/zend.c:1595: char *dtrace_error_buffer; ./php6.0-200911160130/Zend/zend.c:1596: zend_vspprintf(&dtrace_error_buffer, 0, format, args); ./php6.0-200911160130/Zend/zend.c:1597: DTRACE_ERROR(dtrace_error_buffer, error_filename, error_lineno); ./php6.0-200911160130/Zend/zend.c:1598: efree(dtrace_error_buffer); ./php6.0-200911160130/Zend/zend_exceptions.c:30:#include "zend_dtrace.h" ./php6.0-200911160130/Zend/zend_dtrace.c:23:#include "zend_dtrace.h" ./php6.0-200911160130/Zend/zend_dtrace.c:27:static inline char *dtrace_get_executed_filename(TSRMLS_D) ./php6.0-200911160130/Zend/zend_dtrace.c:36:ZEND_API zend_op_array *dtrace_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC) ./php6.0-200911160130/Zend/zend_dtrace.c:47:ZEND_API void dtrace_execute(zend_op_array *op_array TSRMLS_DC) ./php6.0-200911160130/Zend/zend_dtrace.c:59: filename = dtrace_get_executed_filename(TSRMLS_C); ./php6.0-200911160130/Zend/zend_dtrace.c:72: we use appropriate predicates in our dtrace scripts to detect if we are in class context */ ./php6.0-200911160130/Zend/zend_dtrace.c:104:ZEND_API void dtrace_execute_internal(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC) ./php6.0-200911160130/Zend/zend_dtrace.c:109: filename = dtrace_get_executed_filename(TSRMLS_C); ./php6.0-200911160130/configure.in:891:PHP_ARG_ENABLE(dtrace, whether to enable DTrace support, ./php6.0-200911160130/configure.in:892:[ --enable-dtrace Enable DTrace support], no, no) ./php6.0-200911160130/configure.in:898: [PHP_ADD_DTRACE([Zend/zend_dtrace.d], [main/main.c, Zend/zend_API.c \ ./php6.0-200911160130/configure.in:900: Zend/zend_dtrace.c Zend/zend.c]) ./php6.0-200911160130/configure.in:901: PHP_INIT_DTRACE([Zend/zend_dtrace.d], [Zend/zend_dtrace_gen.h]) ./php6.0-200911160130/configure.in:1365: zend_alloc.c zend_compile.c zend_constants.c zend_dtrace.c \ ./php6.0-200911160130/configure.in:1400: PHP_GENERATE_DTRACE([Zend/zend_dtrace.d],$php_build_target);; % ./php6.0-200911160130/configure --help | grep dtrace --enable-dtrace Enable DTrace support %