com web/rmtools: fix for aspecific build variant: client/include/PeclExt.php client/script/pecl.php

From: Date: Thu, 10 Oct 2013 11:42:33 +0000
Subject: com web/rmtools: fix for aspecific build variant: client/include/PeclExt.php client/script/pecl.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-19124@lists.php.net to get a copy of this message
Commit: 3ac31f849f448a5542ad6695ca482276bacf0b4e Author: Anatol Belski <ab@php.net> Thu, 10 Oct 2013 13:42:33 +0200 Parents: 6d256fbd447d0ba4472fbe314f5d969df0ed2b58 Branches: master Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=3ac31f849f448a5542ad6695ca482276bacf0b4e Log: fix for aspecific build variant conditions: - config.w32 contains multiple EXTENSION definitions - the main configure option isn't enabled - another option enables a dll with another name from config.w32 Changed paths: M client/include/PeclExt.php M client/script/pecl.php Diff: diff --git a/client/include/PeclExt.php b/client/include/PeclExt.php index 8f08745..f492885 100644 --- a/client/include/PeclExt.php +++ b/client/include/PeclExt.php @@ -655,13 +655,8 @@ if (!function_exists('rmtools\combinations')) { return $ret; } - public function preparePackage() + public function getMultiExtensionNames() { - $sub = $this->build->thread_safe ? 'Release_TS' : 'Release'; - $base = $this->build->getObjDir() . DIRECTORY_SEPARATOR . $sub; - $target = TMP_DIR . DIRECTORY_SEPARATOR . $this->getPackageName(); - $files_to_zip = array(); - $ext_names = array($this->name); /* config.w32 can contain multiple EXTENTION definitions, which would lead to @@ -676,6 +671,18 @@ if (!function_exists('rmtools\combinations')) { } } + return $ext_names; + } + + public function preparePackage() + { + $sub = $this->build->thread_safe ? 'Release_TS' : 'Release'; + $base = $this->build->getObjDir() . DIRECTORY_SEPARATOR . $sub; + $target = TMP_DIR . DIRECTORY_SEPARATOR . $this->getPackageName(); + $files_to_zip = array(); + + $ext_names = $this->getMultiExtensionNames(); + $ext_dll_found = false; foreach ($ext_names as $ext_name) { $dll_name = 'php_' . $ext_name . '.dll'; diff --git a/client/script/pecl.php b/client/script/pecl.php index e26f476..0c68e15 100644 --- a/client/script/pecl.php +++ b/client/script/pecl.php @@ -256,7 +256,14 @@ foreach ($builds as $build_name) { $build->configure($ext_conf_line); } - if (!preg_match(',^\|\s+' . preg_quote($ext->getName()) . '\s+\|\s+shared\s+\|,Sm', $build->log_configure)) { + $multiext_enabled = 0; + foreach ($ext->getMultiExtensionNames() as $one_ext_name) { + $multiext_enabled += preg_match( + ',^\|\s+' . preg_quote($one_ext_name) . '\s+\|\s+shared\s+\|,Sm', + $build->log_configure + ); + } + if ($multiext_enabled < 1) { throw new Exception($ext->getName() . ' is not enabled, skip make phase'); }

« previous php.webmaster (#19124) next »