From 9450e23b3288100c07f2990cd0bce962ca56461b Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Fri, 24 Feb 2017 19:37:16 +0100 Subject: [PATCH] Support run or test target invoked within debugger Useful, as it gets all the environment produced by the makefile. For the test target, it might make sense to have the child process debug plugin for VS installed. --- win32/build/Makefile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/win32/build/Makefile b/win32/build/Makefile index 3293050b83c..53893587879 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -29,6 +29,14 @@ MCFILE=$(BUILD_DIR)\wsyslog.rc BUILD_DIR_DEV_NAME=php-$(PHP_VERSION_STRING)-devel-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE) BUILD_DIR_DEV=$(BUILD_DIR)\$(BUILD_DIR_DEV_NAME) +!if "$(DEBUGGER)" == "1" +DEBUGGER_CMD=devenv +DEBUGGER_ARGS=/debugexe +!else +DEBUGGER_CMD= +DEBUGGER_ARGS= +!endif + all: generated_files $(EXT_TARGETS) $(PECL_TARGETS) $(SAPI_TARGETS) build_dirs: $(BUILD_DIR) $(BUILD_DIRS_SUB) $(BUILD_DIR_DEV) @@ -151,18 +159,19 @@ clean-pgo: clean-all -del /f /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip -del /f /q $(BUILD_DIR)\php-test-pack-$(PHP_VERSION_STRING).zip + !if $(PHP_TEST_INI_PATH) == "" test: set-tmp-env - "$(BUILD_DIR)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(BUILD_DIR)\php.exe" + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(BUILD_DIR)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(BUILD_DIR)\php.exe" run: set-tmp-env - "$(BUILD_DIR)\php.exe" $(ARGS) + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(BUILD_DIR)\php.exe" $(ARGS) !else test: set-tmp-env - "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) -d open_basedir= -d output_buffering=0 -d memory_limit=-1 run-tests.php -p "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(TESTS) + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) -d open_basedir= -d output_buffering=0 -d memory_limit=-1 run-tests.php -p "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(TESTS) run: set-tmp-env - "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(ARGS) + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(BUILD_DIR)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(ARGS) !endif build-snap: set-tmp-env generated_files