@@ -10,23 +10,48 @@ set(COMPILER gcc)
1010set (LINKER ld)
1111set (BINTOOLS gnu)
1212
13+ # find some toolchain
1314file (GLOB toolchain_paths
1415 LIST_DIRECTORIES true
15- ${TOOLCHAIN_HOME}
16+ ${TOOLCHAIN_HOME} /*-esp32*/*-elf
17+ ${TOOLCHAIN_HOME} /*-esp*/*-elf
1618 )
1719
20+ # Old toolchain installation path has been deprecated in 2.7.
21+ # This code and related code depending on ESPRESSIF_DEPRECATED_PATH can be removed after two releases.
22+ if (NOT toolchain_paths)
23+ # find some toolchain
24+ file (GLOB toolchain_paths
25+ LIST_DIRECTORIES true
26+ ${TOOLCHAIN_HOME}
27+ )
28+
29+ set (ESPRESSIF_DEPRECATED_PATH TRUE )
30+ endif ()
31+
1832if (toolchain_paths)
19- list (GET toolchain_paths 0 soc_toolchain_path)
33+ list (GET toolchain_paths 0 some_toolchain_path)
34+
35+ get_filename_component (one_toolchain_root "${some_toolchain_path} " DIRECTORY )
36+ get_filename_component (one_toolchain "${some_toolchain_path} " NAME )
2037
21- get_filename_component (soc_toolchain "${soc_toolchain_path} " NAME )
38+ set (CROSS_COMPILE_TARGET ${one_toolchain} )
39+ set (SYSROOT_TARGET ${one_toolchain} )
40+
41+ if (ESPRESSIF_DEPRECATED_PATH)
42+ set (CROSS_COMPILE ${ESPRESSIF_TOOLCHAIN_PATH} /bin/${CROSS_COMPILE_TARGET} -)
43+ set (SYSROOT_DIR ${ESPRESSIF_TOOLCHAIN_PATH} /${SYSROOT_TARGET} )
44+ else ()
45+ set (CROSS_COMPILE ${one_toolchain_root} /bin/${CROSS_COMPILE_TARGET} -)
46+ set (SYSROOT_DIR ${one_toolchain_root} /${SYSROOT_TARGET} )
47+ endif ()
2248
23- set (CROSS_COMPILE_TARGET ${soc_toolchain} )
24- set (SYSROOT_TARGET ${soc_toolchain} )
2549endif ()
2650
27- set (CROSS_COMPILE ${TOOLCHAIN_HOME} /bin/${CROSS_COMPILE_TARGET} -)
28- set (SYSROOT_DIR ${TOOLCHAIN_HOME} /${SYSROOT_TARGET} )
51+ if (NOT CROSS_COMPILE_TARGET)
52+ message (FATAL_ERROR
53+ "Unable to find toolchain in ${TOOLCHAIN_HOME} "
54+ "Run `west espressif install` to download it. Then, export to path accordingly." )
55+ endif ()
2956
3057set (TOOLCHAIN_HAS_NEWLIB ON CACHE BOOL "True if toolchain supports newlib" )
31-
32- message (STATUS "Found toolchain: espressif (${ESPRESSIF_TOOLCHAIN_PATH} )" )
0 commit comments