summaryrefslogtreecommitdiff
path: root/ext/pdo_oci/config.w32
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-01-20 03:33:17 +0000
committerWez Furlong <wez@php.net>2005-01-20 03:33:17 +0000
commit84aa9020159ad124b0fc658ede5734038d9b6ae5 (patch)
treeda157d3a0965a062715485145a22c88a7ad42fcb /ext/pdo_oci/config.w32
parent9fe37737f96ba9368aa0de47540a624c56a35ad2 (diff)
downloadphp-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-xext/pdo_oci/config.w3268
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');
+}
+