Commit Graph

311 Commits

Author SHA1 Message Date
Gilles Peskine
abf6c3a9fb CMake: Declare pqcp driver to mbedtls
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2026-01-20 12:27:43 +01:00
Manuel Pégourié-Gonnard
a6e59a955b Merge pull request #10450 from bjwtaylor/move-lcov
Remove lcov.sh as this will be moved to the framework
2025-11-06 11:11:59 +00:00
Ben Taylor
82a48d42ff Update lcov.sh patch to use CMake variable
Signed-off-by: Ben Taylor <ben.taylor@linaro.org>
2025-10-31 14:18:05 +00:00
Ben Taylor
9b4f222f4f Update lcov.sh paths in make files
Signed-off-by: Ben Taylor <ben.taylor@linaro.org>
2025-10-31 14:18:05 +00:00
Gilles Peskine
574aae2146 Fix duplication of product version in CMakeLists.txt
The CMake package version definition had its own line with a copy of the
version number since 2.27.0. Until recently, `bump_version.sh` updated both
copies, and that was still the case when we bumped the version to 4.0.0
(7ba04a298c). However, since then, we changed
the format of the product version definition
(879cba1a67), and after that,
`bump_version.sh` would only have updated the product version, not the CMake
package version.

TF-PSA-Crypto 1.0.0 has the same problem, and there we did ship with an
outdated CMake package version:
https://github.com/Mbed-TLS/TF-PSA-Crypto/issues/553

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2025-10-29 12:31:57 +01:00
Ronald Cron
879cba1a67 cmake: Introduce version and soversion variables
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2025-09-22 14:34:55 +02:00
Ronald Cron
a0b1c8c7fb build: Remove CTR_DRBG 128 bits key warnings
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2025-08-26 09:33:33 +02:00
Ronald Cron
ce7de61ad4 cmake: Fix list of TF-PSA-Crypto library targets
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2025-07-16 10:23:17 +02:00
Ronald Cron
c1d9531c56 Do not link against builtin/everest/p256m libraries anymore
Following the move of all crypto code to the
tfpsacrypto library, do not link against the
driver libraries anymore.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2025-07-08 16:24:15 +02:00
Ronald Cron
99226e9b9b cmake: Generate test_keys.h and test_certs.h in the build tree
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2025-03-26 21:19:28 +01:00
Ronald Cron
e457bf1c62 Merge pull request #9833 from Harry-Ramsey/fix-submodule-error-messages-development
Fix submodule error messages
2024-12-21 08:57:26 +00:00
Ronald Cron
5096b4cb4b Revert "Remove mbedtls_test"
This reverts commit 939ce9d0d5.

Build mbedtls_test library of objects to link
with TLS and x509 test suites and programs
with mbedtls framework not TF-PSA-Crypto
one (when it will be there).

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-12-10 16:56:49 +01:00
Ronald Cron
04baacb228 cmake: Try and simplify test_keys/certs.h generation
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-12-10 16:54:05 +01:00
Harry Ramsey
e3fa3a4e57 Fix incorrect submodule error message in CMake
This commit fixes a condition where the incorrect submodule error
message was displayed as we were using the CMAKE_CURRENT_SOURCE_DIR
variable instead of MBEDTLS_DIR.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
2024-12-10 12:44:57 +00:00
Ronald Cron
ce3c2dd30c Merge pull request #9806 from ronald-cron-arm/finalize-split-preparation-1
Finalize split preparation-1
2024-12-05 13:23:09 +00:00
Ronald Cron
d5331ff4e6 cmake: Move cert.o to mbedtls_test_helpers library of objects
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-12-04 14:25:02 +01:00
Ronald Cron
575833cc34 cmake: Move generation of test_certs.h to mbedtls
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-12-04 14:25:02 +01:00
Minos Galanakis
4f619e12e7 Renamed MBEDTLS_PSA_CRYPTO_CONFIG_FILE & MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE
Files have been renamed respectively to:
- TF_PSA_CRYPTO_CONFIG_FILE
- TF_PSA_CRYPTO_USER_CONFIG_FILE

As per design proposal:
https://github.com/Mbed-TLS/mbedtls/blob/development/docs/proposed/config-split.md

Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2024-12-04 09:57:56 +00:00
David Horstmann
204eb2cfd9 Re-add tests/include path for test helpers
These must include from both the framework and the main repository since
the test helpers straddle the two locations.

Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-11-18 15:50:44 +00:00
David Horstmann
5b93d97b95 Update references to test helpers
Replace:
* tests/src -> framework/tests/src
* tests/include -> framework/tests/include

Except for occurrences of:
* tests/src/test_helpers (since this only contains ssl_helpers.c)
* tests/src/test_certs.h
* tests/include/alt_dummy

Signed-off-by: David Horstmann <david.horstmann@arm.com>
2024-11-18 15:50:44 +00:00
Ronald Cron
8237484318 cmake: Use TF_PSA_CRYPTO_CONFIG_FILE to prefix crypto targets
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-15 15:05:34 +01:00
Ronald Cron
d779e95720 Fix cmake option name
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 16:25:34 +01:00
Ronald Cron
939ce9d0d5 Remove mbedtls_test
Use tf_psa_crypto_test instead.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 13:52:36 +01:00
Ronald Cron
0381a98114 cmake: Move copy of crypto libraries to mbedtls
Move copy of crypto libraries to mbedtls as this
copy does not make sense in TF-PSA-Crypto context.
Also copy all of them, not just tfpsacrypto.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:28:27 +01:00
Ronald Cron
8126a686d9 cmake: Rename mbedcrypto library to tfpsacrypto
Do not do the same in the make build system yet,
cmake build system only scope for this PR.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:28:27 +01:00
Ronald Cron
b7d0e52e16 cmake: Rename mbedcrypto target to tfpsacrypto
Rename mbedcrypto target to tfpsacrypto and
prefix all cmake related variables with
tfpsacrypto instead of mbedcrypto.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:28:27 +01:00
Ronald Cron
1a52bc4802 cmake: mbedtls: Propagate options and target prefix
Propagate mbedtls options named differently in
TF-PSA-Crypto.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:06:47 +01:00
Ronald Cron
a9219ff73d Add project prefix to API documentation targets
To avoid conflict between the two targets when
the integration of the TF-PSA-Crypto build system
into the Mbed TLS one is completed.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:06:47 +01:00
Ronald Cron
169393e6ae Restrict the definition of memcheck/lcov targets
Restrict the definition of memcheck/lcov targets
to the case where Mbed TLS/TF-PSA-Crypto is the
main project. To avoid conflict between the
targets when the integration of the TF-PSA-Crypto
build system into the Mbed TLS one is completed.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 09:06:47 +01:00
Ronald Cron
211bf6de21 cmake: Fix config files compile definitions
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-11-14 08:52:20 +01:00
Waleed Elmelegy
4cef20d00b Fix everest build issue
Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
2024-11-06 16:03:49 +00:00
Manuel Pégourié-Gonnard
e71f3c3a50 Merge pull request #9571 from Harry-Ramsey/improve-submodule-error-messages-development
Improve submodule error messages for Github archives
2024-11-05 10:26:52 +00:00
Harry Ramsey
6d9c389957 Further improve error message clarity
This commit further improves error message clarity.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
2024-10-28 14:05:23 +00:00
Ronald Cron
051ee711bf Remove now unnecessary shared lib specific compile option
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 18:09:40 +02:00
Ronald Cron
6f9d508714 cmake: iar/msvc: Set base compile and link options target by target
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 18:09:40 +02:00
Ronald Cron
d9e1109d23 cmake: clang: Set base compile and link options target by target
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 18:09:40 +02:00
Ronald Cron
4ae24f4fea cmake: GNU GCC: Add base link options
target_compile_options() does not set
link options as setting CMAKE_C_FLAGS
does. Thus set link options with
set_target_properties(). target_link_options()
is not available in CMake 3.5 used in the CI.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 18:09:40 +02:00
Ronald Cron
b2478989e2 cmake: GNU GCC: Set base compile options target by target
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 18:09:33 +02:00
Ronald Cron
d77fad2556 Group C_FLAGS settings by compiler type
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 17:40:44 +02:00
Ronald Cron
7323b3e112 cmake: Remove UNSAFE_BUILD option
The UNSAFE_BUILD option was introduced for
the builds with NULL entropy
(option MBEDTLS_TEST_NULL_ENTROPY) but this
configuration option does not exist
anymore.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-25 17:40:44 +02:00
Gilles Peskine
4e9d77e6e7 Merge pull request #9703 from valeriosetti/fix-9690-workarounds
Revert & fix #9690 workarounds
2024-10-25 11:47:44 +00:00
Ronald Cron
2d453c9b07 cmake: Remove custom LIB_INSTALL_DIR variable to set install dir
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-18 10:23:15 +02:00
Ronald Cron
f584e97aed cmake: Use MBEDTLS/TF_PSA_CRYTPO_AS_SUBPROJECT
Use MBEDTLS/TF_PSA_CRYTPO_AS_SUBPROJECT
instead of using the test employed to set
MBEDTLS/TF_PSA_CRYTPO_AS_SUBPROJECT value.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-18 10:16:35 +02:00
Harry Ramsey
e05cf2e11e Improve submodule error messages for Github archives
This commit improves the error messages informing users that have
downloaded Github archives to instead download a release archive. This
is due to Github not supporting submodules within archives and no
trivial way for users to use git to download them.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
2024-10-18 08:20:57 +01:00
Valerio Setti
8b675b8c2c CMakeLists: use -O2 as ASAN_FLAG only in GCC versions before 7.0
Since the bug affecting the performance only affects GCC versions
before 7.0, use -O2 flag instead of -O3 for them and keep the
better optimization for newer compilers.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
2024-10-16 16:22:24 +02:00
Gilles Peskine
c76f82db27 Work around GCC 5 performance problem with Asan+UBSan and -O3
Old GCC versions hit a performance problem with test_suite_pkwrite
"Private keey write check EC" tests when building with Asan+UBSan
and -O3: those tests take more than 100x time than normal, with
test_suite_pkwrite taking >3h on the CI. Observed with GCC 5.4 on
Ubuntu 16.04 x86_64 and GCC 6.5 on Ubuntu 18.04 x86_64.
GCC 7.5 and above on Ubuntu 18.04 appear fine.

To avoid the performance problem, use -O2 instead of -O3 in then "Asan"
build type with GCC. It doesn't slow down much even with modern compiler
versions.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2024-10-16 10:31:29 +02:00
Ronald Cron
b6254f5b97 cmake: Add MBEDTLS_FRAMEWORK_DIR
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-01 15:32:01 +02:00
Ronald Cron
d3f717d536 CMake: Move build of crypto test suites to tf-psa-crypto
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-01 15:32:01 +02:00
Ronald Cron
e82ad15f5e CMake: Move build of the crypto library to tf-psa-crypto
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-01 15:32:01 +02:00
Ronald Cron
ac01d6eb7c CMake: Move build of legacy crypto modules to tf-psa-crypto
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
2024-10-01 15:32:01 +02:00