diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn index fbc4a85c706d4..ddf5c50d610fc 100644 --- a/third_party/boringssl/BUILD.gn +++ b/third_party/boringssl/BUILD.gn @@ -177,3 +177,30 @@ static_library("crypto_full") { configs += [ "//starboard/build/config:speed" ] } } + +if (is_starboard) { + target(final_executable_type, "boringssl_tool") { + testonly = true + sources = [ + "src/tool/args.cc", + "src/tool/ciphers.cc", + "src/tool/const.cc", + "src/tool/digest.cc", + "src/tool/file.cc", + "src/tool/generate_ed25519.cc", + "src/tool/genrsa.cc", + "src/tool/internal.h", + "src/tool/pkcs12.cc", + "src/tool/rand.cc", + "src/tool/sign.cc", + "src/tool/speed.cc", + "src/tool/tool.cc", + "src/tool/transport_common.cc", + "src/tool/transport_common.h", + ] + deps = [ + ":crypto", + "//starboard:starboard_group", + ] + } +} diff --git a/third_party/boringssl/src/tool/tool.cc b/third_party/boringssl/src/tool/tool.cc index 313da33ccf325..d283ce006f93e 100644 --- a/third_party/boringssl/src/tool/tool.cc +++ b/third_party/boringssl/src/tool/tool.cc @@ -21,6 +21,7 @@ #ifdef STARBOARD #include +#define OPENSSL_NO_SOCK // avoid linking errors #endif #if defined(OPENSSL_WINDOWS) diff --git a/third_party/boringssl/src/tool/transport_common.cc b/third_party/boringssl/src/tool/transport_common.cc index 8cc63d7d3bc42..4d3adc0962fa4 100644 --- a/third_party/boringssl/src/tool/transport_common.cc +++ b/third_party/boringssl/src/tool/transport_common.cc @@ -53,7 +53,9 @@ OPENSSL_MSVC_PRAGMA(warning(push, 3)) #include OPENSSL_MSVC_PRAGMA(warning(pop)) +#ifndef STARBOARD typedef int ssize_t; +#endif OPENSSL_MSVC_PRAGMA(comment(lib, "Ws2_32.lib")) #endif @@ -214,7 +216,7 @@ bool Listener::Init(const std::string &port) { // Windows' IN6ADDR_ANY_INIT does not have enough curly braces for clang-cl // (https://crbug.com/772108), while other platforms like NaCl are missing // in6addr_any, so use a mix of both. -#if defined(OPENSSL_WINDOWS) +#if defined(OPENSSL_WINDOWS) && !defined(STARBOARD) addr.sin6_addr = in6addr_any; #else addr.sin6_addr = IN6ADDR_ANY_INIT;