Toolchain Submission Guide
To provide you with a shared library fully compatible with your hardware, we need to replicate your specific build environment. We use a standard CMake Toolchain configuration to ensure that our binaries match your toolchain, system headers, and CPU architecture.
Toolchain Configuration Template
Please fill in the fields marked with <REPLACE_ME> with values specific to your environment. See the commented example below for guidance.
| CMakeLists.txt | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Example for a generic AArch64 (64-bit ARM) toolchain:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(TOOLCHAIN_ROOT "/opt/gcc-arm-10.3-aarch64-none-linux-gnu")
set(CMAKE_C_COMPILER "${TOOLCHAIN_ROOT}/bin/aarch64-none-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "${TOOLCHAIN_ROOT}/bin/aarch64-none-linux-gnu-g++")
set(CMAKE_C_FLAGS "-march=armv8-a")
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
What To Send Us
The most critical part of this request is a tarball of the content in TOOLCHAIN_ROOT. After the NDA is signed, please provide the following:
- Toolchain root: The directory containing your compiler binaries.
- Architecture Details: Please specify your
CMAKE_SYSTEM_PROCESSOR. - The Sysroot (Optional): If your system headers and libraries are located outside of the
TOOLCHAIN_ROOT, please include this directory as well. - Specific Flags (Optional): Include any specific
CMAKE_COMPILE_FLAGSif you wish us to use particular optimization or hardware-specific settings when compiling the SDK.
Note
If zipping these folders on Linux, please use the tar command with the -h flag to preserve symbolic links: tar -chzf toolchain_export.tar.gz /path/to/your/toolchain
For more technical details, see the Official CMake Toolchain Documentation. If you have any questions or need assistance please reach out to our engineering team.