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