Commit:    d4a11b526fe22a8672a766d704dc557fdab887c2
Author:    Anatol Belski <[email protected]>         Thu, 19 Sep 2013 20:28:34 +0200
Parents:   174cc59a480867683aac40267fa9cacf4d80ef60
Branches:  master

Link:       
http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=d4a11b526fe22a8672a766d704dc557fdab887c2

Log:
fixes to ext name trick with config.w32

Changed paths:
  M  client/data/config/pecl/exts.ini
  M  client/include/PeclExt.php
  M  client/script/pecl.php


Diff:
diff --git a/client/data/config/pecl/exts.ini b/client/data/config/pecl/exts.ini
index 17b6152..f94e203 100644
--- a/client/data/config/pecl/exts.ini
+++ b/client/data/config/pecl/exts.ini
@@ -26,6 +26,8 @@
 ; libs[]=    - library dependencies array
 ; exts[]=    - extension dependencies array
 ; opts[]=    - additional configure options dependency array
+; no_conf=   - ignore the main config option, like --enable-myext. Useful to 
override it with opts[]=.
+;              Value is ignored, just set it.
 ;
 
 [ssh2]
@@ -258,20 +260,24 @@ exts[]=
 opts[]=
 
 [oci8-x86]
+real_name=oci8_12c
 type=with
 libs[]=
 exts[]=
 ;opts[]=--with-oci8=C:\pecl-dep-libs\oracle\x86\instantclient_10_2\sdk,shared
 
;opts[]=--with-oci8-11g=C:\pecl-dep-libs\oracle\x86\instantclient_11_2\sdk,shared
 
opts[]=--with-oci8-12c=C:\pecl-dep-libs\oracle\x86\instantclient_12_1\sdk,shared
+no_conf=1
 
 [oci8-x64]
+real_name=oci8_12c
 type=with
 libs[]=
 exts[]=
 ;opts[]=--with-oci8=C:\pecl-dep-libs\oracle\x64\instantclient_10_2\sdk,shared
 
;opts[]=--with-oci8-11g=C:\pecl-dep-libs\oracle\x64\instantclient_11_2\sdk,shared
 
opts[]=--with-oci8-12c=C:\pecl-dep-libs\oracle\x64\instantclient_12_1\sdk,shared
+no_conf=1
 
 [fann]
 type=with
@@ -336,3 +342,15 @@ libs[]=
 exts[]=
 opts[]=
 
+[couchbase]
+type=with
+libs[]=libcouchbase
+exts[]=
+opts[]=
+
+[perl]
+type=with
+libs[]=perl
+exts[]=
+opts[]=
+
diff --git a/client/include/PeclExt.php b/client/include/PeclExt.php
index d47e932..b000f9d 100644
--- a/client/include/PeclExt.php
+++ b/client/include/PeclExt.php
@@ -23,6 +23,7 @@ class PeclExt
        protected $package_xml = NULL;
        protected $configure_data = NULL;
        protected $non_core_ext_deps = array();
+       protected $pkg_config = NULL;
 
        public function __construct($pkg_path, $build)
        {
@@ -92,8 +93,10 @@ class PeclExt
                           That's currently the case with zendopcache vs 
opcache and pecl_http vs. http. */
                        if (isset($config['real_name']) && $this->name != 
$config['real_name']) {
                                $new_path = dirname($this->tmp_extract_path) . 
'/' . $config['real_name'] . '-' . $this->version;
+
+                               rmdir_rf($new_path);
                                if (!rename($this->tmp_extract_path, 
$new_path)) {
-                                       throw new Exception('Package name 
conflict, different names in package.xml and config.w32. Tried to solve but 
failed.');
+                                       throw new \Exception('Package name 
conflict, different names in package.xml and config.w32. Tried to solve but 
failed.');
                                }
 
                                $this->tmp_extract_path = $new_path;
@@ -261,6 +264,8 @@ class PeclExt
                        $data['opts'] = array();
                }
 
+               $ignore_main_opt = $ignore_main_opt || isset($data['no_conf']);
+
                if (!$ignore_main_opt) {
                        $ret .=  ' "' . $main_opt . '=shared" ';
                }
@@ -366,6 +371,10 @@ if (!function_exists('rmtools\combinations')) {
        {
                $config = NULL;
 
+               if ($this->pkg_config) {
+                       return $this->pkg_config;
+               }
+
                $known_path = __DIR__ . '/../data/config/pecl/exts.ini';
                $exts = parse_ini_file($known_path, true, INI_SCANNER_RAW);
 
@@ -386,6 +395,8 @@ if (!function_exists('rmtools\combinations')) {
                        }
                }
 
+               $this->pkg_config = $config;
+
                return $config;
        }
 
diff --git a/client/script/pecl.php b/client/script/pecl.php
index f412df6..974be97 100644
--- a/client/script/pecl.php
+++ b/client/script/pecl.php
@@ -170,7 +170,7 @@ foreach ($builds as $build_name) {
                        $build->configure($ext_conf_line);
                }
 
-               if (!preg_match(',^\|\s+' . $ext->getName() . 
'\s+\|\s+shared\s+\|,Sm', $build->log_configure)) {
+               if (!preg_match(',^\|\s+' . preg_quote($ext->getName()) . 
'\s+\|\s+shared\s+\|,Sm', $build->log_configure)) {
                        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