Switch windows openssl binaries to ones generated by vcpkg.

This commit is contained in:
Josh Matthews 2019-05-31 12:47:13 -04:00
parent 5e461853a1
commit 3162c9a1d7
3 changed files with 16 additions and 8 deletions

View file

@ -617,15 +617,14 @@ class MachCommands(CommandBase):
if sys.platform == "win32": if sys.platform == "win32":
servo_exe_dir = path.join(base_path, "debug" if dev else "release") servo_exe_dir = path.join(base_path, "debug" if dev else "release")
msvc_x64 = "64" if "x86_64" in (target or host_triple()) else ""
# on msvc builds, use editbin to change the subsystem to windows, but only # on msvc builds, use editbin to change the subsystem to windows, but only
# on release builds -- on debug builds, it hides log output # on release builds -- on debug builds, it hides log output
if not dev: if not dev:
call(["editbin", "/nologo", "/subsystem:windows", path.join(servo_exe_dir, "servo.exe")], call(["editbin", "/nologo", "/subsystem:windows", path.join(servo_exe_dir, "servo.exe")],
verbose=verbose) verbose=verbose)
# on msvc, we need to copy in some DLLs in to the servo.exe dir # on msvc, we need to copy in some DLLs in to the servo.exe dir
for ssl_lib in ["libcryptoMD.dll", "libsslMD.dll"]: for ssl_lib in ["libeay32.dll", "ssleay32.dll"]:
shutil.copy(path.join(env['OPENSSL_LIB_DIR'], "../bin" + msvc_x64, ssl_lib), shutil.copy(path.join(env['OPENSSL_LIB_DIR'], "../bin", ssl_lib),
servo_exe_dir) servo_exe_dir)
# Search for the generated nspr4.dll # Search for the generated nspr4.dll
build_path = path.join(servo_exe_dir, "build") build_path = path.join(servo_exe_dir, "build")
@ -647,6 +646,7 @@ class MachCommands(CommandBase):
package_generated_shared_libraries(["nspr4.dll", "libEGL.dll"], build_path, servo_exe_dir) package_generated_shared_libraries(["nspr4.dll", "libEGL.dll"], build_path, servo_exe_dir)
# copy needed gstreamer DLLs in to servo.exe dir # copy needed gstreamer DLLs in to servo.exe dir
msvc_x64 = "64" if "x86_64" in (target or host_triple()) else ""
gst_x64 = "X86_64" if msvc_x64 == "64" else "X86" gst_x64 = "X86_64" if msvc_x64 == "64" else "X86"
gst_root = "" gst_root = ""
gst_default_path = path.join("C:\\gstreamer\\1.0", gst_x64) gst_default_path = path.join("C:\\gstreamer\\1.0", gst_x64)

View file

@ -584,7 +584,6 @@ install them, let us know by filing a bug!")
extra_path = [] extra_path = []
extra_lib = [] extra_lib = []
if "msvc" in (target or host_triple()): if "msvc" in (target or host_triple()):
msvc_x64 = "64" if "x86_64" in (target or host_triple()) else ""
msvc_deps_dir = path.join(self.context.sharedir, "msvc-dependencies") msvc_deps_dir = path.join(self.context.sharedir, "msvc-dependencies")
def package_dir(package): def package_dir(package):
@ -593,10 +592,19 @@ install them, let us know by filing a bug!")
extra_path += [path.join(package_dir("cmake"), "bin")] extra_path += [path.join(package_dir("cmake"), "bin")]
extra_path += [path.join(package_dir("llvm"), "bin")] extra_path += [path.join(package_dir("llvm"), "bin")]
extra_path += [path.join(package_dir("ninja"), "bin")] extra_path += [path.join(package_dir("ninja"), "bin")]
arch = (target or host_triple()).split('-')[0]
vcpkg_arch = {
"x86_64": "x64-windows",
"i686": "x86-windows",
"aarch64": "arm64-windows",
}
openssl_base_dir = path.join(package_dir("openssl"), vcpkg_arch[arch])
# Link openssl # Link openssl
env["OPENSSL_INCLUDE_DIR"] = path.join(package_dir("openssl"), "include") env["OPENSSL_INCLUDE_DIR"] = path.join(openssl_base_dir, "include")
env["OPENSSL_LIB_DIR"] = path.join(package_dir("openssl"), "lib" + msvc_x64) env["OPENSSL_LIB_DIR"] = path.join(openssl_base_dir, "lib")
env["OPENSSL_LIBS"] = "libsslMD:libcryptoMD" env["OPENSSL_LIBS"] = "libeay32:ssleay32"
# Link moztools, used for building SpiderMonkey # Link moztools, used for building SpiderMonkey
env["MOZTOOLS_PATH"] = os.pathsep.join([ env["MOZTOOLS_PATH"] = os.pathsep.join([
path.join(package_dir("moztools"), "bin"), path.join(package_dir("moztools"), "bin"),

View file

@ -7,5 +7,5 @@ WINDOWS_MSVC = {
"llvm": "7.0.0", "llvm": "7.0.0",
"moztools": "3.2", "moztools": "3.2",
"ninja": "1.7.1", "ninja": "1.7.1",
"openssl": "1.1.0e-vs2015", "openssl": "1.0.2q-vs2017",
} }