@@ -67,13 +67,25 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6")
6767 endif ()
6868elseif (TARGET_ARCH_NAME STREQUAL "ppc64le" )
6969 set (CMAKE_SYSTEM_PROCESSOR ppc64le)
70- set (TOOLCHAIN "powerpc64le-linux-gnu" )
70+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/powerpc64le-alpine-linux-musl)
71+ set (TOOLCHAIN "powerpc64le-alpine-linux-musl" )
72+ else ()
73+ set (TOOLCHAIN "powerpc64le-linux-gnu" )
74+ endif ()
7175elseif (TARGET_ARCH_NAME STREQUAL "riscv64" )
7276 set (CMAKE_SYSTEM_PROCESSOR riscv64)
73- set (TOOLCHAIN "riscv64-linux-gnu" )
77+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/riscv64-alpine-linux-musl)
78+ set (TOOLCHAIN "riscv64-alpine-linux-musl" )
79+ else ()
80+ set (TOOLCHAIN "riscv64-linux-gnu" )
81+ endif ()
7482elseif (TARGET_ARCH_NAME STREQUAL "s390x" )
7583 set (CMAKE_SYSTEM_PROCESSOR s390x)
76- set (TOOLCHAIN "s390x-linux-gnu" )
84+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/s390x-alpine-linux-musl)
85+ set (TOOLCHAIN "s390x-alpine-linux-musl" )
86+ else ()
87+ set (TOOLCHAIN "s390x-linux-gnu" )
88+ endif ()
7789elseif (TARGET_ARCH_NAME STREQUAL "x64" )
7890 set (CMAKE_SYSTEM_PROCESSOR x86_64)
7991 if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/x86_64-alpine-linux-musl)
@@ -92,7 +104,11 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
92104 endif ()
93105elseif (TARGET_ARCH_NAME STREQUAL "x86" )
94106 set (CMAKE_SYSTEM_PROCESSOR i686)
95- set (TOOLCHAIN "i686-linux-gnu" )
107+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
108+ set (TOOLCHAIN "i586-alpine-linux-musl" )
109+ else ()
110+ set (TOOLCHAIN "i686-linux-gnu" )
111+ endif ()
96112 if (TIZEN)
97113 set (TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0" )
98114 endif ()
@@ -266,8 +282,11 @@ elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
266282 add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib64/gcc/${TIZEN_TOOLCHAIN} " )
267283 endif ()
268284elseif (TARGET_ARCH_NAME STREQUAL "x86" )
285+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
286+ add_toolchain_linker_flag("--target=${TOOLCHAIN} " )
287+ add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS} /usr/lib/gcc/${TOOLCHAIN} " )
288+ endif ()
269289 add_toolchain_linker_flag(-m32)
270-
271290 if (TIZEN)
272291 add_toolchain_linker_flag("-B${CROSS_ROOTFS} /usr/lib/gcc/${TIZEN_TOOLCHAIN} " )
273292 add_toolchain_linker_flag("-L${CROSS_ROOTFS} /lib" )
@@ -307,6 +326,9 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
307326 add_compile_options (-mfloat-abi=softfp)
308327 endif ()
309328elseif (TARGET_ARCH_NAME STREQUAL "x86" )
329+ if (EXISTS ${CROSS_ROOTFS} /usr/lib/gcc/i586-alpine-linux-musl)
330+ add_compile_options (--target =${TOOLCHAIN} )
331+ endif ()
310332 add_compile_options (-m32)
311333 add_compile_options (-Wno-error=unused-command -line-argument)
312334endif ()
0 commit comments