aboutsummaryrefslogtreecommitdiff
path: root/3rdparty
diff options
context:
space:
mode:
authorChristoph M. Wintersteiger <cwinter@microsoft.com>2019-02-22 17:02:12 +0000
committerJanos Follath <janos.follath@arm.com>2019-08-19 13:37:46 +0100
commit6e0cac1f577db5042655c11e3562dcc53fb9df55 (patch)
treee473a454b005caa13a26e10bbb0f10fe34d8f25e /3rdparty
parent2c69d10bac678d0d86615de3d01b3d5bbb4b8c45 (diff)
downloadmbedtls-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.txt25
-rw-r--r--3rdparty/everest/Makefile.inc15
-rw-r--r--3rdparty/everest/library/Hacl_Curve25519_joined.c44
-rw-r--r--3rdparty/everest/library/x25519.c8
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 */