1// $Id$ 2// vim:ft=javascript 3 4ARG_WITH("pdo-oci", "Oracle OCI support for PDO", "no"); 5 6if (PHP_PDO_OCI != "no") { 7 8 pdo_oci_dirs = new Array( 9 PHP_PDO_OCI, 10 PHP_PDO_OCI + "\\oci", 11 PHP_PHP_BUILD + "\\instantclient10_*\\sdk", 12 PHP_PHP_BUILD + "\\oci92" 13 ); 14 15 pdo_oci_lib_paths = ""; 16 pdo_oci_inc_paths = ""; 17 18 // find the oracle install 19 for (i = 0; i < pdo_oci_dirs.length; i++) { 20 pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib;"; 21 pdo_oci_lib_paths += pdo_oci_dirs[i] + "\\lib\\msvc;"; 22 pdo_oci_inc_paths += pdo_oci_dirs[i] + "\\include;"; 23 } 24 25 pdo_oci_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;" 26 pdo_oci_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;"; 27 28 pdo_oci_header = CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_PDO_OCI", pdo_oci_inc_paths, null, null, true); 29 30 if (pdo_oci_header && CHECK_LIB("oci.lib", "pdo_oci", pdo_oci_lib_paths)) { 31 32 pdo_oci_inc_dir = FSO.GetParentFolderName(pdo_oci_header); 33 34 EXTENSION('pdo_oci', 'pdo_oci.c oci_driver.c oci_statement.c'); 35 36 /* probe for some functions not present in older versions */ 37 pdo_oci_inc_dir = FSO.GetFolder(pdo_oci_header); 38 CHECK_FUNC_IN_HEADER('oci.h', 'OCIEnvCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); 39 CHECK_FUNC_IN_HEADER('ociap.h', 'OCIStmtFetch2', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); 40 CHECK_FUNC_IN_HEADER('ociap.h', 'OCIEnvNlsCreate', pdo_oci_inc_dir, 'CFLAGS_PDO_OCI'); 41 42 } else { 43 WARNING("pdo-oci not enabled; libraries and headers not found"); 44 } 45 ADD_EXTENSION_DEP('pdo_oci', 'pdo'); 46} 47