diff options
Diffstat (limited to 'third_party/boringssl')
-rw-r--r-- | third_party/boringssl/add_boringssl_s390x.patch | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/third_party/boringssl/add_boringssl_s390x.patch b/third_party/boringssl/add_boringssl_s390x.patch index 0b41a4aa96..9a34a59a1d 100644 --- a/third_party/boringssl/add_boringssl_s390x.patch +++ b/third_party/boringssl/add_boringssl_s390x.patch @@ -11,3 +11,123 @@ index 7a3adfb..88012ad 100644 #else #error "Unknown target CPU" #endif +diff --git a/BUILD b/BUILD +index 6b645e61..c90b7beb 100644 +--- a/BUILD ++++ b/BUILD +@@ -40,29 +40,46 @@ config_setting( + values = {"cpu": "darwin"}, + ) + +-boringssl_copts = [ +- # Assembler option --noexecstack adds .note.GNU-stack to each object to +- # ensure that binaries can be built with non-executable stack. +- "-Wa,--noexecstack", +- +- # This is needed on Linux systems (at least) to get rwlock in pthread. +- "-D_XOPEN_SOURCE=700", +- +- # This list of warnings should match those in the top-level CMakeLists.txt. +- "-Wall", +- "-Werror", +- "-Wformat=2", +- "-Wsign-compare", +- "-Wmissing-field-initializers", +- "-Wwrite-strings", +- "-Wshadow", +- "-fno-common", +- +- # Modern build environments should be able to set this to use atomic +- # operations for reference counting rather than locks. However, it's +- # known not to work on some Android builds. +- # "-DOPENSSL_C11_ATOMIC", +-] + select({ ++config_setting( ++ name = "windows", ++ values = {"cpu": "x64_windows"}, ++ visibility = ["//visibility:public"], ++) ++ ++config_setting( ++ name = "windows_msvc", ++ values = {"cpu": "x64_windows_msvc"}, ++ visibility = ["//visibility:public"], ++) ++ ++boringssl_copts = select({ ++ ":windows": [ ++ "-DWIN32_LEAN_AND_MEAN", ++ ], ++ "//conditions:default": [ ++ # Assembler option --noexecstack adds .note.GNU-stack to each object to ++ # ensure that binaries can be built with non-executable stack. ++ "-Wa,--noexecstack", ++ ++ # This is needed on Linux systems (at least) to get rwlock in pthread. ++ "-D_XOPEN_SOURCE=700", ++ ++ # This list of warnings should match those in the top-level CMakeLists.txt. ++ "-Wall", ++ "-Werror", ++ "-Wformat=2", ++ "-Wsign-compare", ++ "-Wmissing-field-initializers", ++ "-Wwrite-strings", ++ "-Wshadow", ++ "-fno-common", ++ ++ # Modern build environments should be able to set this to use atomic ++ # operations for reference counting rather than locks. However, it's ++ # known not to work on some Android builds. ++ # "-DOPENSSL_C11_ATOMIC", ++ ], ++}) + select({ + ":linux_x86_64": [], + ":mac_x86_64": [], + "//conditions:default": ["-DOPENSSL_NO_ASM"], +@@ -75,18 +92,26 @@ crypto_sources_asm = select({ + }) + + # For C targets only (not C++), compile with C11 support. +-boringssl_copts_c11 = boringssl_copts + [ +- "-std=c11", +- "-Wmissing-prototypes", +- "-Wold-style-definition", +- "-Wstrict-prototypes", +-] ++boringssl_copts_c11 = boringssl_copts + select({ ++ ":windows": [], ++ ":windows_msvc": [], ++ "//conditions:default": [ ++ "-std=c11", ++ "-Wmissing-prototypes", ++ "-Wold-style-definition", ++ "-Wstrict-prototypes", ++ ], ++}) + + # For C targets only (not C++), compile with C11 support. +-boringssl_copts_cxx = boringssl_copts + [ +- "-std=c++11", +- "-Wmissing-declarations", +-] ++boringssl_copts_cxx = boringssl_copts + select({ ++ ":windows": [], ++ ":windows_msvc": [], ++ "//conditions:default": [ ++ "-std=c++11", ++ "-Wmissing-declarations", ++ ], ++}) + + cc_library( + name = "crypto", +@@ -96,6 +121,8 @@ cc_library( + includes = ["src/include"], + linkopts = select({ + ":mac_x86_64": [], ++ ":windows": [], ++ ":windows_msvc": [], + "//conditions:default": ["-lpthread"], + }), + visibility = ["//visibility:public"], |