1PHP_ARG_ENABLE([phpdbg], 2 [for phpdbg support], 3 [AS_HELP_STRING([--disable-phpdbg], 4 [Disable building of phpdbg])], 5 [yes], 6 [yes]) 7 8PHP_ARG_ENABLE([phpdbg-debug], 9 [for phpdbg debug build], 10 [AS_HELP_STRING([--enable-phpdbg-debug], 11 [Build phpdbg in debug mode])], 12 [no], 13 [no]) 14 15PHP_ARG_ENABLE([phpdbg-readline], 16 [for phpdbg readline support], 17 [AS_HELP_STRING([--enable-phpdbg-readline], 18 [Enable readline support in phpdbg (depends on static ext/readline)])], 19 [no], 20 [no]) 21 22if test "$PHP_PHPDBG" != "no"; then 23 AC_HEADER_TIOCGWINSZ 24 AC_DEFINE(HAVE_PHPDBG, 1, [ ]) 25 26 if test "$PHP_PHPDBG_DEBUG" != "no"; then 27 AC_DEFINE(PHPDBG_DEBUG, 1, [ ]) 28 else 29 AC_DEFINE(PHPDBG_DEBUG, 0, [ ]) 30 fi 31 32 PHP_PHPDBG_CFLAGS="-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" 33 PHP_PHPDBG_FILES="phpdbg.c phpdbg_parser.c phpdbg_lexer.c phpdbg_prompt.c phpdbg_help.c phpdbg_break.c phpdbg_print.c phpdbg_bp.c phpdbg_list.c phpdbg_utils.c phpdbg_info.c phpdbg_cmd.c phpdbg_set.c phpdbg_frame.c phpdbg_watch.c phpdbg_btree.c phpdbg_sigsafe.c phpdbg_io.c phpdbg_out.c" 34 35 AC_MSG_CHECKING([for phpdbg and readline integration]) 36 if test "$PHP_PHPDBG_READLINE" = "yes"; then 37 if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then 38 AC_DEFINE(HAVE_PHPDBG_READLINE, 1, [ ]) 39 PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS" 40 AC_MSG_RESULT([ok]) 41 else 42 AC_MSG_RESULT([readline is not available]) 43 fi 44 else 45 AC_MSG_RESULT([disabled]) 46 fi 47 48 AC_CHECK_DECL([UFFDIO_WRITEPROTECT_MODE_WP], [ 49 if test "$enable_zts" != "yes"; then 50 CFLAGS_SAVE="$CFLAGS" 51 LIBS_SAVE="$LIBS" 52 53 PTHREADS_CHECK 54 AC_MSG_CHECKING([working pthreads]); 55 56 if test "$pthreads_working" = "yes"; then 57 AC_MSG_RESULT([$ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib]); 58 PHP_PHPDBG_CFLAGS="$PHP_PHPDBG_CFLAGS $ac_cv_pthreads_cflags" 59 PHPDBG_EXTRA_LIBS="$PHPDBG_EXTRA_LIBS -l$ac_cv_pthreads_lib" 60 AC_DEFINE(HAVE_USERFAULTFD_WRITEFAULT, 1, [Whether faulting on write-protected memory support can be compiled for userfaultfd]) 61 else 62 AC_MSG_WARN([pthreads not available]) 63 fi 64 65 CFLAGS="$CFLAGS_SAVE" 66 LIBS="$LIBS_SAVE" 67 else 68 AC_DEFINE(HAVE_USERFAULTFD_WRITEFAULT, 1, [Whether faulting on write-protected memory support can be compiled for userfaultfd]) 69 fi 70 ],,[#include <linux/userfaultfd.h>]) 71 72 PHP_SUBST(PHPDBG_EXTRA_LIBS) 73 74 PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/phpdbg/Makefile.frag], [$abs_srcdir/sapi/phpdbg], [$abs_builddir/sapi/phpdbg]) 75 PHP_SELECT_SAPI(phpdbg, program, $PHP_PHPDBG_FILES, $PHP_PHPDBG_CFLAGS, [$(SAPI_PHPDBG_PATH)]) 76 77 BUILD_BINARY="sapi/phpdbg/phpdbg" 78 BUILD_SHARED="sapi/phpdbg/libphpdbg.la" 79 80 BUILD_PHPDBG="\$(LIBTOOL) --tag=CC --mode=link \ 81 \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ 82 \$(PHP_GLOBAL_OBJS:.lo=.o) \ 83 \$(PHP_BINARY_OBJS:.lo=.o) \ 84 \$(PHP_PHPDBG_OBJS:.lo=.o) \ 85 \$(EXTRA_LIBS) \ 86 \$(PHPDBG_EXTRA_LIBS) \ 87 \$(ZEND_EXTRA_LIBS) \ 88 \$(PHP_FRAMEWORKS) \ 89 -o \$(BUILD_BINARY)" 90 91 BUILD_PHPDBG_SHARED="\$(LIBTOOL) --tag=CC --mode=link \ 92 \$(CC) -shared -Wl,-soname,libphpdbg.so -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ 93 \$(PHP_GLOBAL_OBJS) \ 94 \$(PHP_BINARY_OBJS) \ 95 \$(PHP_PHPDBG_OBJS) \ 96 \$(EXTRA_LIBS) \ 97 \$(PHPDBG_EXTRA_LIBS) \ 98 \$(ZEND_EXTRA_LIBS) \ 99 \-DPHPDBG_SHARED \ 100 -o \$(BUILD_SHARED)" 101 102 PHP_SUBST(BUILD_BINARY) 103 PHP_SUBST(BUILD_SHARED) 104 PHP_SUBST(BUILD_PHPDBG) 105 PHP_SUBST(BUILD_PHPDBG_SHARED) 106 107 PHP_OUTPUT(sapi/phpdbg/phpdbg.1) 108fi 109