From: Pierre Joye Date: Mon, 19 Oct 2009 19:05:58 +0000 (+0000) Subject: - Merge: add custom DLL to the package and fix the path to the deps bin (needs absolu... X-Git-Tag: php-5.3.1RC2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e9c850b1a38bd2fc81ae38d7cd5e73de653323d8;p=php - Merge: add custom DLL to the package and fix the path to the deps bin (needs absolute path in some cases) --- diff --git a/win32/build/Makefile b/win32/build/Makefile index d13f330668..bb576ea67a 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -128,7 +128,7 @@ build-dist: $(BUILD_DIR)\deplister.exe -del /f /q $(BUILD_DIR)\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip -del /f /q $(BUILD_DIR)\php-debug-pack-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip -del /f /q $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip - $(BUILD_DIR)\php.exe -d date.timezone=UTC -n -dphar.readonly=0 win32/build/mkdist.php "$(BUILD_DIR)" "$(PHPDLL)" "$(SAPI_TARGETS)" "$(EXT_TARGETS) $(PHP_EXTRA_DIST_FILES)" "$(PECL_TARGETS) $(PECL_EXTRA_DIST_FILES)" "$(SNAPSHOT_TEMPLATE)" + $(BUILD_DIR)\php.exe -d date.timezone=UTC -n -dphar.readonly=0 win32/build/mkdist.php "$(BUILD_DIR)" "$(PHP_BUILD)" "$(PHPDLL)" "$(SAPI_TARGETS)" "$(EXT_TARGETS) $(PHP_EXTRA_DIST_FILES)" "$(PECL_TARGETS) $(PECL_EXTRA_DIST_FILES)" "$(SNAPSHOT_TEMPLATE)" cd $(BUILD_DIR)\php-$(PHP_VERSION_STRING) -$(ZIP) -9 -q -r ..\php-$(PHP_VERSION_STRING)$(PHP_ZTS_ARCHIVE_POSTFIX)-Win32-$(PHP_COMPILER_SHORT)-$(PHP_ARCHITECTURE).zip . cd ..\.. diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 769e67afdd..e36d12054e 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -251,6 +251,7 @@ if (PHP_PHP_BUILD == 'no') { } } } + PHP_PHP_BUILD = FSO.GetAbsolutePathName(PHP_PHP_BUILD); } DEFINE("PHP_BUILD", PHP_PHP_BUILD); diff --git a/win32/build/mkdist.php b/win32/build/mkdist.php index 6eb8cb3edd..6129e05d10 100644 --- a/win32/build/mkdist.php +++ b/win32/build/mkdist.php @@ -2,11 +2,12 @@ /* piece together a windows binary distro */ $build_dir = $argv[1]; -$phpdll = $argv[2]; -$sapi_targets = explode(" ", $argv[3]); -$ext_targets = explode(" ", $argv[4]); -$pecl_targets = explode(" ", $argv[5]); -$snapshot_template = $argv[6]; +$php_build_dir = $argv[2]; +$phpdll = $argv[3]; +$sapi_targets = explode(" ", $argv[4]); +$ext_targets = explode(" ", $argv[5]); +$pecl_targets = explode(" ", $argv[6]); +$snapshot_template = $argv[7]; $is_debug = preg_match("/^debug/i", $build_dir); @@ -295,7 +296,7 @@ foreach ($extra_dll_deps as $dll) { /* try template dir */ $tdll = $snapshot_template . "/dlls/" . basename($dll); if (!file_exists($tdll)) { - $tdll = '../deps/bin/' . basename($dll); + $tdll = $php_build_dir . '/bin/' . basename($dll); if (!file_exists($tdll)) { echo "WARNING: distro depends on $dll, but could not find it on your system\n"; continue; @@ -309,11 +310,23 @@ foreach ($extra_dll_deps as $dll) { /* TODO: add sanity check and test if all required DLLs are present, per version This version works at least for 3.6, 3.8 and 4.0 (5.3-vc6, 5.3-vc9 and HEAD). +Add ADD_DLLS to add extra DLLs like dynamic dependencies for standard +deps. For example, libenchant.dll loads libenchant_myspell.dll or +libenchant_ispell.dll */ -$ICU_DLLS = '../deps/bin/' . 'icu*.dll'; +$ICU_DLLS = $php_build_dir . '/icu*.dll'; foreach (glob($ICU_DLLS) as $filename) { copy($filename, "$dist_dir/" . basename($filename)); } +$ENCHANT_DLLS = array( + 'glib-2.dll', + 'gmodule-2.dll', + 'libenchant_myspell.dll', + 'libenchant_ispell.dll', +); +foreach ($ENCHANT_DLLS as $filename) { + copy($php_build_dir . '/bin/' . $filename, "$dist_dir/" . basename($filename)); +} /* and those for pecl */ foreach ($pecl_dll_deps as $dll) { @@ -332,6 +345,7 @@ foreach ($pecl_dll_deps as $dll) { } copy($dll, "$pecl_dir/" . basename($dll)); } + function copy_dir($source, $dest) { if (!is_dir($dest)) { @@ -365,7 +379,9 @@ function copy_test_dir($directory, $dest) } if ($directory == 'tests') { - mkdir($dest . '/tests', 0775, true); + if (!is_dir($dest . '/tests')) { + mkdir($dest . '/tests', 0775, true); + } copy_dir($directory, $dest . '/tests/'); return false; @@ -439,6 +455,7 @@ $dirs = array( foreach ($dirs as $dir) { copy_test_dir($dir, $test_dir); } + /* change this next line to true to use good-old * hand-assembled go-pear-bundle from the snapshot template */ $use_pear_template = true;