| #!/bin/sh |
| |
| # Generate doxygen documentation with a full mbedtls_config.h (this ensures that every |
| # available flag is documented, and avoids warnings about documentation |
| # without a corresponding #define). |
| # |
| # /!\ This must not be a Makefile target, as it would create a race condition |
| # when multiple targets are invoked in the same parallel build. |
| # |
| # Copyright The Mbed TLS Contributors |
| # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| |
| set -eu |
| |
| . $(dirname "$0")/project_detection.sh |
| |
| 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 |
| |
| if in_tf_psa_crypto_repo; then |
| CRYPTO_CONFIG_H='include/psa/crypto_config.h' |
| fi |
| |
| 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 |
| |
| 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 |