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
diff --git a/Makefile b/Makefile
index fef643e..1e285a6 100644
--- a/Makefile
+++ b/Makefile
@@ -11,9 +11,11 @@
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 @@
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 e0141bf..5ea4063 100644
--- a/library/Makefile
+++ b/library/Makefile
@@ -9,17 +9,15 @@
# 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 7ceca2e..c7dcacb 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -15,13 +15,11 @@
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 edd4200..287f1f1 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 = <<EOU;
$0 [-f <file> | --file <file>] [-o | --force]
[set <symbol> <value> | unset <symbol> | get <symbol> |
@@ -226,7 +205,7 @@
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 bc3aba5..dee011f 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -14,13 +14,11 @@
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 38b1b69..efd1fb3 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 @@
}
# 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"