Skip to content

Commit 872feb6

Browse files
committed
Update swift-stdlib for Swift 6.1.2
1 parent 8e15c6b commit 872feb6

File tree

5 files changed

+410
-281
lines changed

5 files changed

+410
-281
lines changed
Lines changed: 206 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,243 @@
1-
SUMMARY = "Swift standard library"
2-
HOMEPAGE = "https://swift.org/"
1+
SUMMARY = "Swift"
2+
DESCRIPTION = "The Swift programming language standard library"
3+
HOMEPAGE = "https://github.com/swiftlang/swift"
34

45
LICENSE = "Apache-2.0"
56
LIC_FILES_CHKSUM = "file://${S}/LICENSE.txt;md5=f6c482a0548ea60d6c2e015776534035"
67

8+
PACKAGES:append = " ${PN}-embedded"
9+
710
require swift-version.inc
8-
PV = "${SWIFT_VERSION}"
11+
PV = "${SWIFT_VERSION}+git${SRCPV}"
12+
SRCREV_FORMAT = "swift_libdispatch_stringproc_syntax"
13+
14+
SRC_URI = "\
15+
git://github.com/swiftlang/swift.git;protocol=https;name=swift;tag=swift-${SWIFT_VERSION}-RELEASE;nobranch=1;destsuffix=swift; \
16+
git://github.com/swiftlang/swift-corelibs-libdispatch.git;protocol=https;name=libdispatch;tag=swift-${SWIFT_VERSION}-RELEASE;nobranch=1;destsuffix=libdispatch; \
17+
git://github.com/swiftlang/swift-experimental-string-processing.git;protocol=https;name=stringproc;tag=swift-${SWIFT_VERSION}-RELEASE;nobranch=1;destsuffix=swift-experimental-string-processing; \
18+
git://github.com/swiftlang/swift-syntax.git;protocol=https;name=syntax;tag=swift-${SWIFT_VERSION}-RELEASE;nobranch=1;destsuffix=swift-syntax; \
19+
file://llvm-cmake-modules \
20+
file://PR75367-buildbot-cross-compile.diff \
21+
"
922

10-
SRC_URI = "git://github.com/apple/swift.git;protocol=https;tag=swift-${PV}-RELEASE;nobranch=1 \
11-
file://0001-Float16.patch \
12-
file://fix_modulemap.sh \
13-
file://cmake-configure-swift-stdlib.sh \
14-
"
15-
SRC_URI += "git://github.com/apple/swift-corelibs-libdispatch.git;protocol=https;tag=swift-${PV}-RELEASE;nobranch=1;destsuffix=libdispatch"
23+
S = "${WORKDIR}/swift"
1624

17-
S = "${WORKDIR}/git"
1825
SWIFT_BUILDDIR = "${S}/build"
19-
DEPENDS = "gcc-runtime python3-native icu ncurses"
20-
DEPENDS += " swift-native swift-llvm-native libgcc gcc glibc libxml2"
26+
DEPENDS = "gcc-runtime python3-native icu ncurses swift-native libgcc gcc glibc libxml2 libxml2-native ninja-native"
2127

2228
inherit swift-cmake-base
2329

24-
SWIFT_GGC_VERSION = "9.3.0"
25-
26-
EXTRA_INCLUDE_FLAGS = "\
27-
-I${STAGING_DIR_TARGET}/usr/include/c++/${SWIFT_GGC_VERSION}/${TARGET_SYS} \
28-
-I${STAGING_DIR_TARGET}/usr/include/c++/${SWIFT_GGC_VERSION} \
29-
-I${STAGING_DIR_TARGET}"
30+
TARGET_LDFLAGS:append = " -w -fuse-ld=lld -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GCC_VERSION}"
3031

31-
TARGET_LDFLAGS += "-w -fuse-ld=lld -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/current"
32+
SWIFT_CMAKE_TOOLCHAIN_FILE = "${WORKDIR}/linux-${SWIFT_TARGET_ARCH}-toolchain.cmake"
3233

33-
HOST_SWIFT_SUPPORT_DIR = "/tmp/swift-stdlib-yocto"
34-
SWIFT_CMAKE_TOOLCHAIN_FILE = "${HOST_SWIFT_SUPPORT_DIR}/linux-${SWIFT_TARGET_ARCH}-toolchain.cmake"
35-
SWIFT_CONFIGURE_CMAKE_SCRIPT="${WORKDIR}/cmake-configure-swift-stdlib.sh"
36-
SWIFT_C_FLAGS = "-w -fuse-ld=lld -target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} -B${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GGC_VERSION} -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GGC_VERSION} -I${STAGING_DIR_TARGET}/usr/include ${EXTRA_INCLUDE_FLAGS}"
34+
SWIFT_C_FLAGS = "-w -fuse-ld=lld -target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} -B${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GCC_VERSION} -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GCC_VERSION} -I${STAGING_DIR_TARGET}/usr/include ${EXTRA_INCLUDE_FLAGS}"
3735
SWIFT_C_LINK_FLAGS = "-target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} ${EXTRA_INCLUDE_FLAGS}"
38-
SWIFT_CXX_FLAGS = "-w -fuse-ld=lld -target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} -B${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GGC_VERSION} -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GGC_VERSION} -I${STAGING_DIR_TARGET}/usr/include -B${STAGING_DIR_TARGET}/usr/lib ${EXTRA_INCLUDE_FLAGS}"
36+
37+
SWIFT_CXX_FLAGS = "-w -fuse-ld=lld -target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} -B${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GCC_VERSION} -L${STAGING_DIR_TARGET}/usr/lib/${TARGET_SYS}/${SWIFT_GCC_VERSION} -I${STAGING_DIR_TARGET}/usr/include -B${STAGING_DIR_TARGET}/usr/lib ${EXTRA_INCLUDE_FLAGS}"
3938
SWIFT_CXX_LINK_FLAGS = "-target ${SWIFT_TARGET_NAME} --sysroot ${STAGING_DIR_TARGET} ${EXTRA_INCLUDE_FLAGS}"
4039

41-
SWIFT_CMAKE_TOOLCHAIN = "set(CMAKE_SYSTEM_NAME Linux) \
42-
\nset(CMAKE_C_COMPILER ${STAGING_DIR_NATIVE}/opt/usr/bin/clang) \
43-
\nset(CMAKE_CXX_COMPILER ${STAGING_DIR_NATIVE}/opt/usr/bin/clang++) \
44-
\nset(CMAKE_C_FLAGS \"${SWIFT_C_FLAGS}\") \
45-
\nset(CMAKE_C_LINK_FLAGS \"${SWIFT_C_LINK_FLAGS}\") \
46-
\nset(CMAKE_CXX_FLAGS \"${SWIFT_CXX_FLAGS}\") \
47-
\nset(CMAKE_CXX_LINK_FLAGS \"${SWIFT_CXX_LINK_FLAGS}\") \
48-
\nset(SWIFT_USE_LINKER lld) \
49-
\nset(LLVM_USE_LINKER lld) \
50-
\nset(LLVM_DIR ${HOST_LLVM_PATH}/lib/cmake/llvm) \
51-
\nset(LLVM_BUILD_LIBRARY_DIR ${HOST_LLVM_PATH}) \
52-
\nset(LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN ON) \
53-
\nset(SWIFT_INCLUDE_TOOLS OFF) \
54-
\nset(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER ON) \
55-
\nset(SWIFT_PREBUILT_CLANG ON) \
56-
\nset(SWIFT_NATIVE_CLANG_TOOLS_PATH ${STAGING_DIR_NATIVE}/opt/usr/bin) \
57-
\nset(SWIFT_NATIVE_LLVM_TOOLS_PATH ${STAGING_DIR_NATIVE}/opt/usr/bin) \
58-
\nset(SWIFT_NATIVE_SWIFT_TOOLS_PATH ${STAGING_DIR_NATIVE}/opt/usr/bin) \
59-
\nset(SWIFT_BUILD_AST_ANALYZER OFF) \
60-
\nset(SWIFT_BUILD_DYNAMIC_SDK_OVERLAY ON) \
61-
\nset(SWIFT_BUILD_DYNAMIC_STDLIB ON) \
62-
\nset(SWIFT_BUILD_REMOTE_MIRROR OFF) \
63-
\nset(SWIFT_BUILD_SOURCEKIT OFF) \
64-
\nset(SWIFT_BUILD_STDLIB_EXTRA_TOOLCHAIN_CONTENT OFF) \
65-
\nset(SWIFT_BUILD_SYNTAXPARSERLIB OFF) \
66-
\nset(SWIFT_BUILD_REMOTE_MIRROR OFF) \
67-
\nset(SWIFT_ENABLE_SOURCEKIT_TESTS OFF) \
68-
\nset(SWIFT_INCLUDE_DOCS OFF) \
69-
\nset(SWIFT_INCLUDE_TOOLS OFF) \
70-
\nset(SWIFT_INCLUDE_TESTS OFF) \
71-
\nset(SWIFT_LIBRARY_EVOLUTION 0) \
72-
\nset(SWIFT_RUNTIME_OS_VERSIONING OFF) \
73-
\nset(SWIFT_HOST_VARIANT_ARCH ${SWIFT_TARGET_ARCH}) \
74-
\nset(SWIFT_SDKS LINUX) \
75-
\nset(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_PATH ${STAGING_DIR_TARGET} ) \
76-
\nset(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_INCLUDE_DIRECTORY ${STAGING_DIR_TARGET}/usr/include ) \
77-
\nset(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY ${STAGING_DIR_TARGET}/usr/include) \
78-
\nset(SWIFT_LINUX_${SWIFT_TARGET_ARCH}_ICU_I18N ${STAGING_DIR_TARGET}/usr/lib/libicui18n.so) \
79-
\nset(SWIFT_LINUX_${SWIFT_TARGET_ARCH}_ICU_UC ${STAGING_DIR_TARGET}/usr/lib/libicuuc.so) \
80-
\nset(ZLIB_LIBRARY ${STAGING_DIR_TARGET}/usr/lib/libz.so) \
81-
\nset(ICU_I18N_LIBRARIES ${STAGING_DIR_TARGET}/usr/lib/libicui18n.so) \
82-
\nset(ICU_UC_LIBRARIES ${STAGING_DIR_TARGET}/usr/lib/libicuuc.so) \
83-
\nset(SWIFT_PATH_TO_LIBDISPATCH_SOURCE ${WORKDIR}/libdispatch) \
84-
\nset(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY ON) \
85-
"
40+
do_fix_gcc_install_dir() {
41+
# symbolic links do not work, will not be found by Swift clang driver
42+
# this is necessary to make the libstdc++ location heuristic work, necessary for C++ interop
43+
(cd ${STAGING_DIR_TARGET}/usr/lib && rm -rf gcc && mkdir -p gcc && cp -rp ${SWIFT_TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS} gcc)
44+
}
45+
46+
addtask fix_gcc_install_dir before do_configure after do_prepare_recipe_sysroot
8647

8748
do_configure() {
88-
export LDFLAGS=""
89-
export STAGING_DIR=${STAGING_DIR_TARGET}
49+
export SDKROOT=${STAGING_DIR_TARGET}
9050
export SWIFT_SRCDIR=${S}
91-
export LIBDISPATCH_SRCDIR=${WORKDIR}/libdispatch
92-
export SWIFT_BUILDDIR="${SWIFT_BUILDDIR}"
93-
export SWIFT_CMAKE_TOOLCHAIN_FILE=${SWIFT_CMAKE_TOOLCHAIN_FILE}
94-
export SWIFT_NATIVE_PATH=${STAGING_DIR_NATIVE}/opt/usr/bin
95-
export SWIFT_C_FLAGS="${SWIFT_C_FLAGS}"
96-
export SWIFT_C_LINK_FLAGS="${SWIFT_C_LINK_FLAGS}"
97-
export SWIFT_CXX_FLAGS="${SWIFT_CXX_FLAGS}"
98-
export SWIFT_CXX_LINK_FLAGS="${SWIFT_CXX_LINK_FLAGS}"
99-
export SWIFT_LLVM_DIR=${HOST_LLVM_PATH}
100-
export CC=${STAGING_DIR_NATIVE}/opt/usr/bin/clang
51+
export SWIFT_NATIVE_PATH=${STAGING_DIR_NATIVE}/usr/bin
52+
export CC=${STAGING_DIR_NATIVE}/usr/bin/clang
10153
export CFLAGS="${SWIFT_C_FLAGS}"
10254
export CCLD="${SWIFT_C_LINK_FLAGS}"
103-
export CXX=${STAGING_DIR_NATIVE}/opt/usr/bin/clang++
55+
export CXX=${STAGING_DIR_NATIVE}/usr/bin/clang++
10456
export CXXFLAGS="${SWIFT_CXX_FLAGS}"
105-
export SWIFT_TARGET_ARCH=${SWIFT_TARGET_ARCH}
106-
export SWIFT_TARGET_NAME=${SWIFT_TARGET_NAME}
107-
108-
mkdir -p ${HOST_SWIFT_SUPPORT_DIR}
109-
rm -rf $SWIFT_BUILDDIR
110-
mkdir -p $SWIFT_BUILDDIR
111-
${SWIFT_CONFIGURE_CMAKE_SCRIPT}
57+
58+
mkdir -p ${HOST_LLVM_PATH}/cmake/llvm
59+
cp ${WORKDIR}/llvm-cmake-modules/* ${HOST_LLVM_PATH}/cmake/llvm
60+
61+
rm -rf ${SWIFT_BUILDDIR}
62+
mkdir -p ${SWIFT_BUILDDIR}
63+
64+
cat <<EOF > ${SWIFT_CMAKE_TOOLCHAIN_FILE}
65+
set(CMAKE_INSTALL_PREFIX /usr)
66+
set(CMAKE_COLOR_MAKEFILE OFF)
67+
set(CMAKE_CROSSCOMPILING ON)
68+
set(CMAKE_BUILD_TYPE Release)
69+
set(CMAKE_SYSTEM_NAME Linux)
70+
set(CMAKE_SYSTEM_PROCESSOR ${SWIFT_TARGET_ARCH})
71+
set(CMAKE_SYSROOT ${STAGING_DIR_TARGET})
72+
73+
set(CMAKE_C_COMPILER ${SWIFT_NATIVE_PATH}/clang)
74+
set(CMAKE_C_COMPILER_TARGET ${TARGET_SYS})
75+
set(CMAKE_C_FLAGS "${SWIFT_C_FLAGS}")
76+
set(CMAKE_C_LINK_FLAGS "${SWIFT_C_LINK_FLAGS}")
77+
78+
set(CMAKE_CXX_COMPILER ${SWIFT_NATIVE_PATH}/clang++)
79+
set(CMAKE_CXX_COMPILER_TARGET ${TARGET_SYS})
80+
set(CMAKE_CXX_FLAGS "${SWIFT_CXX_FLAGS}")
81+
set(CMAKE_CXX_LINK_FLAGS "${SWIFT_CXX_LINK_FLAGS}")
82+
83+
set(CMAKE_Swift_COMPILER ${SWIFT_NATIVE_PATH}/swiftc)
84+
set(CMAKE_Swift_COMPILER_TARGET ${TARGET_SYS})
85+
set(CMAKE_Swift_COMPILER_WORKS ON)
86+
87+
set(BUILD_DOC OFF)
88+
set(BUILD_DOCS OFF)
89+
set(BUILD_EXAMPLE OFF)
90+
set(BUILD_EXAMPLES OFF)
91+
set(BUILD_TEST OFF)
92+
set(BUILD_TESTS OFF)
93+
set(BUILD_TESTING OFF)
94+
set(BUILD_SHARED_LIBS ON)
95+
96+
set(LLVM_USE_LINKER lld)
97+
set(LLVM_DIR ${HOST_LLVM_PATH}/cmake/llvm)
98+
set(LLVM_BUILD_LIBRARY_DIR ${HOST_LLVM_PATH})
99+
set(LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN ON)
100+
101+
set(SWIFT_USE_LINKER lld)
102+
set(SWIFT_INCLUDE_TOOLS OFF)
103+
set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER ON)
104+
set(SWIFT_PREBUILT_CLANG ON)
105+
set(SWIFT_NATIVE_CLANG_TOOLS_PATH ${SWIFT_NATIVE_PATH})
106+
set(SWIFT_NATIVE_LLVM_TOOLS_PATH ${SWIFT_NATIVE_PATH})
107+
set(SWIFT_NATIVE_SWIFT_TOOLS_PATH ${SWIFT_NATIVE_PATH})
108+
set(SWIFT_BUILD_AST_ANALYZER OFF)
109+
set(SWIFT_BUILD_DYNAMIC_SDK_OVERLAY ON)
110+
set(SWIFT_BUILD_DYNAMIC_STDLIB ON)
111+
set(SWIFT_BUILD_REMOTE_MIRROR OFF)
112+
set(SWIFT_BUILD_SOURCEKIT OFF)
113+
set(SWIFT_BUILD_STDLIB_EXTRA_TOOLCHAIN_CONTENT OFF)
114+
set(SWIFT_BUILD_SYNTAXPARSERLIB OFF)
115+
set(SWIFT_ENABLE_SOURCEKIT_TESTS OFF)
116+
set(SWIFT_INCLUDE_DOCS OFF)
117+
set(SWIFT_INCLUDE_TOOLS OFF)
118+
set(SWIFT_INCLUDE_TESTS OFF)
119+
set(SWIFT_INCLUDE_TEST_BINARIES OFF)
120+
set(SWIFT_LIBRARY_EVOLUTION 0)
121+
set(SWIFT_RUNTIME_OS_VERSIONING OFF)
122+
set(SWIFT_HOST_VARIANT_ARCH ${SWIFT_TARGET_ARCH})
123+
set(SWIFT_SDKS LINUX)
124+
set(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_PATH ${STAGING_DIR_TARGET})
125+
set(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_INCLUDE_DIRECTORY ${STAGING_DIR_TARGET}/usr/include)
126+
set(SWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY ${STAGING_DIR_TARGET}/usr/include)
127+
set(SWIFT_LINUX_${SWIFT_TARGET_ARCH}_ICU_I18N ${STAGING_DIR_TARGET}/usr/lib/libicui18n.so)
128+
set(SWIFT_LINUX_${SWIFT_TARGET_ARCH}_ICU_UC ${STAGING_DIR_TARGET}/usr/lib/libicuuc.so)
129+
set(SWIFT_PATH_TO_LIBDISPATCH_SOURCE ${WORKDIR}/libdispatch)
130+
set(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY ON)
131+
set(SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP ON)
132+
set(SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING ON)
133+
set(SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING ON)
134+
set(SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED ON)
135+
set(SWIFT_ENABLE_EXPERIMENTAL_NONESCAPABLE_TYPES ON)
136+
set(SWIFT_ENABLE_EXPERIMENTAL_OBSERVATION ON)
137+
set(SWIFT_ENABLE_SYNCHRONIZATION ON)
138+
set(SWIFT_PATH_TO_STRING_PROCESSING_SOURCE ${WORKDIR}/swift-experimental-string-processing)
139+
set(SWIFT_SYNTAX_SOURCE_DIR ${WORKDIR}/swift-syntax)
140+
set(SWIFTSYNTAX_SOURCE_DIR ${WORKDIR}/swift-syntax)
141+
set(SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS -Xcc --gcc-install-dir=${STAGING_DIR_TARGET}/usr/lib/gcc/${TARGET_SYS}/${SWIFT_GCC_VERSION} -I${STAGING_DIR_TARGET}/usr/include/c++/${SWIFT_GCC_VERSION} -I${STAGING_DIR_TARGET}/usr/include/c++/${SWIFT_GCC_VERSION}/${TARGET_SYS} -no-verify-emitted-module-interface)
142+
set(SWIFT_SDK_LINUX_CXX_OVERLAY_SWIFT_COMPILE_FLAGS "")
143+
144+
set(ICU_I18N_LIBRARIES ${STAGING_DIR_TARGET}/usr/lib/libicui18n.so)
145+
set(ICU_I18N_INCLUDE_DIRS ${STAGING_DIR_TARGET}/usr/include)
146+
set(ICU_UC_LIBRARIES ${STAGING_DIR_TARGET}/usr/lib/libicuuc.so)
147+
set(ICU_UC_INCLUDE_DIRS ${STAGING_DIR_TARGET}/usr/include)
148+
set(LibRT_LIBRARIES ${STAGING_DIR_TARGET}/usr/lib/librt.a)
149+
set(ZLIB_LIBRARY ${STAGING_DIR_TARGET}/usr/lib/libz.so)
150+
EOF
151+
152+
cmake -S ${SWIFT_SRCDIR} -B ${SWIFT_BUILDDIR} -G Ninja \
153+
-DSDKROOT=${STAGING_DIR_TARGET} \
154+
-DCMAKE_SYSROOT=${STAGING_DIR_TARGET} \
155+
-DCMAKE_TOOLCHAIN_FILE=${SWIFT_CMAKE_TOOLCHAIN_FILE} \
156+
-DSWIFT_HOST_VARIANT_ARCH=${SWIFT_TARGET_ARCH} \
157+
-DSWIFT_NATIVE_CLANG_TOOLS_PATH=${SWIFT_NATIVE_PATH} \
158+
-DSWIFT_NATIVE_SWIFT_TOOLS_PATH=${SWIFT_NATIVE_PATH} \
159+
-DSWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_PATH=${STAGING_DIR_TARGET} \
160+
-DSWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_INCLUDE_DIRECTORY=${STAGING_DIR_TARGET}/usr/include \
161+
-DSWIFT_SDK_LINUX_ARCH_${SWIFT_TARGET_ARCH}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY=${STAGING_DIR_TARGET}/usr/include
112162
}
113163

114164
do_compile() {
115165
cd ${SWIFT_BUILDDIR} && ninja
116-
# remove Swift static libs
117-
rm -rf ${SWIFT_BUILDDIR}/lib/swift_static
166+
}
167+
168+
do_install:prepend() {
118169
# remove Dispatch (it will be built by another package)
119-
rm -rf ${SWIFT_BUILDDIR}/lib/swift/linux/libBlocksRuntime.so
120-
rm -rf ${SWIFT_BUILDDIR}/lib/swift/linux/libdispatch.so
121-
rm -rf ${SWIFT_BUILDDIR}/lib/swift/linux/${SWIFT_TARGET_ARCH}/*.so
122-
# remove some dirs from /usr/lib (we don't include them in any packages)
123-
rm -rf ${SWIFT_BUILDDIR}/lib//swift/clang
124-
rm -rf ${SWIFT_BUILDDIR}/lib//swift/FrameworkABIBaseline
125-
# remove /usr/share (we don't include it in any packages)
170+
rm -f ${SWIFT_BUILDDIR}/lib/swift/linux/libBlocksRuntime.so
171+
rm -f ${SWIFT_BUILDDIR}/lib/swift/linux/libdispatch.so
172+
rm -f ${SWIFT_BUILDDIR}/lib/swift/linux/${SWIFT_TARGET_ARCH}/*.so
173+
174+
# remove some dirs from /lib/swift (we don't include them in any packages)
175+
rm -rf ${SWIFT_BUILDDIR}/lib/swift/clang
176+
rm -rf ${SWIFT_BUILDDIR}/lib/swift/FrameworkABIBaseline
177+
178+
# remove /usr/share (we don't include it in any packages)
126179
rm -rf ${SWIFT_BUILDDIR}/share
180+
127181
# remove /usr/bin (we don't include it in any packages)
128182
rm -rf ${SWIFT_BUILDDIR}/bin
129183
}
130184

131185
do_install() {
186+
# install bridging and custom executor headers
187+
install -d ${D}${includedir}/swift
188+
install -m 0644 ${SWIFT_BUILDDIR}/include/swift/*.h ${D}${includedir}/swift
189+
install -m 0644 ${S}/lib/ClangImporter/SwiftBridging/swift/bridging* ${D}${includedir}/swift
190+
191+
# install libraries
132192
install -d ${D}${libdir}
133-
cp -rf ${SWIFT_BUILDDIR}/lib/swift ${D}${libdir}/
193+
cp -rfd ${SWIFT_BUILDDIR}/lib/swift ${D}${libdir}/
134194
}
135195

136-
FILES_${PN} = "${libdir}/swift/*"
137-
INSANE_SKIP_${PN} = "file-rdeps"
196+
FILES:${PN} = "\
197+
${libdir}/swift/linux/libswift_RegexParser.so \
198+
${libdir}/swift/linux/libswiftSwiftPrivateThreadExtras.so \
199+
${libdir}/swift/linux/libswift_Concurrency.so \
200+
${libdir}/swift/linux/libswift_Differentiation.so \
201+
${libdir}/swift/linux/libswiftDifferentiationUnittest.so \
202+
${libdir}/swift/linux/libswiftDistributed.so \
203+
${libdir}/swift/linux/libswiftRegexBuilder.so \
204+
${libdir}/swift/linux/libswiftObservation.so \
205+
${libdir}/swift/linux/libswiftSwiftOnoneSupport.so \
206+
${libdir}/swift/linux/libswiftSwiftPrivateLibcExtras.so \
207+
${libdir}/swift/linux/libswiftRuntimeUnittest.so \
208+
${libdir}/swift/linux/libswift_StringProcessing.so \
209+
${libdir}/swift/linux/libswiftGlibc.so \
210+
${libdir}/swift/linux/libswiftCore.so \
211+
${libdir}/swift/linux/libswift_Builtin_float.so \
212+
${libdir}/swift/linux/libswiftSwiftPrivate.so \
213+
${libdir}/swift/linux/libswiftSynchronization.so \
214+
${libdir}/swift/linux/libswiftStdlibUnittest.so \
215+
"
216+
217+
FILES:${PN}-dev = "\
218+
${includedir}/swift \
219+
${libdir}/swift/shims \
220+
${libdir}/swift/apinotes \
221+
${libdir}/swift/linux/libswiftCommandLineSupport.a \
222+
${libdir}/swift/linux/libswiftCxxStdlib.a \
223+
${libdir}/swift/linux/libswiftCxx.a \
224+
${libdir}/swift/linux/libcxxshim.modulemap \
225+
${libdir}/swift/linux/libstdcxx.modulemap \
226+
${libdir}/swift/linux/libstdcxx.h \
227+
${libdir}/swift/linux/libcxxshim.h \
228+
${libdir}/swift/linux/libcxxstdlibshim.h \
229+
${libdir}/swift/linux/${SWIFT_TARGET_ARCH} \
230+
${libdir}/swift/linux/*.swiftmodule/* \
231+
"
232+
233+
FILES:${PN}-staticdev = "\
234+
${libdir}/swift_static \
235+
"
236+
237+
FILES:${PN}-embedded = "\
238+
${libdir}/swift/embedded \
239+
"
240+
241+
INSANE_SKIP:${PN} = "file-rdeps"
242+
138243
do_package_qa[noexec] = "1"

recipes-devtools/swift/swift-stdlib/0001-Float16.patch

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)