-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 156397c
Showing
973 changed files
with
525,314 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
.p4* | ||
.DS_Store | ||
.AppleDouble | ||
.build | ||
.vscode | ||
.swiftpm | ||
generated | ||
target |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
// swift-tools-version: 5.10 | ||
// | ||
// SPDX-License-Identifier: Unicode-3.0 | ||
// Copyright Contributors to the ICU project | ||
import PackageDescription | ||
|
||
let package = Package( | ||
name: "icu", | ||
platforms: [ | ||
.macOS(.v14), | ||
.visionOS(.v1), | ||
.iOS(.v17), | ||
.tvOS(.v17), | ||
.watchOS(.v10) | ||
], | ||
products: [ | ||
.library( | ||
name: "icuuc", | ||
targets: ["icuuc"] | ||
), | ||
.library( | ||
name: "icuin", | ||
targets: ["icuin"] | ||
), | ||
.executable( | ||
name: "TestUnicode", | ||
targets: ["TestUnicode"] | ||
), | ||
], | ||
targets: [ | ||
.target( | ||
name: "icuuc", | ||
publicHeadersPath: ".", | ||
cxxSettings: [ | ||
.define("U_COMMON_IMPLEMENTATION"), | ||
.define("_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH", .when(platforms: [.windows])), | ||
.define("_ALLOW_KEYWORD_MACROS", to: "1", .when(platforms: [.windows])), | ||
.define("static_assert(_conditional, ...)", to: "", .when(platforms: [.windows])), | ||
] | ||
), | ||
|
||
.target( | ||
name: "icuin", | ||
dependencies: [ | ||
.target(name: "icuuc") | ||
], | ||
publicHeadersPath: ".", | ||
cxxSettings: [ | ||
.define("U_I18N_IMPLEMENTATION"), | ||
.define("_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH", .when(platforms: [.windows])), | ||
.define("_ALLOW_KEYWORD_MACROS", to: "1", .when(platforms: [.windows])), | ||
.define("static_assert(_conditional, ...)", to: "", .when(platforms: [.windows])), | ||
] | ||
), | ||
|
||
.executableTarget( | ||
name: "TestUnicode", | ||
dependencies: [ | ||
.target(name: "icuin") | ||
], | ||
cxxSettings: [ | ||
.define("_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH", .when(platforms: [.windows])), | ||
.define("_ALLOW_KEYWORD_MACROS", to: "1", .when(platforms: [.windows])), | ||
.define("static_assert(_conditional, ...)", to: "", .when(platforms: [.windows])), | ||
], | ||
swiftSettings: [ | ||
.interoperabilityMode(.Cxx) | ||
] | ||
), | ||
], | ||
cxxLanguageStandard: .cxx17 | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
<!-- markdownlint-configure-file { | ||
"MD013": { | ||
"code_blocks": false, | ||
"tables": false | ||
}, | ||
"MD033": false, | ||
"MD041": false | ||
} --> | ||
|
||
<div align="center"> | ||
|
||
<h1 align="center"> | ||
International Components for Unicode | ||
</h1> | ||
|
||
<p align="center"> | ||
<i align="center">Intended for <b>windows users</b>, to bring <b>unicode support</b> in the form of a <b>swift</b> package for the <a href="https://github.com/unicode-org/icu"><b>icu project</b></a>.</i> | ||
</p> | ||
|
||
</div> | ||
|
||
<div align="center"> | ||
|
||
### Usage | ||
|
||
</div> | ||
|
||
##### To use zlib in swift, add zlib as a package dependency in your project's Package.swift file. | ||
```swift | ||
dependencies: [ | ||
.package(url: "https://github.com/wabiverse/icu.git", from: "76.1.0"), | ||
] | ||
``` | ||
|
||
|
||
##### Then, for any target you'd like, add the zlib product as a target dependency, a complete example. | ||
```swift | ||
// swift-tools-version: 5.10 | ||
import PackageDescription | ||
|
||
let package = Package( | ||
name: "MyPackage", | ||
products: [ | ||
.library( | ||
name: "MyLibrary", | ||
targets: ["MyLibrary"] | ||
), | ||
], | ||
dependencies: [ | ||
.package(url: "https://github.com/wabiverse/icu.git", from: "76.1.0") | ||
], | ||
targets: [ | ||
.target( | ||
name: "MyLibrary", | ||
dependencies: [ | ||
/* add the icu product as a library dependency. */ | ||
.product(name: "icuin", package: "icu"), | ||
] | ||
), | ||
] | ||
) | ||
``` | ||
|
||
<br> | ||
|
||
<hr/> | ||
|
||
###### icu is licensed under the terms of the [Unicode License v3](https://github.com/unicode-org/icu/blob/main/LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
// SPDX-License-Identifier: Unicode-3.0 | ||
// Copyright Contributors to the ICU project | ||
|
||
import icuuc | ||
|
||
@main | ||
struct TestUnicode { | ||
static func main() | ||
{ | ||
print("it works.") | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
# Copyright (C) 2016 and later: Unicode, Inc. and others. | ||
# License & terms of use: http://www.unicode.org/copyright.html | ||
#****************************************************************************** | ||
# | ||
# Copyright (C) 1998-2016, International Business Machines | ||
# Corporation and others. All Rights Reserved. | ||
# | ||
#****************************************************************************** | ||
## Makefile.in for ICU - icui18n.so | ||
## Stephen F. Booth | ||
|
||
## Source directory information | ||
srcdir = @srcdir@ | ||
top_srcdir = @top_srcdir@ | ||
|
||
top_builddir = .. | ||
|
||
## All the flags and other definitions are included here. | ||
include $(top_builddir)/icudefs.mk | ||
|
||
## Build directory information | ||
subdir = i18n | ||
|
||
## Extra files to remove for 'make clean' | ||
CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) | ||
|
||
## Target information | ||
|
||
TARGET_STUBNAME=$(I18N_STUBNAME) | ||
|
||
ifneq ($(ENABLE_STATIC),) | ||
TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) | ||
endif | ||
|
||
ifneq ($(ENABLE_SHARED),) | ||
SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) | ||
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) | ||
|
||
ifeq ($(ENABLE_SO_VERSION_DATA),1) | ||
SO_VERSION_DATA = i18n.res | ||
endif | ||
|
||
ifeq ($(BUILD_HOST_ICU),OS390) | ||
BATCH_TARGET = $(BATCH_I18N_TARGET) | ||
BATCH_LIBS = $(BATCH_LIBICUUC) -lm | ||
endif | ||
|
||
endif # ENABLE_SHARED | ||
|
||
ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS) $(BATCH_TARGET) | ||
|
||
DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS) | ||
DYNAMICCFLAGS = $(SHAREDLIBCFLAGS) | ||
DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS) | ||
CFLAGS += $(LIBCFLAGS) | ||
CXXFLAGS += $(LIBCXXFLAGS) | ||
|
||
CPPFLAGS += -I$(srcdir) -I$(top_srcdir)/common $(LIBCPPFLAGS) $(CPPFLAGSICUI18N) | ||
DEFS += -DU_I18N_IMPLEMENTATION | ||
LDFLAGS += $(LDFLAGSICUI18N) | ||
LIBS = $(LIBICUUC) $(DEFAULT_LIBS) | ||
|
||
SOURCES = $(shell cat $(srcdir)/sources.txt) | ||
OBJECTS = $(SOURCES:.cpp=.o) | ||
|
||
## Header files to install | ||
HEADERS = $(srcdir)/unicode/*.h | ||
|
||
STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O)) | ||
|
||
DEPS = $(OBJECTS:.o=.d) | ||
|
||
-include Makefile.local | ||
|
||
## List of phony targets | ||
.PHONY : all all-local install install-local clean clean-local \ | ||
distclean distclean-local install-library install-headers dist \ | ||
dist-local check check-local check-exhaustive | ||
|
||
## Clear suffix list | ||
.SUFFIXES : | ||
|
||
## List of standard targets | ||
all: all-local | ||
install: install-local | ||
clean: clean-local | ||
distclean : distclean-local | ||
dist: dist-local | ||
check: all check-local | ||
|
||
check-exhaustive: check | ||
|
||
all-local: $(ALL_TARGETS) | ||
|
||
install-local: install-headers install-library | ||
|
||
install-library: all-local | ||
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) | ||
ifneq ($(ENABLE_STATIC),) | ||
$(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir) | ||
endif | ||
ifneq ($(ENABLE_SHARED),) | ||
# For MinGW, do we want the DLL to go in the bin location? | ||
ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES) | ||
$(MKINSTALLDIRS) $(DESTDIR)$(bindir) | ||
$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir) | ||
else | ||
$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir) | ||
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET)) | ||
cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET)) | ||
ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET)) | ||
cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) | ||
endif | ||
endif | ||
endif | ||
ifneq ($(IMPORT_LIB_EXT),) | ||
$(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) | ||
ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) | ||
cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB)) | ||
endif | ||
ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB)) | ||
cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB)) | ||
endif | ||
endif | ||
endif | ||
|
||
install-headers: | ||
$(MKINSTALLDIRS) $(DESTDIR)$(includedir)/unicode | ||
@for file in $(HEADERS); do \ | ||
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode"; \ | ||
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode || exit; \ | ||
done | ||
|
||
dist-local: | ||
|
||
clean-local: | ||
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) | ||
$(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA) | ||
|
||
distclean-local: clean-local | ||
$(RMV) Makefile | ||
|
||
check-local: | ||
|
||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||
cd $(top_builddir) \ | ||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | ||
|
||
ifneq ($(ENABLE_STATIC),) | ||
$(TARGET): $(STATIC_OBJECTS) | ||
$(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^ | ||
$(RANLIB) $@ | ||
endif | ||
|
||
ifneq ($(ENABLE_SHARED),) | ||
$(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA) | ||
$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) | ||
ifeq ($(ENABLE_RPATH),YES) | ||
ifneq ($(wildcard $(libdir)/$(MIDDLE_SO_TARGET)),) | ||
$(warning RPATH warning: --enable-rpath means test programs may use existing $(libdir)/$(MIDDLE_SO_TARGET)) | ||
endif | ||
endif | ||
|
||
ifeq ($(BUILD_HOST_ICU),OS390) | ||
$(BATCH_TARGET):$(OBJECTS) | ||
$(SHLIB.cc) $(LD_SONAME) -Wl,-x$@.x $(OUTOPT)$@ $^ $(BATCH_LIBS) | ||
endif | ||
endif # ENABLE_SHARED | ||
|
||
ifeq (,$(MAKECMDGOALS)) | ||
-include $(DEPS) | ||
else | ||
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),) | ||
-include $(DEPS) | ||
endif | ||
endif |
Oops, something went wrong.