From c0d2fa7f0b0d3902ae8cf46df0e62698301319e0 Mon Sep 17 00:00:00 2001 From: Arto Kinnunen Date: Thu, 26 Sep 2019 10:33:56 +0300 Subject: [PATCH] Update Makefiles and revert changes to config.pl -Add comments to Makefiles about test env auto-detection -Fix indentation -Remove parent folder from include dirs -Do not use environment variable for defining config file because env variable usage is not fully implemented -Revert changes to config.pl --- Makefile | 6 ++++-- library/Makefile | 10 ++++------ programs/Makefile | 6 ++---- scripts/config.pl | 25 ++----------------------- tests/Makefile | 6 ++---- tests/ssl-opt.sh | 18 +++++++++++++++--- 6 files changed, 29 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index fef643e4f..1e285a678 100644 --- a/Makefile +++ b/Makefile @@ -11,9 +11,11 @@ DIR_FOR_MBED_TLS_ENV=./library ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" "" LIBRARY_DIR=./library INCLUDE_DIR=./include + CONFIG_FILE=./include/mbedtls/config.h else LIBRARY_DIR=./src INCLUDE_DIR=./inc + CONFIG_FILE=./inc/mbedtls/test_config.h endif .SILENT: @@ -87,11 +89,11 @@ post_build: ifndef WINDOWS # If 128-bit keys are configured for CTR_DRBG, display an appropriate warning - -scripts/config.pl get MBEDTLS_CTR_DRBG_USE_128_BIT_KEY && ([ $$? -eq 0 ]) && \ + -scripts/config.pl -f $(CONFIG_FILE) get MBEDTLS_CTR_DRBG_USE_128_BIT_KEY && ([ $$? -eq 0 ]) && \ echo '$(CTR_DRBG_128_BIT_KEY_WARNING)' # If NULL Entropy is configured, display an appropriate warning - -scripts/config.pl get MBEDTLS_TEST_NULL_ENTROPY && ([ $$? -eq 0 ]) && \ + -scripts/config.pl -f $(CONFIG_FILE) get MBEDTLS_TEST_NULL_ENTROPY && ([ $$? -eq 0 ]) && \ echo '$(NULL_ENTROPY_WARNING)' endif diff --git a/library/Makefile b/library/Makefile index e0141bfbe..5ea40635b 100644 --- a/library/Makefile +++ b/library/Makefile @@ -9,17 +9,15 @@ LDFLAGS ?= # Otherwise Mbed OS environment is used. DIR_FOR_MBED_TLS_ENV=../library ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" "" - # Set include dirs for Mbed TLS test environment + # Set include dirs for Mbed TLS test environment INCLUDE_DIRS=-I../include else - # Set include dirs for Mbed OS test environment - INCLUDE_DIRS=-I.. -I../inc + # Set include dirs for Mbed OS test environment + INCLUDE_DIRS=-I../inc + CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\"" endif LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIRS) -D_FILE_OFFSET_BITS=64 -ifdef MBEDTLS_CONFIG_FILE -LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\"" -endif LOCAL_LDFLAGS = diff --git a/programs/Makefile b/programs/Makefile index 7ceca2eae..c7dcacb8d 100644 --- a/programs/Makefile +++ b/programs/Makefile @@ -15,13 +15,11 @@ ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" "" INCLUDE_DIR=-I../include else LIBRARY_DIR=../src - INCLUDE_DIR=-I.. -I../inc + INCLUDE_DIR=-I../inc + CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\"" endif LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64 -ifdef MBEDTLS_CONFIG_FILE -LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\"" -endif LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64 LOCAL_LDFLAGS = -L$(LIBRARY_DIR) \ diff --git a/scripts/config.pl b/scripts/config.pl index edd4200d5..287f1f18b 100755 --- a/scripts/config.pl +++ b/scripts/config.pl @@ -53,28 +53,7 @@ use warnings; use strict; -my $config_file; -my $include_dir; -my $library_dir; -my $mbedtls_config_file = $ENV{"MBEDTLS_CONFIG_FILE"}; - -if ( ( -d "../library") || ( -d "./library") ) { - # library directory is present, we are using Mbed TLS namespace - $config_file = "include/mbedtls/config.h"; - $include_dir = "include"; - $library_dir = "library"; -} else { - # library directory is not present, we are using Mbed OS namespace - $config_file = "inc/mbedtls/config.h"; - $include_dir = "inc"; - $library_dir = "src"; -} - -if ( length $mbedtls_config_file ) { - $mbedtls_config_file = substr $mbedtls_config_file, 1, -1; - $config_file = $include_dir . "/" . $mbedtls_config_file; -} - +my $config_file = "include/mbedtls/config.h"; my $usage = < | --file ] [-o | --force] [set | unset | get | @@ -226,7 +205,7 @@ if (! -f $config_file) { chdir '..' or die; # Confirm this is the project root directory and try again - if ( !(-d 'scripts' && -d $include_dir && -d $library_dir && -f $config_file) ) { + if ( !(-d 'scripts' && -d 'include' && -d 'library' && -f $config_file) ) { die "If no file specified, must be run from the project root or scripts directory.\n"; } } diff --git a/tests/Makefile b/tests/Makefile index bc3aba55e..dee011f91 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -14,13 +14,11 @@ ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" "" INCLUDE_DIR=-I../include else LIBRARY_DIR=../src - INCLUDE_DIR=-I.. -I../inc + INCLUDE_DIR=-I../inc + CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\"" endif LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64 -ifdef MBEDTLS_CONFIG_FILE -LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\"" -endif LOCAL_LDFLAGS = -L$(LIBRARY_DIR) \ -lmbedtls$(SHARED_SUFFIX) \ diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh index 38b1b69fd..efd1fb34c 100755 --- a/tests/ssl-opt.sh +++ b/tests/ssl-opt.sh @@ -21,6 +21,18 @@ set -u +# Detect used test environment: Mbed TLS or Mbed OS +if [ -f "../include/mbedtls/config.h" ] +then + CONFIG_FILE=../include/mbedtls/config.h +elif [ -f "../inc/mbedtls/test_config.h" ] +then + CONFIG_FILE=../inc/mbedtls/test_config.h +else + echo "Can't locate config file, must be run from mbed TLS root" >&2 + exit 1 +fi + # Limit the size of each log to 10 GiB, in case of failures with this script # where it may output seemingly unlimited length error logs. ulimit -f 20971520 @@ -297,9 +309,9 @@ requires_not_i686() { } # Calculate the input & output maximum content lengths set in the config -MAX_CONTENT_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_MAX_CONTENT_LEN || echo "16384") -MAX_IN_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_IN_CONTENT_LEN || echo "$MAX_CONTENT_LEN") -MAX_OUT_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_OUT_CONTENT_LEN || echo "$MAX_CONTENT_LEN") +MAX_CONTENT_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_MAX_CONTENT_LEN || echo "16384") +MAX_IN_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_IN_CONTENT_LEN || echo "$MAX_CONTENT_LEN") +MAX_OUT_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_OUT_CONTENT_LEN || echo "$MAX_CONTENT_LEN") if [ "$MAX_IN_LEN" -lt "$MAX_CONTENT_LEN" ]; then MAX_CONTENT_LEN="$MAX_IN_LEN"