diff options
author | Christoph M. Wintersteiger <cwinter@microsoft.com> | 2019-02-22 17:02:12 +0000 |
---|---|---|
committer | Janos Follath <janos.follath@arm.com> | 2019-08-19 13:37:46 +0100 |
commit | 6e0cac1f577db5042655c11e3562dcc53fb9df55 (patch) | |
tree | e473a454b005caa13a26e10bbb0f10fe34d8f25e /3rdparty | |
parent | 2c69d10bac678d0d86615de3d01b3d5bbb4b8c45 (diff) | |
download | mbedtls-6e0cac1f577db5042655c11e3562dcc53fb9df55.zip mbedtls-6e0cac1f577db5042655c11e3562dcc53fb9df55.tar.gz mbedtls-6e0cac1f577db5042655c11e3562dcc53fb9df55.tar.bz2 |
3rdparty: Fix Everest build to not depend on build-time macros
Diffstat (limited to '3rdparty')
-rw-r--r-- | 3rdparty/everest/CMakeLists.txt | 25 | ||||
-rw-r--r-- | 3rdparty/everest/Makefile.inc | 15 | ||||
-rw-r--r-- | 3rdparty/everest/library/Hacl_Curve25519_joined.c | 44 | ||||
-rw-r--r-- | 3rdparty/everest/library/x25519.c | 8 |
4 files changed, 59 insertions, 33 deletions
diff --git a/3rdparty/everest/CMakeLists.txt b/3rdparty/everest/CMakeLists.txt index 2c5d7d5..ede0e83 100644 --- a/3rdparty/everest/CMakeLists.txt +++ b/3rdparty/everest/CMakeLists.txt @@ -2,26 +2,17 @@ list (APPEND everest_src) list (APPEND everest_inc) list (APPEND everest_def) +set(everest_src + ${CMAKE_CURRENT_SOURCE_DIR}/library/everest.c + ${CMAKE_CURRENT_SOURCE_DIR}/library/x25519.c + ${CMAKE_CURRENT_SOURCE_DIR}/library/Hacl_Curve25519_joined.c +) + +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) + 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/x25519.c - ${CMAKE_CURRENT_SOURCE_DIR}/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c - ) - - 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) diff --git a/3rdparty/everest/Makefile.inc b/3rdparty/everest/Makefile.inc index 5387e18..77a6b49 100644 --- a/3rdparty/everest/Makefile.inc +++ b/3rdparty/everest/Makefile.inc @@ -1,19 +1,6 @@ -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_CRYPTO_OBJECTS+= \ ../3rdparty/everest/library/everest.o \ ../3rdparty/everest/library/x25519.o \ - ../3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.o - -ifeq ($(shell getconf LONG_BIT),64) -THIRDPARTY_CRYPTO_OBJECTS+=../3rdparty/everest/library/Hacl_Curve25519.o -else -LOCAL_CFLAGS+="-DKRML_VERIFIED_UINT128" -THIRDPARTY_CRYPTO_OBJECTS+=../3rdparty/everest/library/legacy/Hacl_Curve25519.o \ - ../3rdparty/everest/library/kremlib/FStar_UInt128_extracted.o -endif -endif - + ../3rdparty/everest/library/Hacl_Curve25519_joined.o diff --git a/3rdparty/everest/library/Hacl_Curve25519_joined.c b/3rdparty/everest/library/Hacl_Curve25519_joined.c new file mode 100644 index 0000000..8a764bb --- /dev/null +++ b/3rdparty/everest/library/Hacl_Curve25519_joined.c @@ -0,0 +1,44 @@ +/* + * Interface to code from Project Everest + * + * Copyright 2016-2018 INRIA and Microsoft Corporation + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of mbed TLS (https://tls.mbed.org) + */ + +#if !defined(MBEDTLS_CONFIG_FILE) +#include "mbedtls/config.h" +#else +#include MBEDTLS_CONFIG_FILE +#endif + +#if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) + +#if defined(__SIZEOF_INT128__) && (__SIZEOF_INT128__ == 16) +#define MBEDTLS_HAVE_INT128 +#endif + +#if defined(MBEDTLS_HAVE_INT128) +#include "Hacl_Curve25519.c" +#else +#define KRML_VERIFIED_UINT128 +#include "kremlib/FStar_UInt128_extracted.c" +#include "legacy/Hacl_Curve25519.c" +#endif + +#include "kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c" + +#endif /* defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) */
\ No newline at end of file diff --git a/3rdparty/everest/library/x25519.c b/3rdparty/everest/library/x25519.c index f5856c2..c3bc862 100644 --- a/3rdparty/everest/library/x25519.c +++ b/3rdparty/everest/library/x25519.c @@ -25,10 +25,14 @@ #include MBEDTLS_CONFIG_FILE #endif -#if defined(MBEDTLS_ECDH_C) +#if defined(MBEDTLS_ECDH_C) && defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) #include <mbedtls/ecdh.h> +#if !(defined(__SIZEOF_INT128__) && (__SIZEOF_INT128__ == 16)) +#define KRML_VERIFIED_UINT128 +#endif + #include <Hacl_Curve25519.h> #include <mbedtls/platform_util.h> @@ -188,4 +192,4 @@ int mbedtls_x25519_read_public( mbedtls_x25519_context *ctx, } -#endif /* MBEDTLS_ECDH_C */ +#endif /* MBEDTLS_ECDH_C && MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED */ |