Hi all
The new buildsystem (work in progress) is now available at https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/5039. Comment would be very much appreciated.
There have been some minor interface changes to how the buildsystem is invoked. a sample invocation is: cmake -S .. \ -B . \ -G"Unix Makefiles" \ -DTFM_PLATFORM=musca_s1 \ -DCMAKE_TOOLCHAIN_FILE=../toolchain_GNUARM.cmake \ -DCMAKE_BUILD_TYPE=release -DBL2=ON \ -DNS=ON \ -DTFM_PSA_API=ON \ -DTEST_NS=ON -DTEST_S=ON \ -DTFM_ISOLATION_LVL=2
More specifically
cmake -S [Source_dir (often ..)] \ -B [build_dir (often .)] \ -G ["Unix Makefiles" OR Ninja] \ -DTFM_PLATFORM=[musca_b1 OR musca_s1 OR mps2/an521 OR cypress/psoc64 ETC...] -DCMAKE_TOOLCHAIN_FILE=[build_dir/toolchain_GNUARM.cmake OR build_dir/toolchain_ARMCLANG.cmake] -DCMAKE_BUILD_TYPE=[release OR debug OR minsizerel OR relwithdbginfo] -DBL2=[OFF OR ON] -DNS=[OFF OR ON] -DTFM_PSA_API=[OFF OR ON] -DTEST_NS=[OFF OR ON] -DTEST_S=[OFF OR ON] -DTFM_ISOLATION_LVL=[1 OR 2]
Note that this interface is not set in stone and may change before these patches are merged.
The new buildsystem is currently missing a few of the platforms, as well as some features. All of these are planned to be added prior to merging. Notable are dualcpu/Cypress PSoC64 which is currently being finalized, documentation building, and image signing for some of the boot modes which is on the TODO list.
Note that unlike previous versions, this should work "out the box" with regard to dependencies. The paths for dependencies can be set, but some patches to mbedtls that are in the process of being upstreamed are used. These patches are stored in the lib/ext/mbedcrypto directory and can easily be applied manually.
Regards, Raef Coles
tf-m@lists.trustedfirmware.org