summaryrefslogtreecommitdiff
path: root/ext/oci8/config.w32
diff options
context:
space:
mode:
Diffstat (limited to 'ext/oci8/config.w32')
-rw-r--r--ext/oci8/config.w3255
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/oci8/config.w32 b/ext/oci8/config.w32
index 6ac80aa986..5f0da8f33d 100644
--- a/ext/oci8/config.w32
+++ b/ext/oci8/config.w32
@@ -21,6 +21,27 @@ if (PHP_OCI8_11G != "no" && PHP_OCI8_12C != "no") {
}
}
+if (PHP_OCI8 != "no" && PHP_OCI8_19 != "no") {
+ if (!PHP_OCI8_SHARED && !PHP_OCI8_19_SHARED) {
+ WARNING("oci8 and oci8-19 provide the same extension and cannot both be built statically");
+ PHP_OCI8 = "no"
+ }
+}
+
+if (PHP_OCI8_11G != "no" && PHP_OCI8_19 != "no") {
+ if (!PHP_OCI8_11G_SHARED && !PHP_OCI8_19_SHARED) {
+ WARNING("oci8-11g and oci8-19 provide the same extension and cannot both be built statically");
+ PHP_OCI8_11G = "no"
+ }
+}
+
+if (PHP_OCI8_12C != "no" && PHP_OCI8_19 != "no") {
+ if (!PHP_OCI8_12C_SHARED && !PHP_OCI8_19_SHARED) {
+ WARNING("oci8-12c and oci8-19 provide the same extension and cannot both be built statically");
+ PHP_OCI8_12C = "no"
+ }
+}
+
ARG_WITH("oci8", "OCI8 support", "no");
if (PHP_OCI8 != "no") {
@@ -124,3 +145,37 @@ if (PHP_OCI8_12C != "no") {
PHP_OCI8_12C = "no"
}
}
+
+ARG_WITH("oci8-19", "OCI8 support using Oracle Database 19 Instant Client", "no");
+
+if (PHP_OCI8_19 != "no") {
+
+ oci8_19_dirs = new Array(
+ PHP_OCI8_19
+ );
+
+ oci8_19_lib_paths = "";
+ oci8_19_inc_paths = "";
+
+ // find the Oracle install
+ for (i = 0; i < oci8_19_dirs.length; i++) {
+ oci8_19_lib_paths += oci8_19_dirs[i] + "\\lib;";
+ oci8_19_lib_paths += oci8_19_dirs[i] + "\\lib\\msvc;";
+ oci8_19_inc_paths += oci8_19_dirs[i] + "\\include;";
+ }
+
+ oci8_19_inc_paths += PHP_PHP_BUILD + "\\include\\instantclient_12;"
+ oci8_19_lib_paths += PHP_PHP_BUILD + "\\lib\\instantclient_12;";
+
+ if (CHECK_HEADER_ADD_INCLUDE("oci.h", "CFLAGS_OCI8_19", oci8_19_inc_paths) &&
+ CHECK_LIB("oci.lib", "oci8_19", oci8_19_lib_paths))
+ {
+ EXTENSION('oci8_19', 'oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c', null, null, null, "ext\\oci8_19")
+
+ AC_DEFINE('HAVE_OCI8', 1);
+ AC_DEFINE('HAVE_OCI_INSTANT_CLIENT', 1);
+ } else {
+ WARNING("oci8-19 not enabled: Oracle Database client libraries or Oracle Database 19 Instant Client not found");
+ PHP_OCI8_19 = "no"
+ }
+}