1
0
mirror of https://github.com/php/php-src.git synced 2026-04-01 13:12:16 +02:00
Files
archived-php-src/sapi/phpdbg/config.m4
Peter Kokot 6e825dfe43 Add --enable-phpdbg-debug option on Windows (#14568)
This enables outputting additional debugging messages when running
phpdbg for developing and troubleshooting phpdbg itself. Option was
already added in Autotools and this adds it also to Windows build
system.

Because additional info is printed when running tests, the
--enable-phpdbg-debug option is excluded when building with
--enable-snapshot-build if not provided explicitly.
2024-06-15 14:41:15 +02:00

107 lines
3.8 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 to enable additional diagnostic output for
developing and troubleshooting phpdbg itself])],
[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 "$PHP_PHPDBG" != "no"; then
AC_HEADER_TIOCGWINSZ
AC_DEFINE(HAVE_PHPDBG, 1, [ ])
PHP_PHPDBG_CFLAGS="-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
AS_VAR_IF([PHP_PHPDBG_DEBUG], [no],,
[AS_VAR_APPEND([PHP_PHPDBG_CFLAGS], [" -DPHPDBG_DEBUG=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" || test "$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_CHECK_DECL([UFFDIO_WRITEPROTECT_MODE_WP], [
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
],,[#include <linux/userfaultfd.h>])
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) --tag=CC --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) --tag=CC --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