From 67a733cd316638b31b5771f61e3b7f1d11f731f9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 7 Oct 2019 23:02:44 +0300 Subject: Release version 1.1.1+5 Adapt for building with Clang on Windows --- libcrypto/build/root.build | 8 +++++--- libcrypto/libcrypto/buildfile | 15 ++++++++------- libcrypto/manifest | 2 +- libcrypto/tests/build/root.build | 6 ++++++ 4 files changed, 20 insertions(+), 11 deletions(-) (limited to 'libcrypto') diff --git a/libcrypto/build/root.build b/libcrypto/build/root.build index f93eb56..0b6d720 100644 --- a/libcrypto/build/root.build +++ b/libcrypto/build/root.build @@ -9,6 +9,8 @@ using c h{*}: extension = h c{*}: extension = c -# The test target for cross-testing (running tests under Wine, etc). -# -test.target = $c.target +if ($c.target.system == 'win32-msvc') + c.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + +if ($c.class == 'msvc') + c.coptions += /wd4251 /wd4275 /wd4800 diff --git a/libcrypto/libcrypto/buildfile b/libcrypto/libcrypto/buildfile index 34c62bc..2c81156 100644 --- a/libcrypto/libcrypto/buildfile +++ b/libcrypto/libcrypto/buildfile @@ -33,6 +33,8 @@ linux = ($tclass == 'linux') bsd = ($tclass == 'bsd') windows = ($tclass == 'windows') +msvc_runtime = ($c.target.system == 'win32-msvc') + gcc = ($c.class == 'gcc') msvc = ($c.class == 'msvc') mingw = ($c.target.system == 'mingw32') @@ -74,13 +76,12 @@ else # particular, we don't pass -DOPENSSL_USE_APPLINK preprocessor option no # compile uplink.c and auto-generated uplink-x86_64.asm. # - if $msvc - { + if $msvc_runtime c.poptions += -DOPENSSL_SYS_WIN32 -D_CRT_SECURE_NO_DEPRECATE \ -D_WINSOCK_DEPRECATED_NO_WARNINGS + if $msvc c.coptions += /Gs0 /GF /Gy - } else c.poptions += -D_MT } @@ -212,11 +213,11 @@ else if $mingw libs{crypto}: c.loptions += -Wl,--enable-auto-image-base - c.libs += $regex.apply(ws2_32 gdi32 crypt32, \ - '(.+)', \ - $msvc ? '\1.lib' : '-l\1') + c.libs += $regex.apply(ws2_32 gdi32 crypt32, \ + '(.+)', \ + $msvc_runtime ? '\1.lib' : '-l\1') - if $msvc + if $msvc_runtime { # Suppress the 'object file does not define any public symbols' warning. # diff --git a/libcrypto/manifest b/libcrypto/manifest index 31ecdb7..df73bd4 100644 --- a/libcrypto/manifest +++ b/libcrypto/manifest @@ -3,7 +3,7 @@ name: libcrypto # Note: remember to update doc-url below! # -version: 1.1.1+4 +version: 1.1.1+5 upstream-version: 1.1.1c project: openssl diff --git a/libcrypto/tests/build/root.build b/libcrypto/tests/build/root.build index 02e2e5d..b14a261 100644 --- a/libcrypto/tests/build/root.build +++ b/libcrypto/tests/build/root.build @@ -7,6 +7,12 @@ using c h{*}: extension = h c{*}: extension = c +if ($c.target.system == 'win32-msvc') + c.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + +if ($c.class == 'msvc') + c.coptions += /wd4251 /wd4275 /wd4800 + # Every exe{} in this subproject is by default a test. # exe{*}: test = true -- cgit v1.1