mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 10:55:46 +01:00
3rdparty: Add additional build facilities for 3rd-party code
This commit is contained in:
parent
405b371a84
commit
6ea2dea1c5
13
3rdparty/CMakeLists.txt
vendored
13
3rdparty/CMakeLists.txt
vendored
@ -1,6 +1,11 @@
|
|||||||
|
list (APPEND thirdparty_src)
|
||||||
|
list (APPEND thirdparty_lib)
|
||||||
|
list (APPEND thirdparty_inc)
|
||||||
|
list (APPEND thirdparty_def)
|
||||||
|
|
||||||
add_subdirectory(everest)
|
add_subdirectory(everest)
|
||||||
|
|
||||||
set(src_thirdparty
|
set(thirdparty_src ${thirdparty_src} PARENT_SCOPE)
|
||||||
${src_everest}
|
set(thirdparty_lib ${thirdparty_lib} PARENT_SCOPE)
|
||||||
PARENT_SCOPE
|
set(thirdparty_inc ${thirdparty_inc} PARENT_SCOPE)
|
||||||
)
|
set(thirdparty_def ${thirdparty_def} PARENT_SCOPE)
|
||||||
|
38
3rdparty/everest/CMakeLists.txt
vendored
38
3rdparty/everest/CMakeLists.txt
vendored
@ -1,10 +1,40 @@
|
|||||||
include_directories(include include/everest include/everest/kremlib)
|
list (APPEND everest_src)
|
||||||
|
list (APPEND everest_inc)
|
||||||
|
list (APPEND everest_def)
|
||||||
|
|
||||||
set(src_everest
|
execute_process(COMMAND ${PERL_EXECUTABLE} scripts/config.pl -f include/mbedtls/config.h get MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED RESULT_VARIABLE result)
|
||||||
|
|
||||||
|
if(${result} EQUAL 0)
|
||||||
|
set(everest_src
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/library/everest.c
|
${CMAKE_CURRENT_SOURCE_DIR}/library/everest.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/library/Hacl_Curve25519.c
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/library/x25519.c
|
${CMAKE_CURRENT_SOURCE_DIR}/library/x25519.c
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
|
${CMAKE_CURRENT_SOURCE_DIR}/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
|
||||||
PARENT_SCOPE
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-linux-gnu")
|
||||||
|
list(APPEND everest_src ${CMAKE_CURRENT_SOURCE_DIR}/library/Hacl_Curve25519.c)
|
||||||
|
else()
|
||||||
|
list(APPEND everest_def -DKRML_VERIFIED_UINT128)
|
||||||
|
list(APPEND everest_src
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/library/legacy/Hacl_Curve25519.c
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/library/kremlib/FStar_UInt128_extracted.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND everest_inc ${CMAKE_CURRENT_SOURCE_DIR}/../../include ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include/everest ${CMAKE_CURRENT_SOURCE_DIR}/include/everest/kremlib)
|
||||||
|
|
||||||
|
if(INSTALL_MBEDTLS_HEADERS)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE headers "${CMAKE_CURRENT_SOURCE_DIR}/include/everest/*.h")
|
||||||
|
|
||||||
|
install(FILES ${headers}
|
||||||
|
DESTINATION include/everest
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||||
|
|
||||||
|
endif(INSTALL_MBEDTLS_HEADERS)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(thirdparty_src ${thirdparty_src} ${everest_src} PARENT_SCOPE)
|
||||||
|
set(thirdparty_inc ${thirdparty_inc} ${everest_inc} PARENT_SCOPE)
|
||||||
|
set(thirdparty_def ${thirdparty_def} ${everest_def} PARENT_SCOPE)
|
||||||
|
13
3rdparty/everest/Makefile.inc
vendored
13
3rdparty/everest/Makefile.inc
vendored
@ -1,7 +1,18 @@
|
|||||||
|
EVEREST_ENABLED=$(shell perl ../scripts/config.pl -f ../include/mbedtls/config.h get MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED; echo $$?)
|
||||||
|
|
||||||
|
ifeq ($(EVEREST_ENABLED),0)
|
||||||
THIRDPARTY_INCLUDES+=-I../3rdparty/everest/include -I../3rdparty/everest/include/everest -I../3rdparty/everest/include/everest/kremlib
|
THIRDPARTY_INCLUDES+=-I../3rdparty/everest/include -I../3rdparty/everest/include/everest -I../3rdparty/everest/include/everest/kremlib
|
||||||
|
|
||||||
THIRDPARTY_OBJECTS+= \
|
THIRDPARTY_OBJECTS+= \
|
||||||
../3rdparty/everest/library/everest.o \
|
../3rdparty/everest/library/everest.o \
|
||||||
../3rdparty/everest/library/Hacl_Curve25519.o \
|
|
||||||
../3rdparty/everest/library/x25519.o \
|
../3rdparty/everest/library/x25519.o \
|
||||||
../3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.o
|
../3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.o
|
||||||
|
|
||||||
|
ifeq ($(shell getconf LONG_BIT),64)
|
||||||
|
THIRDPARTY_OBJECTS+=../3rdparty/everest/library/Hacl_Curve25519.o
|
||||||
|
else
|
||||||
|
CFLAGS+="-DKRML_VERIFIED_UINT128"
|
||||||
|
THIRDPARTY_OBJECTS+=../3rdparty/everest/library/legacy/Hacl_Curve25519.o \
|
||||||
|
../3rdparty/everest/library/kremlib/FStar_UInt128_extracted.o
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
@ -176,10 +176,14 @@ else()
|
|||||||
set(LIB_INSTALL_DIR lib)
|
set(LIB_INSTALL_DIR lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(include/ 3rdparty/everest/include/ 3rdparty/everest/include/everest/ 3rdparty/everest/include/everest/kremlin/ 3rdparty/everest/include/everest/kremlib/)
|
include_directories(include/)
|
||||||
include_directories(library/)
|
include_directories(library/)
|
||||||
|
|
||||||
add_subdirectory(3rdparty)
|
add_subdirectory(3rdparty)
|
||||||
|
include_directories(${thirdparty_inc})
|
||||||
|
list(APPEND libs ${thirdparty_lib})
|
||||||
|
add_definitions(${thirdparty_def})
|
||||||
|
|
||||||
add_subdirectory(library)
|
add_subdirectory(library)
|
||||||
add_subdirectory(include)
|
add_subdirectory(include)
|
||||||
|
|
||||||
|
@ -4,9 +4,8 @@ if(INSTALL_MBEDTLS_HEADERS)
|
|||||||
|
|
||||||
file(GLOB headers "mbedtls/*.h")
|
file(GLOB headers "mbedtls/*.h")
|
||||||
file(GLOB psa_headers "psa/*.h")
|
file(GLOB psa_headers "psa/*.h")
|
||||||
file(GLOB everest_headers "../3rdparty/everest/include/*.h")
|
|
||||||
|
|
||||||
install(FILES ${headers} ${everest_headers}
|
install(FILES ${headers}
|
||||||
DESTINATION include/mbedtls
|
DESTINATION include/mbedtls
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
||||||
|
|
||||||
|
@ -74,7 +74,6 @@ set(src_crypto
|
|||||||
threading.c
|
threading.c
|
||||||
timing.c
|
timing.c
|
||||||
xtea.c
|
xtea.c
|
||||||
${src_thirdparty}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# For files generated by the parent project (Mbed TLS) when building Mbed
|
# For files generated by the parent project (Mbed TLS) when building Mbed
|
||||||
@ -95,6 +94,8 @@ set(src_crypto
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
list(APPEND src_crypto ${thirdparty_src})
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wmissing-prototypes")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations -Wmissing-prototypes")
|
||||||
endif(CMAKE_COMPILER_IS_GNUCC)
|
endif(CMAKE_COMPILER_IS_GNUCC)
|
||||||
|
@ -11,7 +11,8 @@ LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64
|
|||||||
LOCAL_LDFLAGS = -L../library \
|
LOCAL_LDFLAGS = -L../library \
|
||||||
-lmbedcrypto$(SHARED_SUFFIX)
|
-lmbedcrypto$(SHARED_SUFFIX)
|
||||||
|
|
||||||
LOCAL_CFLAGS+=-I../3rdparty/everest/include
|
include ../3rdparty/Makefile.inc
|
||||||
|
LOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
|
||||||
|
|
||||||
ifndef SHARED
|
ifndef SHARED
|
||||||
DEP=../library/libmbedcrypto.a
|
DEP=../library/libmbedcrypto.a
|
||||||
|
@ -23,7 +23,7 @@ my $mbedtls_header_dir = 'include/mbedtls';
|
|||||||
my $psa_header_dir = 'include/psa';
|
my $psa_header_dir = 'include/psa';
|
||||||
my $source_dir = 'library';
|
my $source_dir = 'library';
|
||||||
my $everest_header_dir = '3rdparty/everest/include/everest';
|
my $everest_header_dir = '3rdparty/everest/include/everest';
|
||||||
my @everest_source_dirs = ('3rdparty/everest/library', '3rdparty/everest/library/kremlib', '3rdparty/everest/library/vs2010');
|
my @everest_source_dirs = ('3rdparty/everest/library', '3rdparty/everest/library/kremlib', '3rdparty/everest/library/legacy');
|
||||||
|
|
||||||
# Need windows line endings!
|
# Need windows line endings!
|
||||||
my $vsx_hdr_tpl = <<EOT;
|
my $vsx_hdr_tpl = <<EOT;
|
||||||
|
@ -10,7 +10,8 @@ LOCAL_CFLAGS = $(WARNING_CFLAGS) $(CRYPTO_INCLUDES) -I../library -D_FILE_OFFSET_
|
|||||||
LOCAL_LDFLAGS = -L../library \
|
LOCAL_LDFLAGS = -L../library \
|
||||||
-lmbedcrypto$(SHARED_SUFFIX)
|
-lmbedcrypto$(SHARED_SUFFIX)
|
||||||
|
|
||||||
LOCAL_CFLAGS+=-I../3rdparty/everest/include
|
include ../3rdparty/Makefile.inc
|
||||||
|
LOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES)
|
||||||
|
|
||||||
# Enable definition of various functions used throughout the testsuite
|
# Enable definition of various functions used throughout the testsuite
|
||||||
# (gethostname, strdup, fileno...) even when compiling with -std=c99. Harmless
|
# (gethostname, strdup, fileno...) even when compiling with -std=c99. Harmless
|
||||||
|
@ -304,7 +304,7 @@
|
|||||||
<ClCompile Include="..\..\3rdparty\everest\library\x25519.c" />
|
<ClCompile Include="..\..\3rdparty\everest\library\x25519.c" />
|
||||||
<ClCompile Include="..\..\3rdparty\everest\library\kremlib\FStar_UInt128_extracted.c" />
|
<ClCompile Include="..\..\3rdparty\everest\library\kremlib\FStar_UInt128_extracted.c" />
|
||||||
<ClCompile Include="..\..\3rdparty\everest\library\kremlib\FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c" />
|
<ClCompile Include="..\..\3rdparty\everest\library\kremlib\FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c" />
|
||||||
<ClCompile Include="..\..\3rdparty\everest\library\vs2010\Hacl_Curve25519.c" />
|
<ClCompile Include="..\..\3rdparty\everest\library\legacy\Hacl_Curve25519.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
Loading…
Reference in New Issue
Block a user