@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
4040    set (TOOLCHAIN "arm-linux-gnueabihf" )
4141  endif ()
4242  if (TIZEN)
43-     set (TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0 " )
43+     set (TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf" )
4444  endif ()
4545elseif (TARGET_ARCH_NAME STREQUAL  "arm64" )
4646  set (CMAKE_SYSTEM_PROCESSOR  aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
4949  elseif (LINUX)
5050    set (TOOLCHAIN "aarch64-linux-gnu" )
5151    if (TIZEN)
52-       set (TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0 " )
52+       set (TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu" )
5353    endif ()
5454  elseif (FREEBSD)
5555    set (triple "aarch64-unknown-freebsd12" )
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
5858  set (CMAKE_SYSTEM_PROCESSOR  armv7l)
5959  set (TOOLCHAIN "arm-linux-gnueabi" )
6060  if (TIZEN)
61-     set (TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0 " )
61+     set (TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi" )
6262  endif ()
6363elseif (TARGET_ARCH_NAME STREQUAL  "armv6" )
6464  set (CMAKE_SYSTEM_PROCESSOR  armv6l)
@@ -95,7 +95,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
9595  elseif (LINUX)
9696    set (TOOLCHAIN "x86_64-linux-gnu" )
9797    if (TIZEN)
98-       set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0 " )
98+       set (TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu" )
9999    endif ()
100100  elseif (FREEBSD)
101101    set (triple "x86_64-unknown-freebsd12" )
@@ -112,7 +112,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
112112    set (TOOLCHAIN "i686-linux-gnu" )
113113  endif ()
114114  if (TIZEN)
115-     set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0 " )
115+     set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu" )
116116  endif ()
117117else ()
118118  message (FATAL_ERROR "Arch is ${TARGET_ARCH_NAME} . Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!" )
@@ -124,26 +124,25 @@ endif()
124124
125125# Specify include paths 
126126if (TIZEN)
127-   if (TARGET_ARCH_NAME STREQUAL  "arm" )
128-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
129-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/armv7hl-tizen-linux-gnueabihf)
130-   endif ()
131-   if (TARGET_ARCH_NAME STREQUAL  "armel" )
132-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
133-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/armv7l-tizen-linux-gnueabi)
134-   endif ()
135-   if (TARGET_ARCH_NAME STREQUAL  "arm64" )
136-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
137-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/aarch64-tizen-linux-gnu)
138-   endif ()
139-   if (TARGET_ARCH_NAME STREQUAL  "x86" )
140-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
141-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} /include /c++/i586-tizen-linux-gnu)
142-   endif ()
143-   if (TARGET_ARCH_NAME STREQUAL  "x64" )
144-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/)
145-     include_directories (SYSTEM  ${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} /include /c++/x86_64-tizen-linux-gnu)
127+   function (find_toolchain_dir prefix )
128+     # Dynamically find the version subdirectory 
129+     file (GLOB DIRECTORIES "${prefix} /*" )
130+     list (GET  DIRECTORIES 0 FIRST_MATCH)
131+     get_filename_component (TOOLCHAIN_VERSION ${FIRST_MATCH}  NAME )
132+ 
133+     set (TIZEN_TOOLCHAIN_PATH "${prefix} /${TOOLCHAIN_VERSION} "  PARENT_SCOPE)
134+   endfunction ()
135+ 
136+   if (TARGET_ARCH_NAME MATCHES  "^(arm|armel|x86)$" )
137+     find_toolchain_dir("${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
138+   else ()
139+     find_toolchain_dir("${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
146140  endif ()
141+ 
142+   message (STATUS  "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH} " )
143+ 
144+   include_directories (SYSTEM  ${TIZEN_TOOLCHAIN_PATH} /include /c++)
145+   include_directories (SYSTEM  ${TIZEN_TOOLCHAIN_PATH} /include /c++/${TIZEN_TOOLCHAIN} )
147146endif ()
148147
149148if (ANDROID)
@@ -265,21 +264,21 @@ endif()
265264
266265if (TARGET_ARCH_NAME MATCHES  "^(arm|armel)$" )
267266  if (TIZEN)
268-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
267+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
269268    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
270269    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
271-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
270+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
272271  endif ()
273272elseif (TARGET_ARCH_NAME MATCHES  "^(arm64|x64)$" )
274273  if (TIZEN)
275-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
274+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
276275    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib64" )
277276    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib64" )
278-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
277+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
279278
280279    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /lib64" )
281280    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64" )
282-     add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}  /usr/lib64/gcc/ ${TIZEN_TOOLCHAIN } )
281+     add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH } " )
283282  endif ()
284283elseif (TARGET_ARCH_NAME STREQUAL  "x86" )
285284  if (EXISTS  ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
@@ -288,10 +287,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
288287  endif ()
289288  add_toolchain_linker_flag(-m32)
290289  if (TIZEN)
291-     add_toolchain_linker_flag("-B${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
290+     add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH } " )
292291    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
293292    add_toolchain_linker_flag("-L${CROSS_ROOTFS} /usr/lib" )
294-     add_toolchain_linker_flag("-L${CROSS_ROOTFS}  /usr/lib/gcc/ ${TIZEN_TOOLCHAIN } )
293+     add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH } " )
295294  endif ()
296295elseif (ILLUMOS)
297296  add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib/amd64" )
0 commit comments