xref: /PHP-7.1/ext/pdo_oci/config.w32 (revision 7f6387b5)
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