Skip to content

Commit ab31116

Browse files
[release/9.0-staging] Fix Tizen linux-armel build (#110614)
Co-authored-by: Adeel Mujahid <[email protected]>
1 parent 454fffd commit ab31116

File tree

1 file changed

+31
-36
lines changed

1 file changed

+31
-36
lines changed

eng/common/cross/toolchain.cmake

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -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()
4545
elseif(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()
6363
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
6464
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -81,7 +81,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
8181
else()
8282
set(TOOLCHAIN "riscv64-linux-gnu")
8383
if(TIZEN)
84-
set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
84+
set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
8585
endif()
8686
endif()
8787
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +98,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
9898
elseif(LINUX)
9999
set(TOOLCHAIN "x86_64-linux-gnu")
100100
if(TIZEN)
101-
set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
101+
set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
102102
endif()
103103
elseif(FREEBSD)
104104
set(triple "x86_64-unknown-freebsd12")
@@ -115,7 +115,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
115115
set(TOOLCHAIN "i686-linux-gnu")
116116
endif()
117117
if(TIZEN)
118-
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
118+
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
119119
endif()
120120
else()
121121
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -127,30 +127,25 @@ endif()
127127

128128
# Specify include paths
129129
if(TIZEN)
130-
if(TARGET_ARCH_NAME STREQUAL "arm")
131-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
132-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
133-
endif()
134-
if(TARGET_ARCH_NAME STREQUAL "armel")
135-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
136-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
137-
endif()
138-
if(TARGET_ARCH_NAME STREQUAL "arm64")
139-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
140-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
141-
endif()
142-
if(TARGET_ARCH_NAME STREQUAL "x86")
143-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
144-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
145-
endif()
146-
if(TARGET_ARCH_NAME STREQUAL "x64")
147-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
148-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
149-
endif()
150-
if(TARGET_ARCH_NAME STREQUAL "riscv64")
151-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
152-
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
130+
function(find_toolchain_dir prefix)
131+
# Dynamically find the version subdirectory
132+
file(GLOB DIRECTORIES "${prefix}/*")
133+
list(GET DIRECTORIES 0 FIRST_MATCH)
134+
get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
135+
136+
set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
137+
endfunction()
138+
139+
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
140+
find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
141+
else()
142+
find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
153143
endif()
144+
145+
message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
146+
147+
include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
148+
include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
154149
endif()
155150

156151
if(ANDROID)
@@ -272,21 +267,21 @@ endif()
272267

273268
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
274269
if(TIZEN)
275-
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
270+
add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
276271
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
277272
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
278-
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
273+
add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
279274
endif()
280275
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$")
281276
if(TIZEN)
282-
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
277+
add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
283278
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
284279
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
285-
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
280+
add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
286281

287282
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
288283
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
289-
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
284+
add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
290285
endif()
291286
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
292287
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -297,10 +292,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
297292
endif()
298293
add_toolchain_linker_flag(-m32)
299294
if(TIZEN)
300-
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
295+
add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
301296
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
302297
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
303-
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
298+
add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
304299
endif()
305300
elseif(ILLUMOS)
306301
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")

0 commit comments

Comments
 (0)