Skip to content

Commit

Permalink
Renamed Foundation
Browse files Browse the repository at this point in the history
  • Loading branch information
colemancda committed Dec 26, 2024
1 parent 9b59643 commit 8dd6cce
Show file tree
Hide file tree
Showing 14 changed files with 39 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ menu "Swift runtime"

source "$BR2_EXTERNAL_SWIFT_PATH/package/swift/Config.in"
source "$BR2_EXTERNAL_SWIFT_PATH/package/libswiftdispatch/Config.in"
source "$BR2_EXTERNAL_SWIFT_PATH/package/foundation/Config.in"
source "$BR2_EXTERNAL_SWIFT_PATH/package/swift-foundation/Config.in"

endmenu

Expand Down
2 changes: 1 addition & 1 deletion configs/swift_arm64_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_armv5_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_armv6_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_armv7_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_i386_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_ppc64le_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
2 changes: 1 addition & 1 deletion configs/swift_x86_64_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Swift Linux"
# Swift Runtime Libraries
BR2_PACKAGE_SWIFT=y
BR2_PACKAGE_LIBSWIFTDISPATCH=y
BR2_PACKAGE_FOUNDATION=y
BR2_PACKAGE_SWIFT_FOUNDATION=y

# Dependencies
BR2_PACKAGE_ICU=y
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
if BR2_PACKAGE_SWIFT

config BR2_PACKAGE_FOUNDATION
config BR2_PACKAGE_SWIFT_FOUNDATION
bool "foundation"
depends on BR2_PACKAGE_SWIFT
select BR2_PACKAGE_LIBSWIFTDISPATCH
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sha256 62c276a18fa3b3b92e95f5349dc125d03f09cea3c477b3af1428ccdbab29e139 foundation-6.0.3.tar.gz
sha256 62c276a18fa3b3b92e95f5349dc125d03f09cea3c477b3af1428ccdbab29e139 swift-foundation-6.0.3.tar.gz
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
### Foundation
FOUNDATION_VERSION = 6.0.3
FOUNDATION_SITE = $(call github,swiftlang,swift-corelibs-foundation,swift-$(FOUNDATION_VERSION)-RELEASE)
FOUNDATION_LICENSE = Apache-2.0
FOUNDATION_LICENSE_FILES = LICENSE
FOUNDATION_INSTALL_STAGING = YES
FOUNDATION_INSTALL_TARGET = YES
FOUNDATION_SUPPORTS_IN_SOURCE_BUILD = NO
FOUNDATION_DEPENDENCIES = icu libxml2 libcurl swift libswiftdispatch
SWIFT_FOUNDATION_VERSION = 6.0.3
SWIFT_FOUNDATION_SITE = $(call github,swiftlang,swift-corelibs-foundation,swift-$(SWIFT_FOUNDATION_VERSION)-RELEASE)
SWIFT_FOUNDATION_LICENSE = Apache-2.0
SWIFT_FOUNDATION_LICENSE_FILES = LICENSE
SWIFT_FOUNDATION_INSTALL_STAGING = YES
SWIFT_FOUNDATION_INSTALL_TARGET = YES
SWIFT_FOUNDATION_SUPPORTS_IN_SOURCE_BUILD = NO
SWIFT_FOUNDATION_DEPENDENCIES = icu libxml2 libcurl swift libswiftdispatch

FOUNDATION_CONF_OPTS += \
SWIFT_FOUNDATION_CONF_OPTS += \
-DCMAKE_Swift_FLAGS=${SWIFTC_FLAGS} \
-DCMAKE_Swift_FLAGS_DEBUG="" \
-DCMAKE_Swift_FLAGS_RELEASE="" \
Expand All @@ -23,24 +23,24 @@ FOUNDATION_CONF_OPTS += \
-DSwiftFoundation_MODULE_TRIPLE=${SWIFT_TARGET_NAME} \
-DSwiftFoundation_MACRO=${SWIFT_NATIVE_PATH}/../lib/swift/host/plugins \

ifeq (FOUNDATION_SUPPORTS_IN_SOURCE_BUILD),YES)
FOUNDATION_BUILDDIR = $(FOUNDATION_SRCDIR)
ifeq (SWIFT_FOUNDATION_SUPPORTS_IN_SOURCE_BUILD),YES)
SWIFT_FOUNDATION_BUILDDIR = $(SWIFT_FOUNDATION_SRCDIR)
else
FOUNDATION_BUILDDIR = $(FOUNDATION_SRCDIR)/build
SWIFT_FOUNDATION_BUILDDIR = $(SWIFT_FOUNDATION_SRCDIR)/build
endif

define FOUNDATION_CONFIGURE_CMDS
define SWIFT_FOUNDATION_CONFIGURE_CMDS
# Workaround Dispatch defined with cmake and module
rm -rf ${STAGING_DIR}/usr/lib/swift/dispatch
# Clean
rm -rf $(FOUNDATION_BUILDDIR)
rm -rf $(SWIFT_FOUNDATION_BUILDDIR)
rm -rf $(STAGING_DIR)/usr/lib/swift/CoreFoundation
# Configure
(mkdir -p $(FOUNDATION_BUILDDIR) && \
cd $(FOUNDATION_BUILDDIR) && \
(mkdir -p $(SWIFT_FOUNDATION_BUILDDIR) && \
cd $(SWIFT_FOUNDATION_BUILDDIR) && \
rm -f CMakeCache.txt && \
PATH=$(BR_PATH):$(SWIFT_NATIVE_PATH) \
$(FOUNDATION_CONF_ENV) $(BR2_CMAKE) -S $(FOUNDATION_SRCDIR) -B $(FOUNDATION_BUILDDIR) -G Ninja \
$(SWIFT_FOUNDATION_CONF_ENV) $(BR2_CMAKE) -S $(SWIFT_FOUNDATION_SRCDIR) -B $(SWIFT_FOUNDATION_BUILDDIR) -G Ninja \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=$(if $(BR2_ENABLE_RUNTIME_DEBUG),Debug,Release) \
Expand All @@ -51,32 +51,31 @@ define FOUNDATION_CONFIGURE_CMDS
-DCMAKE_CXX_FLAGS="-w -fuse-ld=lld -target $(SWIFT_TARGET_NAME) --sysroot $(STAGING_DIR) -latomic $(SWIFT_EXTRA_FLAGS) -I$(STAGING_DIR)/usr/include -B$(STAGING_DIR)/usr/lib -B$(STAGING_DIR)/lib -B$(HOST_DIR)/lib/gcc/$(GNU_TARGET_NAME)/$(call qstrip,$(BR2_GCC_VERSION)) -L$(HOST_DIR)/lib/gcc/$(GNU_TARGET_NAME)/$(call qstrip,$(BR2_GCC_VERSION)) -I$(HOST_DIR)/$(GNU_TARGET_NAME)/include/c++/$(call qstrip,$(BR2_GCC_VERSION))/ -I$(HOST_DIR)/$(GNU_TARGET_NAME)/include/c++/$(call qstrip,$(BR2_GCC_VERSION))/$(GNU_TARGET_NAME)" \
-DCMAKE_CXX_LINK_FLAGS="-target $(SWIFT_TARGET_NAME) --sysroot=$(STAGING_DIR)" \
-DCMAKE_ASM_FLAGS="-target $(SWIFT_TARGET_NAME) --sysroot=$(STAGING_DIR)" \
$(FOUNDATION_CONF_OPTS) \
$(SWIFT_FOUNDATION_CONF_OPTS) \
)
endef

define FOUNDATION_BUILD_CMDS
define SWIFT_FOUNDATION_BUILD_CMDS
# Compile
(cd $(FOUNDATION_BUILDDIR) && ninja)
(cd $(SWIFT_FOUNDATION_BUILDDIR) && ninja)
endef

define FOUNDATION_INSTALL_TARGET_CMDS
cp $(FOUNDATION_BUILDDIR)/lib/*.so $(TARGET_DIR)/usr/lib/
define SWIFT_FOUNDATION_INSTALL_TARGET_CMDS
cp $(SWIFT_FOUNDATION_BUILDDIR)/lib/*.so $(TARGET_DIR)/usr/lib/
endef

define FOUNDATION_INSTALL_STAGING_CMDS
define SWIFT_FOUNDATION_INSTALL_STAGING_CMDS
# Copy libraries
cp $(FOUNDATION_BUILDDIR)/lib/*.so $(STAGING_DIR)/usr/lib/swift/linux/
cp $(SWIFT_FOUNDATION_BUILDDIR)/lib/*.so $(STAGING_DIR)/usr/lib/swift/linux/
# Copy CoreFoundation module
mkdir -p ${STAGING_DIR}/usr/lib/swift/CoreFoundation
cp $(FOUNDATION_SRCDIR)/Sources/CoreFoundation/include/*.h ${STAGING_DIR}/usr/lib/swift/CoreFoundation/
cp $(SWIFT_FOUNDATION_SRCDIR)/Sources/CoreFoundation/include/*.h ${STAGING_DIR}/usr/lib/swift/CoreFoundation/
touch ${STAGING_DIR}/usr/lib/swift/CoreFoundation/module.map
echo 'framework module CoreFoundation [extern_c] [system] { umbrella header "${STAGING_DIR}/usr/lib/swift/CoreFoundation/CoreFoundation.h" }' > ${STAGING_DIR}/usr/lib/swift/CoreFoundation/module.map
# Copy Swift modules
cp $(FOUNDATION_BUILDDIR)/swift/* ${STAGING_DIR}/usr/lib/swift/linux/$(SWIFT_TARGET_ARCH)/
cp $(SWIFT_FOUNDATION_BUILDDIR)/swift/* ${STAGING_DIR}/usr/lib/swift/linux/$(SWIFT_TARGET_ARCH)/
# Restore Dispatch headers
$(LIBSWIFTDISPATCH_INSTALL_STAGING_CMDS)

endef

$(eval $(generic-package))
2 changes: 1 addition & 1 deletion package/swift-hello/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ if BR2_PACKAGE_SWIFT
config BR2_PACKAGE_SWIFT_HELLO
bool "swift-hello"
depends on BR2_PACKAGE_SWIFT
depends on BR2_PACKAGE_FOUNDATION
depends on BR2_PACKAGE_SWIFT_FOUNDATION
help
Demo application for Swift.

Expand Down
2 changes: 1 addition & 1 deletion package/swift-hello/swift-hello.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SWIFT_HELLO_SITE = $(SWIFT_HELLO_PKGDIR)/src
SWIFT_HELLO_SITE_METHOD = local
SWIFT_HELLO_INSTALL_STAGING = NO
SWIFT_HELLO_INSTALL_TARGET = YES
SWIFT_HELLO_DEPENDENCIES = swift foundation
SWIFT_HELLO_DEPENDENCIES = swift swift-foundation
SWIFT_HELLO_EXECUTABLES = swift-hello

$(eval $(swift-package))
2 changes: 1 addition & 1 deletion package/xctest/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ if BR2_PACKAGE_SWIFT
config BR2_PACKAGE_XCTEST
bool "xctest"
depends on BR2_PACKAGE_SWIFT
select BR2_PACKAGE_FOUNDATION
select BR2_PACKAGE_SWIFT_FOUNDATION
help
The XCTest library is designed to provide a common framework for writing unit tests in Swift, for Swift packages and applications.

Expand Down

0 comments on commit 8dd6cce

Please sign in to comment.