From f7b5a7338380395014d6a7a90774a021a52082c1 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 14 Dec 2010 23:09:31 +0000 Subject: [PATCH] - fix build with out of src obj dir --- win32/build/Makefile | 11 ++++++----- win32/build/confutils.js | 5 ++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/win32/build/Makefile b/win32/build/Makefile index b63453b67b..586165ac94 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -4,7 +4,7 @@ # | Copyright (c) 1997-2008 The PHP Group | # +----------------------------------------------------------------------+ # | This source file is subject to version 3.01 of the PHP license, | -# | that is bundled with this package in the file LICENSE, and is | +# | that is bundled with this package in the file LICENSE, and is |3 # | available through the world-wide-web at the following url: | # | http://www.php.net/license/3_01.txt | # | If you did not receive a copy of the PHP license and are unable to | @@ -92,8 +92,9 @@ $(BUILD_DIR) $(BUILD_DIRS_SUB) $(BUILD_DIR_DEV): @if not exist $(BUILD_DIR) mkdir $(BUILD_DIR) @cd $(BUILD_DIR) @for %D in ($(BUILD_DIRS_SUB)) do @if not exist %D @mkdir %D > NUL - @cd ../.. @if not exist $(BUILD_DIR_DEV) @mkdir $(BUILD_DIR_DEV) > NUL + @cd $(PHP_SRC_DIR) + clean-sapi: @echo Cleaning SAPI @@ -106,7 +107,7 @@ clean: clean-sapi @echo Cleaning distribution build dirs @cd $(BUILD_DIR) @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @del /F /Q %D\*.* > NUL - @cd ..\.. + @cd $(PHP_SRC_DIR) -@del /F /Q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\php-$(PHP_VERSION_STRING)-Win32.zip $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)-Win32.zip > NUL -rd /s /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING) @@ -118,7 +119,7 @@ clean-all: @echo Cleaning standard build dirs @cd $(BUILD_DIR) @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @rd /s /q %D - @cd ..\.. + @cd $(PHP_SRC_DIR) -@del /f /q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\*.rc $(BUILD_DIR)\*.dbg $(BUILD_DIR)\*.bin $(BUILD_DIR)\php*.dll $(BUILD_DIR)\php*.exe > NUL test: @@ -131,7 +132,7 @@ build-snap: generated_files -for %T in ($(EXT_TARGETS)) do $(MAKE) /I /nologo "%T" -for %T in ($(PECL_TARGETS)) do $(MAKE) /I /nologo "%T" -build-dist: $(BUILD_DIR)\deplister.exe build-devel build-lib +build-dist: $(BUILD_DIR)\deplister.exe -rd /s /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING) -rd /s /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING) -del /f /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 7818b4e4ce..c2a4b93e81 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -27,6 +27,7 @@ var MFO = null; var SYSTEM_DRIVE = WshShell.Environment("Process").Item("SystemDrive"); var PROGRAM_FILES = WshShell.Environment("Process").Item("ProgramFiles"); var DSP_FLAGS = new Array(); +var PHP_SRC_DIR=FSO.GetParentFolderName(WScript.ScriptFullName); /* Store the enabled extensions (summary + QA check) */ var extensions_enabled = new Array(); @@ -1553,12 +1554,14 @@ function generate_files() continue; } last = bd; + build_dir = get_define('BUILD_DIR'); build_dir = build_dir.replace(new RegExp("\\\\", "g"), "\\\\"); if (build_dir.substr(build_dir.Length - 2, 2) != '\\\\') { build_dir += '\\\\'; } ADD_FLAG("BUILD_DIRS_SUB", bd.replace(new RegExp(build_dir), '')); + if (!FSO.FolderExists(bd)) { FSO.CreateFolder(bd); } @@ -1704,7 +1707,7 @@ function generate_makefile() /* spit out variable definitions */ var keys = (new VBArray(configure_subst.Keys())).toArray(); var i; - + MF.WriteLine("PHP_SRC_DIR =" + PHP_SRC_DIR); for (i in keys) { // The trailing space is needed to prevent the trailing backslash // that is part of the build dir flags (CFLAGS_BD_XXX) from being -- 2.40.0