# project-detection.sh # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later # # Purpose # # This script contains functions for shell scripts to # help detect which project (Mbed TLS, TF-PSA-Crypto) # or which Mbed TLS branch they are in. # Project detection read_project_name_file () { SCRIPT_DIR=$(pwd) PROJECT_NAME_FILE="scripts/project_name.txt" if read -r PROJECT_NAME < "$PROJECT_NAME_FILE"; then :; else echo "$PROJECT_NAME_FILE does not exist... Exiting..." >&2 exit 1 fi } in_mbedtls_repo () { read_project_name_file test "$PROJECT_NAME" = "Mbed TLS" } in_tf_psa_crypto_repo () { read_project_name_file test "$PROJECT_NAME" = "TF-PSA-Crypto" } #Branch detection read_build_info () { SCRIPT_DIR=$(pwd) BUILD_INFO_FILE="include/mbedtls/build_info.h" if [ ! -f "$BUILD_INFO_FILE" ]; then echo "File $BUILD_INFO_FILE not found." exit 1 fi MBEDTLS_VERSION_MAJOR=$(grep "^#define MBEDTLS_VERSION_MAJOR" "$BUILD_INFO_FILE" | awk '{print $3}') MBEDTLS_VERSION_MINOR=$(grep "^#define MBEDTLS_VERSION_MINOR" "$BUILD_INFO_FILE" | awk '{print $3}') if [ -z "$MBEDTLS_VERSION_MAJOR" ]; then echo "MBEDTLS_VERSION_MAJOR not found in $BUILD_INFO_FILE." exit 1 fi if [ -z "$MBEDTLS_VERSION_MINOR" ]; then echo "MBEDTLS_VERSION_MINOR not found in $BUILD_INFO_FILE." exit 1 fi } in_3_6_branch () { read_build_info test $MBEDTLS_VERSION_MAJOR = "3" && test $MBEDTLS_VERSION_MINOR = "6" } in_4_x_branch () { read_build_info test $MBEDTLS_VERSION_MAJOR = "4" }