From 8172207a6345b05c2c03d6dcfea63eeecde34ee1 Mon Sep 17 00:00:00 2001 From: Harry Ramsey Date: Wed, 8 Jan 2025 15:43:13 +0000 Subject: [PATCH] Adapt doxygen scripts to run for TF-PSA-Crypto This commit adapts the scripts apidoc_full.sh and doxygen.sh to run for TF-PSA-Crypto out of source builds. Signed-off-by: Harry Ramsey --- scripts/apidoc_full.sh | 49 ++++++++++++++++++++++++++++++++++-------- scripts/doxygen.sh | 11 +++++++--- 2 files changed, 48 insertions(+), 12 deletions(-) diff --git a/scripts/apidoc_full.sh b/scripts/apidoc_full.sh index 34daf37b5..902a515c6 100755 --- a/scripts/apidoc_full.sh +++ b/scripts/apidoc_full.sh @@ -12,17 +12,48 @@ set -eu -CONFIG_H='include/mbedtls/mbedtls_config.h' +. $(dirname "$0")/project_detection.sh -if [ -r $CONFIG_H ]; then :; else - echo "$CONFIG_H not found" >&2 - exit 1 +if in_mbedtls_repo; then + CONFIG_H='include/mbedtls/mbedtls_config.h' + if [ -r $CONFIG_H ]; then :; else + echo "$CONFIG_H not found" >&2 + fi + if ! in_3_6_branch; then + CRYPTO_CONFIG_H='tf-psa-crypto/include/psa/crypto_config.h' + fi fi -CONFIG_BAK=${CONFIG_H}.bak -cp -p $CONFIG_H $CONFIG_BAK +if in_tf_psa_crypto_repo; then + CRYPTO_CONFIG_H='include/psa/crypto_config.h' +fi -scripts/config.py realfull -make apidoc +if in_tf_psa_crypto_repo || (in_mbedtls_repo && ! in_3_6_branch); then + if [ -r $CRYPTO_CONFIG_H ]; then :; else + echo "$CRYPTO_CONFIG_H not found" >&2 + exit 1 + fi + CRYPTO_CONFIG_BAK=${CRYPTO_CONFIG_H}.bak + cp -p $CRYPTO_CONFIG_H $CRYPTO_CONFIG_BAK +fi -mv $CONFIG_BAK $CONFIG_H +if in_mbedtls_repo; then + CONFIG_BAK=${CONFIG_H}.bak + cp -p $CONFIG_H $CONFIG_BAK + scripts/config.py realfull + make apidoc + mv $CONFIG_BAK $CONFIG_H +elif in_tf_psa_crypto_repo; then + scripts/config.py realfull + TF_PSA_CRYPTO_ROOT_DIR=$PWD + rm -rf doxygen/build-apidoc-full + mkdir doxygen/build-apidoc-full + cd doxygen/build-apidoc-full + cmake -DCMAKE_BUILD_TYPE:String=Check -DGEN_FILES=ON $TF_PSA_CRYPTO_ROOT_DIR + make tfpsacrypto-apidoc + cd $TF_PSA_CRYPTO_ROOT_DIR +fi + +if in_tf_psa_crypto_repo || (in_mbedtls_repo && ! in_3_6_branch); then + mv $CRYPTO_CONFIG_BAK $CRYPTO_CONFIG_H +fi diff --git a/scripts/doxygen.sh b/scripts/doxygen.sh index 8c37b20de..7d051ed1e 100755 --- a/scripts/doxygen.sh +++ b/scripts/doxygen.sh @@ -8,8 +8,10 @@ # Abort on errors (and uninitialised variables) set -eu -if [ -d library -a -d include -a -d tests ]; then :; else - echo "Must be run from Mbed TLS root" >&2 +. $(dirname "$0")/project_detection.sh + +if in_mbedtls_repo || in_tf_psa_crypto_repo; then :; else + echo "Must be run from Mbed TLS root or TF-PSA-Crypto root" >&2 exit 1 fi @@ -28,5 +30,8 @@ if grep -E "(warning|error):" doc.filtered; then exit 1; fi -make apidoc_clean +if in_mbedtls_repo; then + make apidoc_clean +fi + rm -f doc.out doc.err doc.filtered