Add Makefile option to exclude TinyCrypt files

Added an additional Makefile option of 'TINYCRYPT_BUILD' to exclude the
TinyCrypt source files from the build. This allows some tests to exclude those
files as and when necessary.

Specifically this includes in all.sh the test
'component_build_arm_none_eabi_gcc_no_64bit_multiplication' which was failing as
64bit cannot be disabled in TinyCrypt, and check-names.sh as TinyCrypt obviously
does not conform to Mbed TLS naming conventions.
This commit is contained in:
Simon Butcher 2019-11-22 15:09:39 +00:00
parent 35e535a74a
commit 9699887185
3 changed files with 14 additions and 4 deletions

View File

@ -99,8 +99,7 @@ OBJS_CRYPTO= aes.o aesni.o arc4.o \
ripemd160.o rsa_internal.o rsa.o \
sha1.o sha256.o sha512.o \
threading.o timing.o version.o \
version_features.o xtea.o \
ecc.o ecc_dh.o ecc_dsa.o
version_features.o xtea.o
OBJS_X509= certs.o pkcs11.o x509.o
@ -110,6 +109,17 @@ OBJS_TLS= debug.o net_sockets.o \
ssl_srv.o ssl_ticket.o \
ssl_tls.o
# Default to always build TinyCrypt
ifndef TINYCRYPT_BUILD
TINYCRYPT_BUILD=1
endif
ifeq ($(TINYCRYPT_BUILD),1)
# Add TinyCrypt to the targets and Makefile path
VPATH = ../tinycrypt
OBJS_CRYPTO += ecc.o ecc_dh.o ecc_dsa.o
endif
.SILENT:
.PHONY: all static shared clean

View File

@ -1491,7 +1491,7 @@ component_build_arm_none_eabi_gcc_no_64bit_multiplication () {
msg "build: arm-none-eabi-gcc MBEDTLS_NO_64BIT_MULTIPLICATION, make" # ~ 10s
scripts/config.pl baremetal
scripts/config.pl set MBEDTLS_NO_64BIT_MULTIPLICATION
make CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld CFLAGS='-Werror -O1 -march=armv6-m -mthumb' lib
make TINYCRYPT_BUILD=0 CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld CFLAGS='-Werror -O1 -march=armv6-m -mthumb' lib
echo "Checking that software 64-bit multiplication is not required"
if_build_succeeded not grep __aeabi_lmul library/*.o
}

View File

@ -16,7 +16,7 @@ cp include/mbedtls/config.h include/mbedtls/config.h.bak
scripts/config.pl full
make clean
make_ret=
CFLAGS=-fno-asynchronous-unwind-tables make lib \
CFLAGS=-fno-asynchronous-unwind-tables TINYCRYPT_BUILD=0 make lib \
>list-symbols.make.log 2>&1 ||
{
make_ret=$?