@@ -2,25 +2,27 @@ inherit cmake
22
33DEPENDS_append += " swift-native libgcc gcc glibc "
44
5+ DEPENDS :append = " swift-native libgcc gcc glibc "
6+
57SWIFT_TARGET_ARCH = "${@ oe . utils . conditional ('TARGET_ARCH' , 'arm' , 'armv7' , 'aarch64' , d )}"
68SWIFT_TARGET_NAME = "${@ oe . utils . conditional ('TARGET_ARCH' , 'arm' , 'armv7-unknown-linux-gnueabihf' , 'aarch64-unknown-linux-gnu' , d )}"
79TARGET_CPU_NAME = "${@ oe . utils . conditional ('TARGET_ARCH' , 'arm' , 'armv7-a' , 'aarch64' , d )}"
810
9- HOST_CC_ARCH_prepend = "-target ${SWIFT_TARGET_NAME} "
11+ HOST_CC_ARCH : prepend = "-target ${SWIFT_TARGET_NAME} "
1012
1113# ###############################################################################
1214# NOTE: The host running bitbake must have lld available and the following #
1315# must be added to the local.conf file: #
1416# #
15- # HOSTTOOLS + = "ld.lld" #
17+ # HOSTTOOLS:append = " ld.lld" #
1618# #
1719# ###############################################################################
1820
1921# Use lld (see note above)
20- TARGET_LDFLAGS + = "-fuse-ld=lld"
22+ TARGET_LDFLAGS : append = " -fuse-ld=lld"
2123
2224# Add build-id to generated binaries
23- TARGET_LDFLAGS + = "-Xlinker --build-id=sha1"
25+ TARGET_LDFLAGS : append = " -Xlinker --build-id=sha1"
2426
2527# Use Apple's provided clang (it understands Apple's custom compiler flags)
2628# Made available via swift-native package.
@@ -31,10 +33,14 @@ OECMAKE_CXX_COMPILER = "clang++"
3133RUNTIME_FLAGS = "-w -fuse-ld=lld -B${STAGING_DIR_TARGET} /usr/lib/${TARGET_SYS} /current"
3234TARGET_LDFLAGS += "-w -fuse-ld=lld -L${STAGING_DIR_TARGET} /usr/lib/${TARGET_SYS} /current"
3335
34- EXTRA_INCLUDE_FLAGS ?= ""
35- OECMAKE_C_FLAGS += "${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
36- OECMAKE_CXX_FLAGS += "${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
37- OECMAKE_ASM_FLAGS += "${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
36+ OECMAKE_C_FLAGS :append = " ${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
37+ OECMAKE_CXX_FLAGS :append = " ${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
38+ OECMAKE_ASM_FLAGS :append = " ${RUNTIME_FLAGS} ${EXTRA_INCLUDE_FLAGS} "
39+
40+ SWIFTC_BIN = "${STAGING_DIR_NATIVE} /usr/bin/swiftc"
41+
42+ EXTRA_OECMAKE :append = " -DCMAKE_Swift_COMPILER=${SWIFTC_BIN} "
43+ EXTRA_OECMAKE :append = " -DCMAKE_SWIFT_COMPILER=${SWIFTC_BIN} "
3844
3945BUILD_MODE = "${@ ['release' , 'debug' ][d . getVar ('DEBUG_BUILD' ) == '1' ]}"
4046
@@ -58,12 +64,7 @@ SWIFT_FLAGS = "-target ${SWIFT_TARGET_NAME} -use-ld=lld \
5864${EXTRA_SWIFTC_FLAGS} \
5965"
6066
61- HOST_LLVM_PATH = "${STAGING_DIR_NATIVE} /opt/usr/lib/llvm-swift"
62- EXTRA_OECMAKE += '-DCMAKE_Swift_FLAGS="${SWIFT_FLAGS} "'
63- EXTRA_OECMAKE += " -DSWIFT_USE_LINKER=lld"
64- EXTRA_OECMAKE += " -DLLVM_USE_LINKER=lld"
65- EXTRA_OECMAKE += " -DLLVM_DIR=${HOST_LLVM_PATH} /lib/cmake/llvm"
66- EXTRA_OECMAKE += " -DLLVM_BUILD_LIBRARY_DIR=${HOST_LLVM_PATH} "
67+ HOST_LLVM_PATH = "${STAGING_DIR_NATIVE} /usr/lib"
6768
6869EXTRANATIVEPATH += "swift-tools"
6970
@@ -104,4 +105,10 @@ do_create_gcc_version_symlinks() {
104105}
105106
106107addtask do_create_gcc_version_symlinks after do_prepare_recipe_sysroot before do_configure
108+ EXTRA_OECMAKE :append = ' -DCMAKE_Swift_FLAGS="${SWIFT_FLAGS} "'
109+ EXTRA_OECMAKE :append = " -DSWIFT_USE_LINKER=lld"
110+ EXTRA_OECMAKE :append = " -DLLVM_USE_LINKER=lld"
111+ EXTRA_OECMAKE :append = " -DLLVM_DIR=${HOST_LLVM_PATH} /cmake/llvm"
112+ EXTRA_OECMAKE :append = " -DLLVM_BUILD_LIBRARY_DIR=${HOST_LLVM_PATH} "
107113
114+ EXTRANATIVEPATH :append = " swift-tools"
0 commit comments