314 lines
13 KiB
Diff
314 lines
13 KiB
Diff
From bcf1843aaf765af18577c82ce0ef964e30527c48 Mon Sep 17 00:00:00 2001
|
||
From: houmingyong <houmingyong@huawei.com>
|
||
Date: Thu, 27 Apr 2023 15:39:31 +0800
|
||
Subject: [PATCH 1/2] refactor cmake SDK_PATH
|
||
|
||
---
|
||
CMakeLists.txt | 40 ++++++-------------
|
||
README.en.md | 12 +++---
|
||
README.md | 2 +-
|
||
.../secure_channel/enclave/CMakeLists.txt | 8 ++--
|
||
component/secure_channel/host/CMakeLists.txt | 4 +-
|
||
docs/build_install.md | 2 +-
|
||
src/enclave_src/gp/itrustee/CMakeLists.txt | 4 +-
|
||
src/enclave_src/sgx/CMakeLists.txt | 2 +-
|
||
src/host_src/CMakeLists.txt | 2 +-
|
||
src/host_src/gp/CMakeLists.txt | 2 +-
|
||
src/host_src/sgx/CMakeLists.txt | 10 ++---
|
||
11 files changed, 36 insertions(+), 52 deletions(-)
|
||
|
||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
index d881595..9c3c25b 100644
|
||
--- a/CMakeLists.txt
|
||
+++ b/CMakeLists.txt
|
||
@@ -38,8 +38,6 @@ set(SGX_SDK_DEFAULT_PATH /opt/intel/sgxsdk)
|
||
set(GP_SDK_DEFAULT_PATH /opt/itrustee_sdk)
|
||
set(PL_SDK_DEFAULT_PATH /root/dev/sdk)
|
||
|
||
-set(SSL_PATH /opt/intel/sgxssl)
|
||
-
|
||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
||
add_definitions(-DDEBUG_FILE_LINE)
|
||
endif()
|
||
@@ -50,41 +48,27 @@ set(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack")
|
||
|
||
if(${ENCLAVE} STREQUAL "GP")
|
||
if (NOT DEFINED SDK_PATH)
|
||
- set(iTrusteeSDK ${GP_SDK_DEFAULT_PATH})
|
||
- else()
|
||
- set(iTrusteeSDK ${SDK_PATH})
|
||
+ set(SDK_PATH ${GP_SDK_DEFAULT_PATH})
|
||
endif()
|
||
- message("Current Platform: ARM Trustzone, iTrustee SDK PATH:${iTrusteeSDK}")
|
||
- if(NOT IS_DIRECTORY ${iTrusteeSDK})
|
||
- message(FATAL_ERROR "Please provide the correct iTrusteeSDK path")
|
||
+ message("Current Platform: ARM Trustzone, iTrustee SDK PATH:${SDK_PATH}")
|
||
+ if(NOT IS_DIRECTORY ${SDK_PATH})
|
||
+ message(FATAL_ERROR "Please provide the correct SDK_PATH path")
|
||
endif()
|
||
set(CC_GP ON)
|
||
endif()
|
||
|
||
if(${ENCLAVE} STREQUAL "SGX")
|
||
if (NOT DEFINED SDK_PATH)
|
||
- set(SGXSDK ${SGX_SDK_DEFAULT_PATH})
|
||
- else()
|
||
- set(SGXSDK ${SDK_PATH})
|
||
+ set(SDK_PATH ${SGX_SDK_DEFAULT_PATH})
|
||
endif()
|
||
- message("Current Platform: Intel SGX, SGX SDK PATH:${SGXSDK}")
|
||
- if(NOT IS_DIRECTORY ${SGXSDK})
|
||
- message(FATAL_ERROR "Please provide the correct SGXSDK path")
|
||
+ message("Current Platform: Intel SGX, SGX SDK PATH:${SDK_PATH}")
|
||
+ if(NOT IS_DIRECTORY ${SDK_PATH})
|
||
+ message(FATAL_ERROR "Please provide the correct SDK_PATH path")
|
||
endif()
|
||
- set(CC_SGX ON)
|
||
-endif()
|
||
-
|
||
-if(${ENCLAVE} STREQUAL "PL")
|
||
- if (NOT DEFINED SDK_PATH)
|
||
- set(PLSDK ${PL_SDK_DEFAULT_PATH})
|
||
- else()
|
||
- set(PLSDK ${SDK_PATH})
|
||
- endif()
|
||
- message("Current Platform: RISC-V, Penglai SDK PATH:${PLSDK}")
|
||
- if(NOT IS_DIRECTORY ${PLSDK})
|
||
- message(FATAL_ERROR "Please provide the correct Penglai SDK path")
|
||
+ if (NOT DEFINED SSL_PATH)
|
||
+ set(SSL_PATH /opt/intel/sgxssl)
|
||
endif()
|
||
- set(CC_PL ON)
|
||
+ set(CC_SGX ON)
|
||
endif()
|
||
|
||
add_subdirectory(tools/codegener)
|
||
@@ -96,7 +80,7 @@ if(NOT IS_DIRECTORY ${LOCAL_ROOT_PATH}/bin)
|
||
execute_process(COMMAND mkdir ${LOCAL_ROOT_PATH}/bin)
|
||
endif()
|
||
|
||
-add_subdirectory(examples)
|
||
+#add_subdirectory(examples)
|
||
|
||
|
||
install(FILES ${LOCAL_ROOT_PATH}/conf/logrotate.d/secgear
|
||
diff --git a/README.en.md b/README.en.md
|
||
index ec7ada0..85258a9 100644
|
||
--- a/README.en.md
|
||
+++ b/README.en.md
|
||
@@ -144,7 +144,7 @@ Set some variables, which are described in comments.
|
||
set(AUTO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_u.h ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_u.c)
|
||
add_custom_command(OUTPUT ${AUTO_FILES}
|
||
DEPENDS ${CURRENT_ROOT_PATH}/${EDL_FILE}
|
||
- COMMAND ${CODEGEN} --${CODETYPE} --untrusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SGXSDK}/include)
|
||
+ COMMAND ${CODEGEN} --${CODETYPE} --untrusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SDK_PATH}/include)
|
||
endif()
|
||
|
||
Use the code generation tool to generate auxiliary code based on the edl. Variables such as CODEGEN and CODETYPE are
|
||
@@ -275,7 +275,7 @@ generate auxiliary code.
|
||
set(AUTO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_t.h ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_t.c)
|
||
add_custom_command(OUTPUT ${AUTO_FILES}
|
||
DEPENDS ${CURRENT_ROOT_PATH}/${EDL_FILE}
|
||
- COMMAND ${CODEGEN} --${CODETYPE} --trusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SGXSDK}/include)
|
||
+ COMMAND ${CODEGEN} --${CODETYPE} --trusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SDK_PATH}/include)
|
||
endif()
|
||
|
||
In the case of sgx, set the name of the security side image after the final signature, and generate auxiliary code.
|
||
@@ -298,8 +298,8 @@ so -nostdinc -nodefaultlibs -nostdlib -nodefaultlibs compile link options was in
|
||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -s -fPIC")
|
||
set(CMAKE_SHARED_LINKER_FLAGS "${COMMON_C_LINK_FLAGS} -Wl,-s")
|
||
|
||
- set(ITRUSTEE_TEEDIR ${iTrusteeSDK}/)
|
||
- set(ITRUSTEE_LIBC ${iTrusteeSDK}/thirdparty/open_source/musl/libc)
|
||
+ set(ITRUSTEE_TEEDIR ${SDK_PATH}/)
|
||
+ set(ITRUSTEE_LIBC ${SDK_PATH}/thirdparty/open_source/musl/libc)
|
||
|
||
if(${CMAKE_VERSION} VERSION_LESS "3.13.0")
|
||
link_directories(${SECGEAR_INSTALL_PATH})
|
||
@@ -353,7 +353,7 @@ whitelist macro. Next, you need to link to the secgear_tee library, in which the
|
||
random numbers, seal, unseal, etc. The last step is to sign and install.
|
||
|
||
if(CC_SGX)
|
||
- set(SGX_DIR ${SGXSDK})
|
||
+ set(SGX_DIR ${SDK_PATH})
|
||
set(CMAKE_C_FLAGS "${COMMON_C_FLAGS} -m64 -fvisibility=hidden")
|
||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -s")
|
||
set(LINK_LIBRARY_PATH ${SGX_DIR}/lib64)
|
||
@@ -426,7 +426,7 @@ and the other configuration items can refer to the itrustee development document
|
||
|
||
Enter the development directory .../secGear/examples/test/, then run mkdir debug && cd debug
|
||
&& cmake -DCMAKE_BUILD_TYPE=Debug -DCC_SGX=ON -DSGXSDK=sgx_sdk path .. && make && sudo make install OR
|
||
-mkdir debug && cd debug && cmake -DCMAKE_BUILD_TYPE=Debug -DCC_GP=ON -DiTrusteeSDK=gp_sdk path .. && make
|
||
+mkdir debug && cd debug && cmake -DCMAKE_BUILD_TYPE=Debug -DCC_GP=ON -DSDK_PATH=gp_sdk path .. && make
|
||
&& sudo make install
|
||
|
||
Log
|
||
diff --git a/README.md b/README.md
|
||
index 6fd6848..ca256ad 100644
|
||
--- a/README.md
|
||
+++ b/README.md
|
||
@@ -122,7 +122,7 @@ Helloworld样例的编译工程已经集成codegen的调用,如下。
|
||
set(AUTO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_u.h ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_u.c)
|
||
add_custom_command(OUTPUT ${AUTO_FILES}
|
||
DEPENDS ${CURRENT_ROOT_PATH}/${EDL_FILE}
|
||
- COMMAND ${CODEGEN} --${CODETYPE} --untrusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SGXSDK}/include)
|
||
+ COMMAND ${CODEGEN} --${CODETYPE} --untrusted ${CURRENT_ROOT_PATH}/${EDL_FILE} --search-path ${LOCAL_ROOT_PATH}/inc/host_inc/sgx --search-path ${SDK_PATH}/include)
|
||
endif()
|
||
```
|
||
|
||
diff --git a/component/secure_channel/enclave/CMakeLists.txt b/component/secure_channel/enclave/CMakeLists.txt
|
||
index 8963b5c..0305589 100644
|
||
--- a/component/secure_channel/enclave/CMakeLists.txt
|
||
+++ b/component/secure_channel/enclave/CMakeLists.txt
|
||
@@ -27,7 +27,7 @@ endif()
|
||
if(CC_SGX)
|
||
add_definitions(-DSGX_ENCLAVE)
|
||
#sgxsdk path
|
||
- set(SGX_SDK_PATH ${SGXSDK})
|
||
+ set(SGX_SDK_PATH ${SDK_PATH})
|
||
set(AUTO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_t.h)
|
||
add_custom_command(OUTPUT ${AUTO_FILES}
|
||
DEPENDS ${EDL_FILE}
|
||
@@ -48,9 +48,9 @@ if(CC_GP)
|
||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -fPIC")
|
||
set(CMAKE_SHARED_LINKER_FLAGS "${COMMON_C_LINK_FLAGS} -Wl,-s")
|
||
|
||
- set(ITRUSTEE_TEEDIR ${iTrusteeSDK}/)
|
||
- # set(ITRUSTEE_LIBC ${iTrusteeSDK}/thirdparty/musl/musl-1.2.0/)
|
||
- set(ITRUSTEE_LIBC ${iTrusteeSDK}/thirdparty/open_source/musl/libc)
|
||
+ set(ITRUSTEE_TEEDIR ${SDK_PATH}/)
|
||
+ # set(ITRUSTEE_LIBC ${SDK_PATH}/thirdparty/musl/musl-1.2.0/)
|
||
+ set(ITRUSTEE_LIBC ${SDK_PATH}/thirdparty/open_source/musl/libc)
|
||
|
||
if(${CMAKE_VERSION} VERSION_LESS "3.13.0")
|
||
link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_BINARY_DIR}/lib/)
|
||
diff --git a/component/secure_channel/host/CMakeLists.txt b/component/secure_channel/host/CMakeLists.txt
|
||
index 8c4e21b..5c60b3f 100644
|
||
--- a/component/secure_channel/host/CMakeLists.txt
|
||
+++ b/component/secure_channel/host/CMakeLists.txt
|
||
@@ -23,7 +23,7 @@ endif()
|
||
|
||
if(CC_SGX)
|
||
#sgxsdk path
|
||
- set(SGX_SDK_PATH ${SGXSDK})
|
||
+ set(SGX_SDK_PATH ${SDK_PATH})
|
||
set(AUTO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_u.h)
|
||
add_custom_command(OUTPUT ${AUTO_FILES}
|
||
DEPENDS ${EDL_FILE}
|
||
@@ -46,7 +46,7 @@ if(CC_GP)
|
||
${CMAKE_CURRENT_SOURCE_DIR}
|
||
${CMAKE_BINARY_DIR}/inc
|
||
${LOCAL_ROOT_PATH}/component/secure_channel
|
||
- ${iTrusteeSDK}/include/CA
|
||
+ ${SDK_PATH}/include/CA
|
||
${LOCAL_ROOT_PATH}/inc/host_inc
|
||
${LOCAL_ROOT_PATH}/inc/host_inc/gp)
|
||
add_library(u${PREFIX} SHARED ${SOURCE_FILE} ${AUTO_FILES})
|
||
diff --git a/docs/build_install.md b/docs/build_install.md
|
||
index 760ceaa..87ff424 100644
|
||
--- a/docs/build_install.md
|
||
+++ b/docs/build_install.md
|
||
@@ -30,6 +30,6 @@ openEuler arm
|
||
Run ./opam-2.0.7-arm64-linux install dune
|
||
|
||
3. source environment && mkdir debug && cd debug
|
||
- && cmake -DCMAKE_BUILD_TYPE=Debug -DCC_GP=ON -DiTrusteeSDK="iTrustee sdk path" .. && make && sudo make install
|
||
+ && cmake -DCMAKE_BUILD_TYPE=Debug -DCC_GP=ON -DSDK_PATH="iTrustee sdk path" .. && make && sudo make install
|
||
|
||
|
||
diff --git a/src/enclave_src/gp/itrustee/CMakeLists.txt b/src/enclave_src/gp/itrustee/CMakeLists.txt
|
||
index 3424907..14b3c64 100644
|
||
--- a/src/enclave_src/gp/itrustee/CMakeLists.txt
|
||
+++ b/src/enclave_src/gp/itrustee/CMakeLists.txt
|
||
@@ -16,8 +16,8 @@ set(COMMON_C_LINK_FLAGS "-Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Wl,-nostdli
|
||
set(SOURCE_FILES ${SOURCE_FILES} ../gp.c ../gp_ocall.c itrustee_seal_data.c error_conversion.c bottom_memory_check.c
|
||
itrustee_random.c itrustee_tswitchless.c itrustee_shared_memory.c)
|
||
|
||
-set(ITRUSTEE_TEEDIR ${iTrusteeSDK}/)
|
||
-set(ITRUSTEE_LIBC ${iTrusteeSDK}/thirdparty/open_source/musl/libc)
|
||
+set(ITRUSTEE_TEEDIR ${SDK_PATH}/)
|
||
+set(ITRUSTEE_LIBC ${SDK_PATH}/thirdparty/open_source/musl/libc)
|
||
|
||
if (CMAKE_COMPILER_IS_GNUCC)
|
||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpfullversion -dumpversion
|
||
diff --git a/src/enclave_src/sgx/CMakeLists.txt b/src/enclave_src/sgx/CMakeLists.txt
|
||
index 5d5a0c1..dbc6a59 100644
|
||
--- a/src/enclave_src/sgx/CMakeLists.txt
|
||
+++ b/src/enclave_src/sgx/CMakeLists.txt
|
||
@@ -10,7 +10,7 @@
|
||
|
||
set(SOURCE_FILES ${SOURCE_FILES} sgx_seal_data.c bottom_memory_check.c error_conversion.c sgx_random.c)
|
||
|
||
-set(SGX_DIR ${SGXSDK})
|
||
+set(SGX_DIR ${SDK_PATH})
|
||
|
||
set(CMAKE_C_FLAGS "${COMMON_C_FLAGS} -m64 -fPIC")
|
||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS}")
|
||
diff --git a/src/host_src/CMakeLists.txt b/src/host_src/CMakeLists.txt
|
||
index bfc49b0..fa08b25 100644
|
||
--- a/src/host_src/CMakeLists.txt
|
||
+++ b/src/host_src/CMakeLists.txt
|
||
@@ -17,7 +17,7 @@ include_directories(${LOCAL_ROOT_PATH}/inc/host_inc
|
||
${LOCAL_ROOT_PATH}/inc/host_inc/gp
|
||
${LOCAL_ROOT_PATH}/inc/common_inc
|
||
${LOCAL_ROOT_PATH}/inc/common_inc/gp
|
||
- ${iTrusteeSDK}/include/CA)
|
||
+ ${SDK_PATH}/include/CA)
|
||
|
||
if(CC_GP)
|
||
add_subdirectory(gp)
|
||
diff --git a/src/host_src/gp/CMakeLists.txt b/src/host_src/gp/CMakeLists.txt
|
||
index 510e46e..15da5d4 100644
|
||
--- a/src/host_src/gp/CMakeLists.txt
|
||
+++ b/src/host_src/gp/CMakeLists.txt
|
||
@@ -23,7 +23,7 @@ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS}")
|
||
add_library(${gp_engine} SHARED gp_enclave.h gp_enclave.c gp_uswitchless.c gp_shared_memory.c)
|
||
|
||
target_include_directories(${gp_engine} PRIVATE
|
||
- ${iTrusteeSDK}/include/CA
|
||
+ ${SDK_PATH}/include/CA
|
||
${LOCAL_ROOT_PATH}/inc/common_inc
|
||
${LOCAL_ROOT_PATH}/inc/common_inc/gp
|
||
${LOCAL_ROOT_PATH}/inc/host_inc/gp)
|
||
diff --git a/src/host_src/sgx/CMakeLists.txt b/src/host_src/sgx/CMakeLists.txt
|
||
index 301b07c..0480a4c 100644
|
||
--- a/src/host_src/sgx/CMakeLists.txt
|
||
+++ b/src/host_src/sgx/CMakeLists.txt
|
||
@@ -13,7 +13,7 @@ set(sgxsim_engine sgxsim_0)
|
||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/sgx)
|
||
|
||
if(${CMAKE_VERSION} VERSION_LESS "3.13.0")
|
||
- link_directories(${SGXSDK}/lib64
|
||
+ link_directories(${SDK_PATH}/lib64
|
||
${CMAKE_BINARY_DIR}/lib)
|
||
endif()
|
||
|
||
@@ -21,20 +21,20 @@ add_library(${sgx_engine} SHARED sgx_enclave.c sgx_enclave.h sgx_shared_memory.
|
||
add_library(${sgxsim_engine} SHARED sgx_enclave.c sgx_enclave.h sgx_shared_memory.c)
|
||
|
||
target_include_directories(${sgx_engine} PRIVATE
|
||
- ${SGXSDK}/include)
|
||
+ ${SDK_PATH}/include)
|
||
|
||
target_include_directories(${sgxsim_engine} PRIVATE
|
||
- ${SGXSDK}/include)
|
||
+ ${SDK_PATH}/include)
|
||
|
||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
|
||
target_link_directories(${sgx_engine} PRIVATE
|
||
- ${SGXSDK}/lib64
|
||
+ ${SDK_PATH}/lib64
|
||
${CMAKE_BINARY_DIR}/lib)
|
||
endif()
|
||
|
||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
|
||
target_link_directories(${sgxsim_engine} PRIVATE
|
||
- ${SGXSDK}/lib64
|
||
+ ${SDK_PATH}/lib64
|
||
${CMAKE_BINARY_DIR}/lib)
|
||
endif()
|
||
|
||
--
|
||
2.33.0
|
||
|