ECDH: Include Everest Curve25519 in build scripts
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 67ec7cc..9ab1f3f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -181,6 +181,8 @@
set(LIB_INSTALL_DIR lib)
endif()
+include_directories(include/ 3rdparty/everest/include/ 3rdparty/everest/include/everest/ 3rdparty/everest/include/everest/kremlin/ 3rdparty/everest/include/everest/kremlib/)
+
if(ENABLE_ZLIB_SUPPORT)
find_package(ZLIB)
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index c2f2bd4..ef33fe8 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -3,8 +3,9 @@
if(INSTALL_MBEDTLS_HEADERS)
file(GLOB headers "mbedtls/*.h")
+ file(GLOB headers_everest "../3rdparty/everest/include/*.h")
- install(FILES ${headers}
+ install(FILES ${headers} ${headers_everest}
DESTINATION include/mbedtls
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index c82784e..d1cf26f 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -66,6 +66,16 @@
xtea.c
)
+set(src_everest
+ ../3rdparty/everest/library/everest.c
+ ../3rdparty/everest/library/Hacl_Curve25519.c
+ ../3rdparty/everest/library/x25519.c
+ ../3rdparty/everest/library/kremlib/fstar_uint128.c
+ ../3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c
+)
+
+set(src_crypto ${src_crypto} ${src_everest})
+
set(src_x509
certs.c
pkcs11.c
diff --git a/library/Makefile b/library/Makefile
index af472ad..a757752 100644
--- a/library/Makefile
+++ b/library/Makefile
@@ -18,6 +18,9 @@
# To compile on Plan9:
# CFLAGS += -D_BSD_EXTENSION
+# Include directories for Everest code
+CFLAGS+=-I../3rdparty/everest/include -I../3rdparty/everest/include/everest -I../3rdparty/everest/include/everest/kremlib
+
# if were running on Windows build for Windows
ifdef WINDOWS
WINDOWS_BUILD=1
@@ -70,6 +73,13 @@
LOCAL_CFLAGS += -I../crypto/include
CRYPTO := ../crypto/library/
+OBJS_CRYPTO+= \
+ ../3rdparty/everest/library/everest.o \
+ ../3rdparty/everest/library/Hacl_Curve25519.o \
+ ../3rdparty/everest/library/x25519.o \
+ ../3rdparty/everest/library/kremlib/fstar_uint128.o \
+ ../3rdparty/everest/library/kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.o
+
OBJS_X509= certs.o pkcs11.o x509.o \
x509_create.o x509_crl.o x509_crt.o \
x509_csr.o x509write_crt.o x509write_csr.o
@@ -153,11 +163,12 @@
.c.o:
echo " CC $<"
- $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $<
+ $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -o $@ -c $<
clean:
ifndef WINDOWS
- rm -f *.o libmbed*
+ rm -f *.o libmbed* $(OBJS_CRYPTO)
else
- del /Q /F *.o libmbed*
+ del /Q /F *.o libmbed* $(OBJS_CRYPTO)
endif
+
diff --git a/programs/Makefile b/programs/Makefile
index 857be78..f094877 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -18,6 +18,8 @@
LOCAL_CFLAGS += -I../crypto/include
LOCAL_CXXFLAGS += -I../crypto/include
+LOCAL_CFLAGS+=-I../3rdparty/everest/include
+
ifndef SHARED
DEP=../crypto/library/libmbedcrypto.a ../library/libmbedx509.a ../library/libmbedtls.a
else
diff --git a/tests/Makefile b/tests/Makefile
index 1679ee4..d1c265e 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -16,6 +16,8 @@
LOCAL_CFLAGS += -I../crypto/include
CRYPTO := ../crypto/library/
+LOCAL_CFLAGS+=-I../3rdparty/everest/include
+
# Enable definition of various functions used throughout the testsuite
# (gethostname, strdup, fileno...) even when compiling with -std=c99. Harmless
# on non-POSIX platforms.
@@ -185,4 +187,3 @@
-o ./TESTS/mbedtls/$*
generate-target-tests: $(EMBEDDED_TESTS)
-