Skip to content

Commit dfa9ee7

Browse files
committed
update layer compat from Dunfell to Scarthgap
Scarthgap uses a different syntax for adding append and prepend rules; update recipe syntax for this, along with updating LAYERSERIES_COMPAT to scarthgap. Dunfell compatibility can be re-added at a later date should it be required.
1 parent 9fd304d commit dfa9ee7

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

classes/swift-cmake-base.bbclass

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,27 @@ inherit cmake
22

33
DEPENDS_append += " swift-native libgcc gcc glibc "
44

5+
DEPENDS:append = " swift-native libgcc gcc glibc "
6+
57
SWIFT_TARGET_ARCH = "${@oe.utils.conditional('TARGET_ARCH', 'arm', 'armv7', 'aarch64', d)}"
68
SWIFT_TARGET_NAME = "${@oe.utils.conditional('TARGET_ARCH', 'arm', 'armv7-unknown-linux-gnueabihf', 'aarch64-unknown-linux-gnu', d)}"
79
TARGET_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++"
3133
RUNTIME_FLAGS = "-w -fuse-ld=lld -B${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/current"
3234
TARGET_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

3945
BUILD_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

6869
EXTRANATIVEPATH += "swift-tools"
6970

@@ -104,4 +105,10 @@ do_create_gcc_version_symlinks() {
104105
}
105106

106107
addtask 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"

classes/swift-cmake.bbclass

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
inherit swift-cmake-base
22

3-
DEPENDS_append += " swift-stdlib libdispatch libfoundation "
3+
DEPENDS:append = "swift-stdlib libdispatch swift-foundation"
44

55
TARGET_LDFLAGS += "-L${STAGING_DIR_TARGET}/usr/lib/swift/linux"

conf/layer.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "swift-layer"
99
BBFILE_PATTERN_swift-layer := "^${LAYERDIR}/"
1010
BBFILE_PRIORITY_swift-layer = "7"
1111

12-
LAYERSERIES_COMPAT_swift-layer = "dunfell"
12+
LAYERSERIES_COMPAT_swift-layer = "scarthgap"

0 commit comments

Comments
 (0)