target.cmake 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # SPDX-License-Identifier: Apache-2.0
  2. # Configures binary tools as mwdt binutils
  3. find_program(CMAKE_ELF2BIN ${CROSS_COMPILE}elf2bin PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  4. find_program(CMAKE_OBJDUMP ${CROSS_COMPILE}elfdumpac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  5. find_program(CMAKE_AS ${CROSS_COMPILE}ccac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  6. find_program(CMAKE_AR ${CROSS_COMPILE}arac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  7. find_program(CMAKE_RANLIB ${CROSS_COMPILE}arac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  8. find_program(CMAKE_READELF ${CROSS_COMPILE}elfdumpac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  9. find_program(CMAKE_NM ${CROSS_COMPILE}nmac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  10. find_program(CMAKE_STRIP ${CROSS_COMPILE}stripac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  11. find_program(CMAKE_SIZE ${CROSS_COMPILE}sizeac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  12. find_program(CMAKE_ELF2HEX ${CROSS_COMPILE}elf2hex PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  13. SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -rq <TARGET> <LINK_FLAGS> <OBJECTS>")
  14. SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -rq <TARGET> <LINK_FLAGS> <OBJECTS>")
  15. SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_AR> -sq <TARGET>")
  16. SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_AR> -sq <TARGET>")
  17. find_program(CMAKE_GDB ${CROSS_COMPILE}mdb PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH)
  18. # MWDT binutils don't support required features like section renameing, so we
  19. # temporarily had to use GNU objcopy instead
  20. find_program(CMAKE_OBJCOPY arc-elf32-objcopy)
  21. if (NOT CMAKE_OBJCOPY)
  22. find_program(CMAKE_OBJCOPY arc-linux-objcopy)
  23. endif()
  24. if (NOT CMAKE_OBJCOPY)
  25. find_program(CMAKE_OBJCOPY objcopy)
  26. endif()
  27. if(NOT CMAKE_OBJCOPY)
  28. message(FATAL_ERROR "Zephyr unable to find any GNU objcopy (ARC or host one)")
  29. endif()
  30. include(${ZEPHYR_BASE}/cmake/bintools/arcmwdt/target_bintools.cmake)