// vim:ft=javascript
ARG_ENABLE("phar", "disable phar support", "yes");
-ARG_ENABLE("phar-ssl", "enable phar with native OpenSSL support", "no");
+ARG_ENABLE("phar-native-ssl", "enable phar with native OpenSSL support", "no");
-if (PHP_PHAR_SSL != "no") {
- PHP_PHAR = PHP_PHAR_SSL;
- PHP_PHAR_SHARED = PHP_PHAR_SSL_SHARED;
+if (PHP_PHAR_NATIVE_SSL != "no") {
+ PHP_PHAR = PHP_PHAR_NATIVE_SSL;
+ PHP_PHAR_SHARED = PHP_PHAR_NATIVE_SSL_SHARED;
}
if (PHP_PHAR != "no") {
if (PHP_PHAR_SHARED) {
ADD_FLAG("CFLAGS_PHAR", "/D COMPILE_DL_PHAR ");
}
- if (PHP_PHAR_SSL != "no") {
- ADD_FLAG("LIBS_PHAR", "libeay32.lib");
- AC_DEFINE('PHAR_HAVE_OPENSSL', 1);
+ if (PHP_PHAR_NATIVE_SSL != "no") {
+ if (CHECK_LIB("libeay32st.lib", "phar")) {
+ /* We don't really need GDI for this, but there's no
+ way to avoid linking it in the static openssl build */
+ ADD_FLAG("LIBS_PHAR", "libeay32st.lib gdi32.lib");
+ if (PHP_DEBUG == "no") {
+ /* Silence irrelevant-to-us warning in release builds */
+ ADD_FLAG("LDFLAGS_PHAR", "/IGNORE:4089 ");
+ }
+ AC_DEFINE('PHAR_HAVE_OPENSSL', 1);
+ STDOUT.WriteLine(' Native OpenSSL support in Phar enabled');
+ } else {
+ WARNING('Could not enable native OpenSSL support in Phar');
+ }
+ } else {
+ /* If ext/openssl is built-in we can at least use the API directly */
+ if (PHP_OPENSSL != "no" && !PHP_OPENSSL_SHARED) {
+ AC_DEFINE('PHAR_HAVE_OPENSSL', 1);
+ }
}
ADD_EXTENSION_DEP('phar', 'spl', true);
}