xref: /PHP-7.4/ext/oci8/config.w32 (revision 2cca43b3)
1// vim:ft=javascript
2
3if (PHP_OCI8 != "no" && PHP_OCI8_11G != "no") {
4	if (!PHP_OCI8_SHARED && !PHP_OCI8_11G_SHARED) {
5		WARNING("oci8 and oci8-11g provide the same extension and cannot both be built statically");
6		PHP_OCI8 = "no"
7	}
8}
9
10if (PHP_OCI8 != "no" && PHP_OCI8_12C != "no") {
11	if (!PHP_OCI8_SHARED && !PHP_OCI8_12C_SHARED) {
12		WARNING("oci8 and oci8-12c provide the same extension and cannot both be built statically");
13		PHP_OCI8 = "no"
14	}
15}
16
17if (PHP_OCI8_11G != "no" && PHP_OCI8_12C != "no") {
18	if (!PHP_OCI8_11G_SHARED && !PHP_OCI8_12C_SHARED) {
19		WARNING("oci8-11g and oci8-12c provide the same extension and cannot both be built statically");
20		PHP_OCI8_11G = "no"
21	}
22}
23
24ARG_WITH("oci8", "OCI8 support", "no");
25
26if (PHP_OCI8 != "no") {
27
28	oci8_dirs = new Array(
29		PHP_OCI8
30	);
31
32	oci8_lib_paths = "";
33	oci8_inc_paths = "";
34
35	// find the Oracle install
36	for (i = 0; i < oci8_dirs.length; i++) {
37		oci8_lib_paths += oci8_dirs[i] + "\\lib;";
38		oci8_lib_paths += oci8_dirs[i] + "\\lib\\msvc;";
39		oci8_inc_paths += oci8_dirs[i] + "\\include;";
40	}
41
42	oci8_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient;"
43	oci8_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient;";
44
45	if (CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_OCI8", oci8_inc_paths) &&
46			CHECK_LIB("oci.lib", "oci8", oci8_lib_paths))
47	{
48		EXTENSION('oci8', 'oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c');
49
50		AC_DEFINE('HAVE_OCI8', 1);
51		AC_DEFINE('HAVE_OCI_INSTANT_CLIENT', 1);
52
53	} else {
54		WARNING("oci8 not enabled: Oracle Database client libraries or Oracle 10g Instant Client not found");
55		PHP_OCI8 = "no"
56	}
57}
58
59ARG_WITH("oci8-11g", "OCI8 support using Oracle 11g Instant Client", "no");
60
61if (PHP_OCI8_11G != "no") {
62
63	oci8_11g_dirs = new Array(
64		PHP_OCI8_11G
65	);
66
67	oci8_11g_lib_paths = "";
68	oci8_11g_inc_paths = "";
69
70	// find the Oracle install
71	for (i = 0; i < oci8_11g_dirs.length; i++) {
72		oci8_11g_lib_paths += oci8_11g_dirs[i] + "\\lib;";
73		oci8_11g_lib_paths += oci8_11g_dirs[i] + "\\lib\\msvc;";
74		oci8_11g_inc_paths += oci8_11g_dirs[i] + "\\include;";
75	}
76
77	oci8_11g_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient_11;"
78	oci8_11g_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient_11;";
79
80	if (CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_OCI8_11G", oci8_11g_inc_paths) &&
81			CHECK_LIB("oci.lib", "oci8_11g", oci8_11g_lib_paths))
82	{
83		EXTENSION('oci8_11g', 'oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c', null, null, null, "ext\\oci8_11g")
84
85		AC_DEFINE('HAVE_OCI8', 1);
86		AC_DEFINE('HAVE_OCI_INSTANT_CLIENT', 1);
87
88	} else {
89		WARNING("oci8-11g not enabled: Oracle Database client libraries or Oracle 11g Instant Client not found");
90		PHP_OCI8_11G = "no"
91	}
92}
93
94ARG_WITH("oci8-12c", "OCI8 support using Oracle Database 12c Instant Client", "no");
95
96if (PHP_OCI8_12C != "no") {
97
98	oci8_12c_dirs = new Array(
99		PHP_OCI8_12C
100	);
101
102	oci8_12c_lib_paths = "";
103	oci8_12c_inc_paths = "";
104
105	// find the Oracle install
106	for (i = 0; i < oci8_12c_dirs.length; i++) {
107		oci8_12c_lib_paths += oci8_12c_dirs[i] + "\\lib;";
108		oci8_12c_lib_paths += oci8_12c_dirs[i] + "\\lib\\msvc;";
109		oci8_12c_inc_paths += oci8_12c_dirs[i] + "\\include;";
110	}
111
112	oci8_12c_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient_12;"
113	oci8_12c_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient_12;";
114
115	if (CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_OCI8_12C", oci8_12c_inc_paths) &&
116			CHECK_LIB("oci.lib", "oci8_12c", oci8_12c_lib_paths))
117	{
118		EXTENSION('oci8_12c', 'oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c', null, null, null, "ext\\oci8_12c")
119
120		AC_DEFINE('HAVE_OCI8', 1);
121		AC_DEFINE('HAVE_OCI_INSTANT_CLIENT', 1);
122	} else {
123		WARNING("oci8-12c not enabled: Oracle Database client libraries or Oracle Database 12c Instant Client not found");
124		PHP_OCI8_12C = "no"
125	}
126}
127