Use boringssl instead of openssl to implement wasm cache loading (#1804)
This commit is contained in:
41
build-scripts/involve_boringssl.cmake
Normal file
41
build-scripts/involve_boringssl.cmake
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
message(STATUS "involving boringssl...")
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(boringssl
|
||||
PREFIX external/boringssl
|
||||
# follow envoy, which tracks BoringSSL, which tracks Chromium
|
||||
# https://github.com/envoyproxy/envoy/blob/main/bazel/repository_locations.bzl#L112
|
||||
# chromium-105.0.5195.37 (linux/beta)
|
||||
URL https://github.com/google/boringssl/archive/098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz
|
||||
URL_HASH SHA256=e141448cf6f686b6e9695f6b6459293fd602c8d51efe118a83106752cf7e1280
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP NEW
|
||||
# SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../external/boringssl
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/src/boringssl-build/libssl.a
|
||||
${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/
|
||||
&& ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/src/boringssl-build/libcrypto.a
|
||||
${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/
|
||||
&& ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/src/boringssl/src/include/openssl
|
||||
${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/openssl
|
||||
)
|
||||
|
||||
add_library(boringssl_ssl STATIC IMPORTED GLOBAL)
|
||||
set_target_properties(
|
||||
boringssl_ssl
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/libssl.a
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/
|
||||
)
|
||||
add_dependencies(boringssl_ssl boringssl)
|
||||
|
||||
add_library(boringssl_crypto STATIC IMPORTED GLOBAL)
|
||||
set_target_properties(
|
||||
boringssl_crypto
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/libcrypto.a
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/external/boringssl/
|
||||
)
|
||||
add_dependencies(boringssl_crypto boringssl)
|
||||
@ -27,14 +27,6 @@ if (DEFINED EXTRA_SDK_INCLUDE_PATH)
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Need exactly OpenSSL 1.1.1
|
||||
if (WAMR_BUILD_WASM_CACHE EQUAL 1)
|
||||
# Set OPENSSL_ROOT_DIR to the root directory of an OpenSSL installation.
|
||||
# Like: cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl
|
||||
# Especially on MacOS
|
||||
find_package(OpenSSL 1.1.1 EXACT REQUIRED)
|
||||
endif ()
|
||||
|
||||
# Set default options
|
||||
|
||||
# Set WAMR_BUILD_TARGET, currently values supported:
|
||||
@ -155,6 +147,10 @@ if (WAMR_BUILD_LIB_RATS EQUAL 1)
|
||||
include (${IWASM_DIR}/libraries/lib-rats/lib_rats.cmake)
|
||||
endif ()
|
||||
|
||||
if (WAMR_BUILD_WASM_CACHE EQUAL 1)
|
||||
include (${WAMR_ROOT_DIR}/build-scripts/involve_boringssl.cmake)
|
||||
endif ()
|
||||
|
||||
####################### Common sources #######################
|
||||
if (NOT MSVC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -ffunction-sections -fdata-sections \
|
||||
|
||||
Reference in New Issue
Block a user