{"id":13495977,"url":"https://github.com/vgorloff/swift-everywhere-toolchain","last_synced_at":"2025-03-28T17:34:36.115Z","repository":{"id":41422048,"uuid":"161392935","full_name":"vgorloff/swift-everywhere-toolchain","owner":"vgorloff","description":"Automated workflow to compile Swift Toolchain, for making Android apps with Swift.","archived":true,"fork":false,"pushed_at":"2022-03-04T07:34:52.000Z","size":1572,"stargazers_count":85,"open_issues_count":15,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-01T19:57:26.495Z","etag":null,"topics":["android","android-ndk","icu","swift","swift-corelibs-dispatch","swift-corelibs-foundation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vgorloff.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-11T20:58:44.000Z","updated_at":"2024-03-21T19:20:41.000Z","dependencies_parsed_at":"2022-09-13T02:31:55.383Z","dependency_job_id":null,"html_url":"https://github.com/vgorloff/swift-everywhere-toolchain","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgorloff%2Fswift-everywhere-toolchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgorloff%2Fswift-everywhere-toolchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgorloff%2Fswift-everywhere-toolchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgorloff%2Fswift-everywhere-toolchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vgorloff","download_url":"https://codeload.github.com/vgorloff/swift-everywhere-toolchain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222402848,"owners_count":16978747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-ndk","icu","swift","swift-corelibs-dispatch","swift-corelibs-foundation"],"created_at":"2024-07-31T19:01:40.337Z","updated_at":"2024-10-31T11:30:35.206Z","avatar_url":"https://github.com/vgorloff.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# swift-everywhere-toolchain\n\n## My Town\n\nThis 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.\n\n![Town of Irpin after Airstrike](./Media/irpin.jpg \"Town of Irpin after Airstrike\")\n\nSee also:\n\n- [Russian invaders bomb high-rise building in Irpin west of Kyiv](https://www.pravda.com.ua/eng/news/2022/03/2/7327381/)\n- [In the morning, the invaders launched two air strikes on Irpin, a residential building was destroyed](https://gordonua.com/news/war/utrom-okkupanty-nanesli-dva-aviaudara-po-irpenyu-razrushen-zhiloy-dom-foto-i-video-1598067.html)\n\n## Requirements\n\n- macOS 12\n- Xcode 13\n- Android Studio 2020.3.1\n- Android NDK (See version number in file `NDK_VERSION` in the root of this repository)\n- Node 14.17.3 (node -v). Newer versions may also work, but not tested.\n- CMake 3.21.2 (cmake --version)\n- Ninja 1.10.2 (ninja --version)\n- autoconf 2.71 (autoconf --version)\n- aclocal 1.16.4 (aclocal --version)\n- glibtool 2.4.6 (glibtool --version)\n- pkg-config 0.29.2 (pkg-config --version)\n\n## Important\n\n- Toolchain build may fail if macOS headers installed under `/usr/include`. This usually happens if you previously installed package `/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`. See details in [Xcode Command Line Tools](https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624) notes. See following [SuperUser question](https://superuser.com/questions/36567/how-do-i-uninstall-any-apple-pkg-package-file) about how to uninstall package.\n- Toolchain build may fail if the command line tools are present in `/Library/Developer/CommandLineTools`. Remove them if you are not using them. See: [macos - How do I uninstall the command line tools for Xcode? - Ask Different](https://apple.stackexchange.com/questions/308943/how-do-i-uninstall-the-command-line-tools-for-xcode)\n\nKeep tools like `CMake` and `ninja` up to date.\n\n## Using pre-built toolchain\n\nBuild of complete toolchain takes ~1.5h. Instead of building it you can just download and use already pre-built package from [Releases](https://github.com/vgorloff/swift-everywhere-toolchain/releases) page.\n\n## Setup and Build\n\n1. Install CMake, Ninja, Autotools and git-lfs. Check that all requirements are installed.\n\n   ```bash\n   brew install cmake ninja autoconf automake libtool pkg-config git-lfs\n   which cmake\n   which ninja\n   which autoconf\n   which aclocal\n   which glibtool\n   which pkg-config\n   which git-lfs\n   ```\n\n2. Make sure that `Xcode Build Tools` properly configured.\n\n   ```bash\n   xcode-select --print-path\n   ```\n\n3. Clone this repository.\n\n   ```bash\n   git clone https://github.com/vgorloff/swift-everywhere-toolchain.git\n   cd swift-everywhere-toolchain\n   ```\n\n4. Create a symbolic link to NDK installation directory.\n\n   ```bash\n   sudo mkdir -p /usr/local/ndk\n   sudo ln -vsi ~/Library/Android/sdk/ndk/$VERSION /usr/local/ndk/$VERSION\n   ```\n\n   The placeholder `$VERSION` needs to be replaced with a version mentioned in file `NDK_VERSION` at the root of cloned repository.\n\n5. Start a build.\n\n   ```bash\n   node main.js\n   ```\n\n6. Once the build completed, toolchain will be saved to folder `ToolChain/swift-android-toolchain` and compressed into archive `ToolChain/swift-android-toolchain.tar.gz`.\n\n## Usage\n\nPlease refer file [Assets/Readme.md](Assets/Readme.md) to see how to compile Swift files or build Swift packages using Toolchain.\n\n## Sample Projects\n\nSample projects can be found in a separate [swift-everywhere-samples](https://github.com/vgorloff/swift-everywhere-samples) repository. Please look into `Readme.md` in that repository to get information about how to configure and build sample projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgorloff%2Fswift-everywhere-toolchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvgorloff%2Fswift-everywhere-toolchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgorloff%2Fswift-everywhere-toolchain/lists"}