mirror of
https://github.com/php/php-src.git
synced 2024-12-04 07:14:10 +08:00
adc4a48d26
By default phpdbg is enabled (--enable-phpdbg) and user can get info in the `./configure --help` output if they want to disable it like with the other configuration options.
117 lines
4.2 KiB
Plaintext
117 lines
4.2 KiB
Plaintext
PHP_ARG_ENABLE([phpdbg],
|
|
[for phpdbg support],
|
|
[AS_HELP_STRING([--disable-phpdbg],
|
|
[Disable building of phpdbg])],
|
|
[yes],
|
|
[yes])
|
|
|
|
PHP_ARG_ENABLE([phpdbg-debug],
|
|
[for phpdbg debug build],
|
|
[AS_HELP_STRING([--enable-phpdbg-debug],
|
|
[Build phpdbg in debug mode])],
|
|
[no],
|
|
[no])
|
|
|
|
PHP_ARG_ENABLE([phpdbg-readline],
|
|
[for phpdbg readline support],
|
|
[AS_HELP_STRING([--enable-phpdbg-readline],
|
|
[Enable readline support in phpdbg (depends on static ext/readline)])],
|
|
[no],
|
|
[no])
|
|
|
|
if test "$BUILD_PHPDBG" = "" && test "$PHP_PHPDBG" != "no"; then
|
|
AC_HEADER_TIOCGWINSZ
|
|
AC_DEFINE(HAVE_PHPDBG, 1, [ ])
|
|
|
|
if test "$PHP_PHPDBG_DEBUG" != "no"; then
|
|
AC_DEFINE(PHPDBG_DEBUG, 1, [ ])
|
|
else
|
|
AC_DEFINE(PHPDBG_DEBUG, 0, [ ])
|
|
fi
|
|
|
|
PHP_PHPDBG_CFLAGS="-D_GNU_SOURCE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
|
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"
|
|
|
|
AC_MSG_CHECKING([for phpdbg and readline integration])
|
|
if test "$PHP_PHPDBG_READLINE" = "yes"; then
|
|
if test "$PHP_READLINE" != "no" -o "$PHP_LIBEDIT" != "no"; then
|
|
AC_DEFINE(HAVE_PHPDBG_READLINE, 1, [ ])
|
|
PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS"
|
|
AC_MSG_RESULT([ok])
|
|
else
|
|
AC_MSG_RESULT([readline is not available])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([disabled])
|
|
fi
|
|
|
|
AC_CACHE_CHECK([for userfaultfd faulting on write-protected memory support], ac_cv_phpdbg_userfaultfd_writefault, AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
#include <linux/userfaultfd.h>
|
|
#ifndef UFFDIO_WRITEPROTECT_MODE_WP
|
|
# error userfaults on write-protected memory not supported
|
|
#endif
|
|
]])], [ac_cv_phpdbg_userfaultfd_writefault=yes], [ac_cv_phpdbg_userfaultfd_writefault=no]))
|
|
if test "$ac_cv_phpdbg_userfaultfd_writefault" = "yes"; then
|
|
if test "$enable_zts" != "yes"; then
|
|
CFLAGS_SAVE="$CFLAGS"
|
|
LIBS_SAVE="$LIBS"
|
|
|
|
PTHREADS_CHECK
|
|
AC_MSG_CHECKING([working pthreads]);
|
|
|
|
if test "$pthreads_working" = "yes"; then
|
|
AC_MSG_RESULT([$ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib]);
|
|
PHP_PHPDBG_CFLAGS="$PHP_PHPDBG_CFLAGS $ac_cv_pthreads_cflags"
|
|
PHPDBG_EXTRA_LIBS="$PHPDBG_EXTRA_LIBS -l$ac_cv_pthreads_lib"
|
|
AC_DEFINE(HAVE_USERFAULTFD_WRITEFAULT, 1, [Whether faulting on write-protected memory support can be compiled for userfaultfd])
|
|
else
|
|
AC_MSG_WARN([pthreads not available])
|
|
fi
|
|
|
|
CFLAGS="$CFLAGS_SAVE"
|
|
LIBS="$LIBS_SAVE"
|
|
else
|
|
AC_DEFINE(HAVE_USERFAULTFD_WRITEFAULT, 1, [Whether faulting on write-protected memory support can be compiled for userfaultfd])
|
|
fi
|
|
fi
|
|
|
|
PHP_SUBST(PHP_PHPDBG_CFLAGS)
|
|
PHP_SUBST(PHP_PHPDBG_FILES)
|
|
PHP_SUBST(PHPDBG_EXTRA_LIBS)
|
|
|
|
PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/phpdbg/Makefile.frag], [$abs_srcdir/sapi/phpdbg], [$abs_builddir/sapi/phpdbg])
|
|
PHP_SELECT_SAPI(phpdbg, program, $PHP_PHPDBG_FILES, $PHP_PHPDBG_CFLAGS, [$(SAPI_PHPDBG_PATH)])
|
|
|
|
BUILD_BINARY="sapi/phpdbg/phpdbg"
|
|
BUILD_SHARED="sapi/phpdbg/libphpdbg.la"
|
|
|
|
BUILD_PHPDBG="\$(LIBTOOL) --mode=link \
|
|
\$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
|
|
\$(PHP_GLOBAL_OBJS:.lo=.o) \
|
|
\$(PHP_BINARY_OBJS:.lo=.o) \
|
|
\$(PHP_PHPDBG_OBJS:.lo=.o) \
|
|
\$(EXTRA_LIBS) \
|
|
\$(PHPDBG_EXTRA_LIBS) \
|
|
\$(ZEND_EXTRA_LIBS) \
|
|
\$(PHP_FRAMEWORKS) \
|
|
-o \$(BUILD_BINARY)"
|
|
|
|
BUILD_PHPDBG_SHARED="\$(LIBTOOL) --mode=link \
|
|
\$(CC) -shared -Wl,-soname,libphpdbg.so -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
|
|
\$(PHP_GLOBAL_OBJS) \
|
|
\$(PHP_BINARY_OBJS) \
|
|
\$(PHP_PHPDBG_OBJS) \
|
|
\$(EXTRA_LIBS) \
|
|
\$(PHPDBG_EXTRA_LIBS) \
|
|
\$(ZEND_EXTRA_LIBS) \
|
|
\-DPHPDBG_SHARED \
|
|
-o \$(BUILD_SHARED)"
|
|
|
|
PHP_SUBST(BUILD_BINARY)
|
|
PHP_SUBST(BUILD_SHARED)
|
|
PHP_SUBST(BUILD_PHPDBG)
|
|
PHP_SUBST(BUILD_PHPDBG_SHARED)
|
|
|
|
PHP_OUTPUT(sapi/phpdbg/phpdbg.1)
|
|
fi
|