@@ -138,7 +138,7 @@ option(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB
138138 "Enable build of the embedded Swift standard library and runtime"
139139 TRUE )
140140
141- if (NOT SWIFT_HOST_VARIANT STREQUAL "macosx" )
141+ if (( NOT SWIFT_HOST_VARIANT STREQUAL "macosx" ) AND ( NOT SWIFT_HOST_VARIANT STREQUAL "linux" ) )
142142 set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB FALSE )
143143elseif (NOT SWIFT_INCLUDE_TOOLS)
144144 # Temporarily, only build embedded stdlib when building the compiler, to
@@ -151,12 +151,36 @@ endif()
151151if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
152152 set (EMBEDDED_STDLIB_TARGET_TRIPLES
153153 # arch module_name target triple
154+ "armv6 armv6-apple-none-macho armv6-apple-none-macho"
155+ "armv6m armv6m-apple-none-macho armv6m-apple-none-macho"
154156 "armv7 armv7-apple-none-macho armv7-apple-none-macho"
157+ "armv7em armv7em-apple-none-macho armv7em-apple-none-macho"
155158 "arm64 arm64-apple-none-macho arm64-apple-none-macho"
156- "x86_64 x86_64-apple-macos x86_64-apple-macos10.13"
157- "arm64 arm64-apple-macos arm64-apple-macos10.13"
158- "arm64e arm64e-apple-macos arm64e-apple-macos10.13"
159+
160+ # the following are all ELF targets
161+ "armv6 armv6-none-none-eabi armv6-none-none-eabi"
162+ "armv6m armv6m-none-none-eabi armv6-none-none-eabi"
163+ "armv7 armv7-none-none-eabi armv7-none-none-eabi"
164+ "armv7em armv7em-none-none-eabi armv7em-none-none-eabi"
165+ "aarch64 aarch64-none-none-elf aarch64-none-none-elf"
166+ "riscv32 riscv32-none-none-eabi riscv32-none-none-eabi"
167+ "riscv64 riscv64-none-none-eabi riscv64-none-none-eabi"
159168 )
169+
170+ if (SWIFT_HOST_VARIANT STREQUAL "linux" )
171+ set (EMBEDDED_STDLIB_TARGET_TRIPLES ${EMBEDDED_STDLIB_TARGET_TRIPLES}
172+ "${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu ${SWIFT_HOST_VARIANT_ARCH} -unknown-linux-gnu"
173+ # In practice this expands to either:
174+ # "x86_64 x86_64-unknown-linux-gnu x86_64-unknown-linux-gnu"
175+ # "aarch64 aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu"
176+ )
177+ elseif (SWIFT_HOST_VARIANT STREQUAL "macosx" )
178+ set (EMBEDDED_STDLIB_TARGET_TRIPLES ${EMBEDDED_STDLIB_TARGET_TRIPLES}
179+ "x86_64 x86_64-apple-macos x86_64-apple-macos10.13"
180+ "arm64 arm64-apple-macos arm64-apple-macos10.13"
181+ "arm64e arm64e-apple-macos arm64e-apple-macos10.13"
182+ )
183+ endif ()
160184endif ()
161185
162186if (SWIFT_BUILD_STDLIB)
0 commit comments