secGear/0058-refactor-cmake-SDK_PATH.patch
2023-04-27 15:46:58 +08:00

314 lines
13 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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