diff --git a/cmake/toolchain/zephyr/0.11/generic.cmake b/cmake/toolchain/zephyr/0.11/generic.cmake new file mode 100644 index 00000000000..84dc684f8bb --- /dev/null +++ b/cmake/toolchain/zephyr/0.11/generic.cmake @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: Apache-2.0 + +set(TOOLCHAIN_HOME ${ZEPHYR_SDK_INSTALL_DIR}) + +set(COMPILER gcc) +set(LINKER ld) +set(BINTOOLS gnu) + +set(CROSS_COMPILE_TARGET x86_64-${TOOLCHAIN_VENDOR}-elf) +set(SYSROOT_TARGET x86_64-${TOOLCHAIN_VENDOR}-elf) + +set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-) +set(SYSROOT_DIR ${ZEPHYR_SDK_INSTALL_DIR}/sysroots/${SYSROOT_TARGET}/usr) +set(TOOLCHAIN_HAS_NEWLIB ON CACHE BOOL "True if toolchain supports newlib") diff --git a/cmake/toolchain/zephyr/0.11/host-tools.cmake b/cmake/toolchain/zephyr/0.11/host-tools.cmake new file mode 100644 index 00000000000..604c8ade4ca --- /dev/null +++ b/cmake/toolchain/zephyr/0.11/host-tools.cmake @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 + +set(HOST_TOOLS_HOME ${ZEPHYR_SDK_INSTALL_DIR}/sysroots/${TOOLCHAIN_ARCH}-pokysdk-linux) + +# Path used for searching by the find_*() functions, with appropriate +# suffixes added. Ensures that the SDK's host tools will be found when +# we call, e.g. find_program(QEMU qemu-system-x86) +list(APPEND CMAKE_PREFIX_PATH ${HOST_TOOLS_HOME}/usr) + +# TODO: Use find_* somehow for these as well? +set_ifndef(QEMU_BIOS ${HOST_TOOLS_HOME}/usr/share/qemu) +set_ifndef(OPENOCD_DEFAULT_PATH ${HOST_TOOLS_HOME}/usr/share/openocd/scripts) diff --git a/cmake/toolchain/zephyr/0.11/target.cmake b/cmake/toolchain/zephyr/0.11/target.cmake new file mode 100644 index 00000000000..f7923e47b2e --- /dev/null +++ b/cmake/toolchain/zephyr/0.11/target.cmake @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: Apache-2.0 + +set(CROSS_COMPILE_TARGET_arm arm-zephyr-eabi) +set(CROSS_COMPILE_TARGET_nios2 nios2-zephyr-elf) +set(CROSS_COMPILE_TARGET_riscv riscv64-zephyr-elf) +set(CROSS_COMPILE_TARGET_mips mipsel-zephyr-elf) +set(CROSS_COMPILE_TARGET_xtensa xtensa-zephyr-elf) +set(CROSS_COMPILE_TARGET_arc arc-zephyr-elf) +set(CROSS_COMPILE_TARGET_x86 x86_64-zephyr-elf) + +set(CROSS_COMPILE_TARGET ${CROSS_COMPILE_TARGET_${ARCH}}) +set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET}) + +if("${ARCH}" STREQUAL "xtensa") + set(SYSROOT_DIR ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${SYSROOT_TARGET}) + set(TOOLCHAIN_INCLUDES + ${SYSROOT_DIR}/include/arch/include + ${SYSROOT_DIR}/include + ) + + LIST(APPEND TOOLCHAIN_LIBS hal) + LIST(APPEND LIB_INCLUDE_DIR -L${SYSROOT_DIR}/lib) + set(CROSS_COMPILE ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-) +else() + set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET}) + set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-) +endif() + +if("${ARCH}" STREQUAL "x86") + if(CONFIG_X86_64) + list(APPEND TOOLCHAIN_C_FLAGS -m64) + list(APPEND TOOLCHAIN_LD_FLAGS -m64) + else() + list(APPEND TOOLCHAIN_C_FLAGS -m32) + list(APPEND TOOLCHAIN_LD_FLAGS -m32) + endif() +endif()