|
|
@@ -26,8 +26,7 @@ load( |
|
|
|
"fips_fragments", |
|
|
|
"ssl_headers", |
|
|
|
"ssl_internal_headers", |
|
|
|
"ssl_c_sources", |
|
|
|
"ssl_cc_sources", |
|
|
|
"ssl_sources", |
|
|
|
"tool_sources", |
|
|
|
"tool_headers", |
|
|
|
) |
|
|
@@ -42,7 +41,12 @@ config_setting( |
|
|
|
values = {"cpu": "darwin"}, |
|
|
|
) |
|
|
|
|
|
|
|
boringssl_copts = [ |
|
|
|
config_setting( |
|
|
|
name = "windows_x86_64", |
|
|
|
values = {"cpu": "x64_windows"}, |
|
|
|
) |
|
|
|
|
|
|
|
posix_copts = [ |
|
|
|
# Assembler option --noexecstack adds .note.GNU-stack to each object to |
|
|
|
# ensure that binaries can be built with non-executable stack. |
|
|
|
"-Wa,--noexecstack", |
|
|
@@ -64,9 +68,15 @@ boringssl_copts = [ |
|
|
|
# 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": [], |
|
|
|
] |
|
|
|
|
|
|
|
boringssl_copts = select({ |
|
|
|
":linux_x86_64": posix_copts, |
|
|
|
":mac_x86_64": posix_copts, |
|
|
|
":windows_x86_64": [ |
|
|
|
"-DWIN32_LEAN_AND_MEAN", |
|
|
|
"-DOPENSSL_NO_ASM", |
|
|
|
], |
|
|
|
"//conditions:default": ["-DOPENSSL_NO_ASM"], |
|
|
|
}) |
|
|
|
|
|
|
@@ -77,19 +87,31 @@ crypto_sources_asm = select({ |
|
|
|
}) |
|
|
|
|
|
|
|
# For C targets only (not C++), compile with C11 support. |
|
|
|
boringssl_copts_c11 = boringssl_copts + [ |
|
|
|
posix_copts_c11 = [ |
|
|
|
"-std=c11", |
|
|
|
"-Wmissing-prototypes", |
|
|
|
"-Wold-style-definition", |
|
|
|
"-Wstrict-prototypes", |
|
|
|
] |
|
|
|
|
|
|
|
# For C targets only (not C++), compile with C11 support. |
|
|
|
boringssl_copts_cxx = boringssl_copts + [ |
|
|
|
boringssl_copts_c11 = boringssl_copts + select({ |
|
|
|
":linux_x86_64": posix_copts_c11, |
|
|
|
":mac_x86_64": posix_copts_c11, |
|
|
|
"//conditions:default": [], |
|
|
|
}) |
|
|
|
|
|
|
|
# For C++ targets only (not C), compile with C++11 support. |
|
|
|
posix_copts_cxx = [ |
|
|
|
"-std=c++11", |
|
|
|
"-Wmissing-declarations", |
|
|
|
] |
|
|
|
|
|
|
|
boringssl_copts_cxx = boringssl_copts + select({ |
|
|
|
":linux_x86_64": posix_copts_cxx, |
|
|
|
":mac_x86_64": posix_copts_cxx, |
|
|
|
"//conditions:default": [], |
|
|
|
}) |
|
|
|
|
|
|
|
cc_library( |
|
|
|
name = "crypto", |
|
|
|
srcs = crypto_sources + crypto_internal_headers + crypto_sources_asm, |
|
|
@@ -105,21 +127,14 @@ cc_library( |
|
|
|
|
|
|
|
cc_library( |
|
|
|
name = "ssl", |
|
|
|
srcs = ssl_c_sources + ssl_internal_headers, |
|
|
|
srcs = ssl_sources + ssl_internal_headers, |
|
|
|
hdrs = ssl_headers, |
|
|
|
copts = boringssl_copts_c11, |
|
|
|
copts = boringssl_copts_cxx, |
|
|
|
includes = ["src/include"], |
|
|
|
visibility = ["//visibility:public"], |
|
|
|
deps = [":crypto", ":ssl_cc"], |
|
|
|
) |
|
|
|
|
|
|
|
cc_library( |
|
|
|
name = "ssl_cc", |
|
|
|
srcs = ssl_cc_sources + ssl_internal_headers, |
|
|
|
hdrs = ssl_headers, |
|
|
|
copts = boringssl_copts, |
|
|
|
includes = ["src/include"], |
|
|
|
deps = [":crypto"], |
|
|
|
deps = [ |
|
|
|
":crypto", |
|
|
|
], |
|
|
|
) |
|
|
|
|
|
|
|
cc_binary( |
|
|
|