All Projects → vgorloff → swift-everywhere-toolchain

vgorloff / swift-everywhere-toolchain

Licence: MIT license
Automated workflow to compile Swift Toolchain, for making Android apps with Swift.

Programming Languages

javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language
shell
77523 projects
swift
15916 projects

Projects that are alternatives of or similar to swift-everywhere-toolchain

full-icu-npm
convenience loader for 'small-icu' node builds
Stars: ✭ 135 (+58.82%)
Mutual labels:  icu
Harfbuzz Icu Freetype
Harfbuzz with a CMake build configuration using Freetype2, UCDN and ICU
Stars: ✭ 28 (-67.06%)
Mutual labels:  icu
Eslint Plugin I18n Json
Fully extendable eslint plugin for JSON i18n translation files.
Stars: ✭ 101 (+18.82%)
Mutual labels:  icu
Icu4x
Solving i18n for client-side and resource-constrained environments.
Stars: ✭ 275 (+223.53%)
Mutual labels:  icu
996.leave
逃离996
Stars: ✭ 4,626 (+5342.35%)
Mutual labels:  icu
Icu
The new home of the ICU project source code.
Stars: ✭ 1,011 (+1089.41%)
Mutual labels:  icu
echo-mimiciii
Transthoracic echocardiography and mortality in sepsis: analysis of the MIMIC-III database
Stars: ✭ 32 (-62.35%)
Mutual labels:  icu
Stringi
THE String Processing Package for R (with ICU)
Stars: ✭ 204 (+140%)
Mutual labels:  icu
Webfactoryicutranslationbundle
Enables ICU message formatting for translations in Symfony applications.
Stars: ✭ 27 (-68.24%)
Mutual labels:  icu
Date Time Format Timezone
Surgically polyfills timezone support in Intl.DateTimeFormat API
Stars: ✭ 94 (+10.59%)
Mutual labels:  icu
Eo Locale
🌏Internationalize js apps 👔Elegant lightweight library based on Internationalization API
Stars: ✭ 290 (+241.18%)
Mutual labels:  icu
Ember Intl
Localization library for any Ember Application or Addon
Stars: ✭ 412 (+384.71%)
Mutual labels:  icu
Pua Immunity
致创作者:免疫 网络暴力和打压 的 高频认知补丁
Stars: ✭ 67 (-21.18%)
Mutual labels:  icu
FindICU.cmake
[CMake] [BSD-2] CMake module to find ICU
Stars: ✭ 28 (-67.06%)
Mutual labels:  icu
Full Icu Npm
>>> This may become obsolete, read and comment >>>
Stars: ✭ 117 (+37.65%)
Mutual labels:  icu
icu-cmake
CMake wrapper for ICU supporting cross-compilation
Stars: ✭ 25 (-70.59%)
Mutual labels:  icu
Mimic Website
Website for the MIMIC Critical Care Database (currently version MIMIC-III)
Stars: ✭ 42 (-50.59%)
Mutual labels:  icu
minicrawler
Multiplexing web client supporting HTTP/2 and WHATWG URL compliant parser written in C
Stars: ✭ 21 (-75.29%)
Mutual labels:  icu
Tokenizer
Fast and customizable text tokenization library with BPE and SentencePiece support
Stars: ✭ 132 (+55.29%)
Mutual labels:  icu
Mimic Code
MIMIC Code Repository: Code shared by the research community for the MIMIC-III database
Stars: ✭ 1,225 (+1341.18%)
Mutual labels:  icu

swift-everywhere-toolchain

My Town

This Open source project won't be updated until Kremlin will stop war in Ukraine and repair damages made in towns: Irpin, Bucha, Gostomel. If this won't happen during next 6 months (until 1 September 2022), then this project will be removed from public space.

Town of Irpin after Airstrike

See also:

Requirements

  • macOS 12
  • Xcode 13
  • Android Studio 2020.3.1
  • Android NDK (See version number in file NDK_VERSION in the root of this repository)
  • Node 14.17.3 (node -v). Newer versions may also work, but not tested.
  • CMake 3.21.2 (cmake --version)
  • Ninja 1.10.2 (ninja --version)
  • autoconf 2.71 (autoconf --version)
  • aclocal 1.16.4 (aclocal --version)
  • glibtool 2.4.6 (glibtool --version)
  • pkg-config 0.29.2 (pkg-config --version)

Important

Keep tools like CMake and ninja up to date.

Using pre-built toolchain

Build of complete toolchain takes ~1.5h. Instead of building it you can just download and use already pre-built package from Releases page.

Setup and Build

  1. Install CMake, Ninja, Autotools and git-lfs. Check that all requirements are installed.

    brew install cmake ninja autoconf automake libtool pkg-config git-lfs
    which cmake
    which ninja
    which autoconf
    which aclocal
    which glibtool
    which pkg-config
    which git-lfs
  2. Make sure that Xcode Build Tools properly configured.

    xcode-select --print-path
  3. Clone this repository.

    git clone https://github.com/vgorloff/swift-everywhere-toolchain.git
    cd swift-everywhere-toolchain
  4. Create a symbolic link to NDK installation directory.

    sudo mkdir -p /usr/local/ndk
    sudo ln -vsi ~/Library/Android/sdk/ndk/$VERSION /usr/local/ndk/$VERSION

    The placeholder $VERSION needs to be replaced with a version mentioned in file NDK_VERSION at the root of cloned repository.

  5. Start a build.

    node main.js
  6. Once the build completed, toolchain will be saved to folder ToolChain/swift-android-toolchain and compressed into archive ToolChain/swift-android-toolchain.tar.gz.

Usage

Please refer file Assets/Readme.md to see how to compile Swift files or build Swift packages using Toolchain.

Sample Projects

Sample projects can be found in a separate swift-everywhere-samples repository. Please look into Readme.md in that repository to get information about how to configure and build sample projects.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].