From: Anatol Belski Date: Sat, 7 Jan 2017 23:39:53 +0000 (+0100) Subject: Merge branch 'PHP-7.1' X-Git-Tag: php-7.2.0alpha1~592 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97ac819c2b73ae57a971b6d0f719cd8b349ec098;p=php Merge branch 'PHP-7.1' * PHP-7.1: move various places to the centralized OpenSSL setup routine use the new API for opaque symbol in OpenSSL 1.1.x implement basic config support for OpenSSL 1.1.x --- 97ac819c2b73ae57a971b6d0f719cd8b349ec098 diff --cc win32/build/confutils.js index 780d9127ca,841fa293df..be6fb62d48 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@@ -3290,31 -3264,25 +3290,53 @@@ function force_all_shared( return !!PHP_ALL_SHARED && "yes" == PHP_ALL_SHARED; } +function ADD_MAKEFILE_FRAGMENT(src_file) +{ + var fn_in; + + if ("undefined" == typeof(src_file)) { + fn_in = configure_module_dirname + "\\Makefile.frag.w32"; + } else { + fn_in = src_file; + } + + if (FSO.FileExists(fn_in)) { + var h_in, h_out; + var create_out_fl = !FSO.FileExists(PHP_MAKEFILE_FRAGMENTS); + var open_flags = create_out_fl ? 2 : 8; + + h_in = FSO.OpenTextFile(fn_in, 1); + h_out = FSO.OpenTextFile(PHP_MAKEFILE_FRAGMENTS, open_flags, create_out_fl); + + if (!h_in.AtEndOfStream) { + h_out.Write(h_in.ReadAll()); + h_out.WriteBlankLines(1); + } + + h_in.Close(); + h_out.Close(); + } +} + + function SETUP_OPENSSL(target, path_to_check, common_name, use_env, add_dir_part, add_to_flag_only) + { + var ret = 0; + var cflags_var = "CFLAGS_" + target.toUpperCase(); + + if (CHECK_LIB("ssleay32.lib", target, path_to_check, common_name) && + CHECK_LIB("libeay32.lib", target, path_to_check, common_name) && + CHECK_LIB("crypt32.lib", target, path_to_check, common_name) && + CHECK_HEADER_ADD_INCLUDE("openssl/ssl.h", cflags_var, path_to_check, use_env, add_dir_part, add_to_flag_only)) { + /* Openssl 1.0.x and lower */ + return 1; + } else if (CHECK_LIB("libcrypto.lib", target, path_to_check) && + CHECK_LIB("libssl.lib", target, path_to_check) && + CHECK_LIB("crypt32.lib", target, path_to_check, common_name) && + CHECK_HEADER_ADD_INCLUDE("openssl/ssl.h", cflags_var, path_to_check, use_env, add_dir_part, add_to_flag_only)) { + /* Openssl 1.1.x */ + return 2; + } + + return ret; + } +