This is an automated email from the ASF dual-hosted git repository.
mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git
The following commit(s) were added to refs/heads/master by this push:
new 983d890 Integrate teaclave_client_sdk to the build system (#475)
983d890 is described below
commit 983d89058718cf6ddcfa458017d863fe503bad04
Author: Mingshen Sun <[email protected]>
AuthorDate: Fri Jan 29 13:33:35 2021 -0800
Integrate teaclave_client_sdk to the build system (#475)
---
CMakeLists.txt | 9 ++++++---
cmake/TeaclaveUtils.cmake | 9 +++++----
cmake/tomls/Cargo.unix_app.toml | 3 ++-
docs/build-system.md | 8 ++++++++
sdk/c/cbindgen.toml | 2 +-
sdk/rust/Cargo.toml | 2 +-
6 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7a9f7ad..8b8ec62 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -220,9 +220,12 @@ foreach(_i RANGE ${SGX_LIB_LAST_INDEX})
${_edl_lib_name})
endforeach()
-# Teaclave C SDK add_cargo_build_dylib_target(teaclave_sdk_c TARGET_NAME
-# "${UNIXLIB_PREFIX}-teaclave_sdk_c" TOML_DIR ${MT_UNIX_TOML_DIR} TARGET_DIR
-# ${UNIX_TARGET_DIR} DEPENDS prep )
+# Dylib/staticlib of Teaclave Rust Client SDK
+add_cargo_build_dylib_staticlib_target(teaclave_client_sdk
+ TARGET_NAME "teaclave_client_sdk"
+ TOML_DIR ${MT_UNIX_TOML_DIR}
+ TARGET_DIR ${UNIX_TARGET_DIR}
+ DEPENDS prep )
# example/quickstart_c link_directories(${TEACLAVE_LIB_INSTALL_DIR})
# add_executable(quickstart_c
diff --git a/cmake/TeaclaveUtils.cmake b/cmake/TeaclaveUtils.cmake
index 75b12a0..8271dd8 100644
--- a/cmake/TeaclaveUtils.cmake
+++ b/cmake/TeaclaveUtils.cmake
@@ -124,7 +124,7 @@ endfunction()
# add_cargo_build_dylib_target(package_name [TARGET_NAME target_name] #
default to
# cg_${package_name} TOML_DIR toml_dir TARGET_DIR target_dir [DEPENDS [dep]...]
# [NOT_SET_COMMON_ENV] [EXTRA_CARGO_FLAGS flg...] )
-function(add_cargo_build_dylib_target package_name)
+function(add_cargo_build_dylib_staticlib_target package_name)
set(options NOT_SET_COMMON_ENV)
set(oneValueArgs TARGET_NAME TOML_DIR TARGET_DIR)
set(multiValueArgs DEPENDS EXTRA_CARGO_FLAGS)
@@ -154,10 +154,11 @@ function(add_cargo_build_dylib_target package_name)
COMMAND
${CMAKE_COMMAND} -E env ${_envs} RUSTFLAGS=${RUSTFLAGS}
${MT_SCRIPT_DIR}/cargo_build_ex.sh -p ${package_name} --target-dir
- ${MTEE_TARGET_DIR} ${CARGO_BUILD_FLAGS} ${MTEE_EXTRA_CARGO_FLAGS} && cp
- ${MTEE_TARGET_DIR}/${TARGET}/lib${package_name}.so
+ ${MTEE_TARGET_DIR} ${CARGO_BUILD_FLAGS} ${MTEE_EXTRA_CARGO_FLAGS} &&
+ cp ${MTEE_TARGET_DIR}/${TARGET}/lib${package_name}.so
+ ${MTEE_TARGET_DIR}/${TARGET}/lib${package_name}.a
${TEACLAVE_LIB_INSTALL_DIR} ${_depends}
- COMMENT "Building ${_target_name} as a dynamic library"
+ COMMENT "Building ${_target_name} as dynamic and static libraries"
WORKING_DIRECTORY ${MTEE_TOML_DIR})
endfunction()
diff --git a/cmake/tomls/Cargo.unix_app.toml b/cmake/tomls/Cargo.unix_app.toml
index 03990cc..4429e92 100644
--- a/cmake/tomls/Cargo.unix_app.toml
+++ b/cmake/tomls/Cargo.unix_app.toml
@@ -5,7 +5,8 @@
# annotation suffix
members = [
"dcap",
- "cli"
+ "cli",
+ "sdk/rust", # ignore
]
exclude = [
diff --git a/docs/build-system.md b/docs/build-system.md
index 23060be..08e18d4 100644
--- a/docs/build-system.md
+++ b/docs/build-system.md
@@ -93,6 +93,14 @@ These targets are automatically generated from the
`storage_service`, `execution_service`, `frontend_service`,
`management_service`, `scheduler_service`, etc.
+### Client SDK
+
+Build Teaclave client SDK and install the compiled dynamic/static libraries to
+the release folder.
+
+- `teaclave_client_sdk`: Build the client SDK to both dynamic and static
+ libraries.
+
### Bin
- `teaclave_cli`: Build the Teclave command line tool.
diff --git a/sdk/c/cbindgen.toml b/sdk/c/cbindgen.toml
index dfbe67a..fc17d27 100644
--- a/sdk/c/cbindgen.toml
+++ b/sdk/c/cbindgen.toml
@@ -29,4 +29,4 @@ autogen_warning = """/* DO NOT MODIFY THIS MANUALLY! This
file was generated usi
*/"""
[parse.expand]
-crates = ["teaclave-client-sdk"]
+crates = ["teaclave_client_sdk"]
diff --git a/sdk/rust/Cargo.toml b/sdk/rust/Cargo.toml
index a195685..f8c7811 100644
--- a/sdk/rust/Cargo.toml
+++ b/sdk/rust/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "teaclave-client-sdk"
+name = "teaclave_client_sdk"
version = "0.1.0"
authors = ["Teaclave Contributors <[email protected]>"]
description = "Teaclave Rust Client SDK"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]