diff options
author | Wez Furlong <wez@php.net> | 2005-01-20 03:33:17 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-01-20 03:33:17 +0000 |
commit | 84aa9020159ad124b0fc658ede5734038d9b6ae5 (patch) | |
tree | da157d3a0965a062715485145a22c88a7ad42fcb /ext/pdo_oci/config.w32 | |
parent | 9fe37737f96ba9368aa0de47540a624c56a35ad2 (diff) | |
download | php-git-84aa9020159ad124b0fc658ede5734038d9b6ae5.tar.gz |
Generate pdo_oci.dll for modern SDKs and pdo_oci8.dll for ye-olde oci805 libs.
I'm told that oci805 is required for connectivity to oci805 servers, which are
no longer supported in more recent SDK releases.
Edin: please grab:
http://download.oracle.com/otn/nt/instantclient/instantclient-basic-win32-10.1.0.3-20050113.zip
http://download.oracle.com/otn/nt/instantclient/instantclient-sdk-win32-10.1.0.3-20050113.zip
and extract them under php_build, so that you end up with php_build/instantclient10_1
Diffstat (limited to 'ext/pdo_oci/config.w32')
-rwxr-xr-x | ext/pdo_oci/config.w32 | 68 |
1 files changed, 54 insertions, 14 deletions
diff --git a/ext/pdo_oci/config.w32 b/ext/pdo_oci/config.w32 index a1d3a25a30..1f951b0de9 100755 --- a/ext/pdo_oci/config.w32 +++ b/ext/pdo_oci/config.w32 @@ -5,35 +5,37 @@ ARG_WITH("pdo-oci", "Oracle OCI support for PDO", "no"); if (PHP_PDO_OCI != "no") { - php_oci_dirs = new Array( + pdo_oci_dirs = new Array( PHP_PDO_OCI, PHP_PDO_OCI + "\\oci", - PHP_PHP_BUILD + "\\oci92", - PHP_PHP_BUILD + "\\oci805" + PHP_PHP_BUILD + "\\instantclient10_*\\sdk", + PHP_PHP_BUILD + "\\oci92" ); - php_oci_lib_paths = ""; - php_oci_inc_paths = ""; + pdo_oci_lib_paths = ""; + pdo_oci_inc_paths = ""; // find the oracle install - for (i = 0; i < php_oci_dirs.length; i++) { - php_oci_lib_paths += php_oci_dirs[i] + "\\lib;"; - php_oci_lib_paths += php_oci_dirs[i] + "\\lib\\msvc;"; - php_oci_inc_paths += php_oci_dirs[i] + "\\include;"; + for (i = 0; i < pdo_oci_dirs.length; i++) { + pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;"; + pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;"; + pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;"; } - pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI", php_oci_inc_paths); + pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI", pdo_oci_inc_paths, null, null, true); + + if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci", pdo_oci_lib_paths)) { - if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci", php_oci_lib_paths)) { + pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header); EXTENSION('pdo_oci', 'pdo_oci.c oci_driver.c oci_statement.c'); ADD_FLAG('CFLAGS_PDO_OCI', "/I ..\\pecl"); /* probe for some functions not present in older versions */ pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header); - CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir); - CHECK_FUNC_IN_HEADER('oci.h', 'OCIStmtFetch2', pdo_oci_inc_dir); - CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir); + CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); + CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); + CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); } else { WARNING("pdo-oci not enabled; libraries and headers not found"); @@ -41,3 +43,41 @@ if (PHP_PDO_OCI != "no") { ADD_EXTENSION_DEP('pdo_oci', 'pdo'); } +ARG_WITH("pdo-oci8", "Oracle OCI 8 (only) support for PDO", "no"); + +if (PHP_PDO_OCI8 != "no") { + pdo_oci_dirs = new Array( + PHP_PDO_OCI, + PHP_PHP_BUILD + "\\oci805" + ); + + pdo_oci_lib_paths = ""; + pdo_oci_inc_paths = ""; + + // find the oracle install + for (i = 0; i < pdo_oci_dirs.length; i++) { + pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;"; + pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;"; + pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;"; + } + + pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI8", pdo_oci_inc_paths, null, null, true); + + if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci8", pdo_oci_lib_paths)) { + pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header); + + EXTENSION('pdo_oci8', 'pdo_oci.c oci_driver.c oci_statement.c', null, null, null, "ext\\pdo_oci8"); + ADD_FLAG('CFLAGS_PDO_OCI8', "/I ..\\pecl"); + + /* probe for some functions not present in older versions */ + pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header); + CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8'); + CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8'); + CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI8'); + + } else { + WARNING("pdo-oci8 not enabled; libraries and headers not found"); + } + ADD_EXTENSION_DEP('pdo_oci8', 'pdo'); +} + |