DemesneGH commented on PR #245:
URL: 
https://github.com/apache/teaclave-trustzone-sdk/pull/245#issuecomment-3461489138

   Summary of the new commit:
   
   ### Users & Scenarios
   
   **For developers (dev/emulation environments):**
   They only need to build and run a few examples or their own projects. After 
installing the toolchain, they can simply use `cargo-optee` to build CA, TA and 
Plugins with the source code.
   
   **For CI:**
   We need to build all examples. The workflow is:
   1. Setup toolchains and OP-TEE libraries
   2. Run: `TA_DEV_KIT_DIR=xxx OPTEE_CLIENT_EXPORT=xxx ./ci/build.sh` to build 
all examples using `cargo-optee`, the script reads `examples/metadata.json` to 
get info of each example
   
   I've tested the `build.sh` and all examples build passed for `aarch64` TA 
and `aarch64` CA:
   - No-std mode: `source ~/.cargo/env && 
TA_DEV_KIT_DIR=/teaclave/optee/optee_os/out/arm-plat-vexpress/export-ta_arm64 
OPTEE_CLIENT_EXPORT=/teaclave/optee/optee_client/export_arm64 ./ci/build.sh`
   - Std mode: `source ~/.cargo/env && 
TA_DEV_KIT_DIR=/teaclave/optee/optee_os/out/arm-plat-vexpress/export-ta_arm64 
OPTEE_CLIENT_EXPORT=/teaclave/optee/optee_client/export_arm64 ./ci/build.sh 
--std`
   
   
   We can remove all Makefiles from the SDK now.
   For design, user interface and other details, please refer to 
`cargo-optee/README.md`.
   
   ------
   ### Changes
   
   - **cargo-optee**: 
     - Add `build plugin` support
     - Add `README.md`
   
   - **examples**: Add `metadata.json` for recording all application info
   
   - **ci**: Add `build.sh` for building all examples defined in `metadata.json`
   
   - **Fix special cases**:
     - **mnist-rs**: Move `-Z build-std` parameters into `.cargo/config.toml` 
for self-maintenance
     - **mnist-rs**: `cargo-optee` now searches workspace `Cargo.toml` (needs 
polish)
     - **std-only TAs** (message_passing_interface, serde, 
secure_db_abstraction, tls_client, tls_server): Require mandatory `std` feature 
for consistency. After this change: common TAs and `std-only` TAs explicitly 
require `--std` flag for build with `std`. This ensures `cargo-optee` handles 
`std` feature in a unified manner for all examples.
   
   ### Notes
   
   - For building CAs, `proto` includes relative UUID path `../../uuid.txt`, 
should be revised
   - CI: requires `apt-get install jq` for json parsing in `ci/build.sh`
   
   ### Next steps
   
   - remove all Makefiles
   - enable the Github Action CI
   - remove all Xargo.toml from ta
   - polish the code


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to