Fix footprint.sh

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
diff --git a/scripts/footprint.sh b/scripts/footprint.sh
index e7078cf..c228a26 100755
--- a/scripts/footprint.sh
+++ b/scripts/footprint.sh
@@ -19,6 +19,7 @@
 set -eu
 
 CONFIG_H='include/mbedtls/mbedtls_config.h'
+CRYPTO_CONFIG_H='tf-psa-crypto/include/psa/crypto_config.h'
 
 if [ -r $CONFIG_H ]; then :; else
     echo "$CONFIG_H not found" >&2
@@ -27,6 +28,13 @@
     exit 1
 fi
 
+if [ -r $CRYPTO_CONFIG_H ]; then :; else
+    echo "$CRYPTO_CONFIG_H not found" >&2
+    echo "This script needs to be run from the root of" >&2
+    echo "a git checkout or uncompressed tarball" >&2
+    exit 1
+fi
+
 if grep -i cmake Makefile >/dev/null; then
     echo "Not compatible with CMake" >&2
     exit 1
@@ -56,16 +64,25 @@
     log "$NAME ($FILE):"
 
     cp $CONFIG_H ${CONFIG_H}.bak
+    cp $CRYPTO_CONFIG_H ${CRYPTO_CONFIG_H}.bak
     if [ "$FILE" != $CONFIG_H ]; then
+        CRYPTO_FILE="${FILE%/*}/crypto-${FILE##*/}"
         cp "$FILE"  $CONFIG_H
+        cp "$CRYPTO_FILE"  $CRYPTO_CONFIG_H
     fi
 
     {
+        scripts/config.py unset MBEDTLS_HAVE_TIME || true
+        scripts/config.py unset MBEDTLS_HAVE_TIME_DATE || true
         scripts/config.py unset MBEDTLS_NET_C || true
         scripts/config.py unset MBEDTLS_TIMING_C || true
         scripts/config.py unset MBEDTLS_FS_IO || true
+        scripts/config.py unset MBEDTLS_PSA_ITS_FILE_C || true
+        scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C || true
         scripts/config.py unset MBEDTLS_PSA_BUILTIN_GET_ENTROPY || true
-        scripts/config.py --force set MBEDTLS_PSA_DRIVER_GET_ENTROPY || true
+        # Force the definition of MBEDTLS_PSA_DRIVER_GET_ENTROPY as it may
+        # not exist in custom configurations.
+        scripts/config.py --force -f ${CRYPTO_CONFIG_H} set MBEDTLS_PSA_DRIVER_GET_ENTROPY || true
     } >/dev/null 2>&1
 
     make clean >/dev/null
@@ -77,7 +94,8 @@
     log "$( head -n1 "$OUT" )"
     log "$( tail -n1 "$OUT" )"
 
-    cp ${CONFIG_H}.bak $CONFIG_H
+    mv ${CONFIG_H}.bak $CONFIG_H
+    mv ${CRYPTO_CONFIG_H}.bak $CRYPTO_CONFIG_H
 }
 
 # truncate the file just this time