Commit:    3ac31f849f448a5542ad6695ca482276bacf0b4e
Author:    Anatol Belski <[email protected]>         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');
                }


--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to