Vasily Levchenko c7499e281d [kotlin compiler][update] 1.3.70-dev-2743
* df2adb060c - (tag: build-1.3.70-dev-2743) Bumped K/N version (5 hours ago) <Igor Chevdar>
* a7b3f26cef - [native-gradle-plugin] Supported klib cache (building and using) (5 hours ago) <Igor Chevdar>
* 364d6a5afa - [Gradle, JS] Actualize NPM dependencies (5 hours ago) <Ilya Goncharov>
* f1f2e1830b - (tag: build-1.3.70-dev-2742) [FIR-TEST] Fix incorrect testdata (5 hours ago) <Dmitriy Novozhilov>
* 4faa2c0c2c - [FIR] Replace static cone types for integers with default classIds in ILT (5 hours ago) <Dmitriy Novozhilov>
* c6b9593157 - [FIR-TEST] Add identity checker of old frontend and fir testdata to old FE diagnostics tests (5 hours ago) <Dmitriy Novozhilov>
* 579cb5014a - [FIR-TEST] Add `!FIR_DUMP` directive to diagnostics tests from old frontend (5 hours ago) <Dmitriy Novozhilov>
* 2536fa0cd5 - [FIR-TEST] Add new testdata generated after changes in previous commit (5 hours ago) <Dmitriy Novozhilov>
* e9c02a1cca - [FIR-TEST] Add fir diagnostics test based on diagnostics tests from old frontend (5 hours ago) <Dmitriy Novozhilov>
* e7f8c8e155 - [TEST] Regenerate tests after previous commit (5 hours ago) <Dmitriy Novozhilov>
* 5b1f96ba1b - [TEST] Add ability to exclude some testdata with pattern in test generator (5 hours ago) <Dmitriy Novozhilov>
* ae15fa7676 - [FIR] Fix outputs for logs of modularized test (5 hours ago) <Dmitriy Novozhilov>
* bb301f8aca - (tag: build-1.3.70-dev-2740) JVM_IR: fix wrong check in skipping captured vars (6 hours ago) <Georgy Bronnikov>
* 26032e4297 - (tag: build-1.3.70-dev-2739) Split exception table on finally insertion before non-local return (6 hours ago) <Mikhael Bogdanov>
* c335015c05 - Generate proper exception table (6 hours ago) <Mikhael Bogdanov>
* 078cfc02a5 - (tag: build-1.3.70-dev-2735) [IR] Removed wrong validation IrEnumConstructorCall behaves differently whether it is inside IrEnumEntry or not. Remove the validation for now. (6 hours ago) <Igor Chevdar>
* 62ef280c53 - Add compiler:ir.serialization.jvm to IDEA plugin (6 hours ago) <Alexander Udalov>
* 5f367278c1 - Psi2ir: support generic properties in class delegation (6 hours ago) <Alexander Udalov>
* 025360edc4 - (tag: build-1.3.70-dev-2733) JVM IR: lookup symbols by name in ProgressionHandlers in known classes only (7 hours ago) <Alexander Udalov>
* 359e49fa02 - (tag: build-1.3.70-dev-2732) [Commonizer] Blacklist conflicting K/N functions from commonization (7 hours ago) <Dmitriy Dolovov>
* c79fcb8cf3 - [Commonizer] Add compatible metadata version checks (7 hours ago) <Dmitriy Dolovov>
* 503fc4883c - [Commonizer] Log duration of each CLI phase (7 hours ago) <Dmitriy Dolovov>
* 18117ed1f3 - [Commonizer] Serialize commonized metadata for KLIB writer (7 hours ago) <Dmitriy Dolovov>
* ce376f49fd - [Commonizer] CLI for Kotlin/Native KLIBs (7 hours ago) <Dmitriy Dolovov>
* 5bc2a4e1e8 - [Commonizer] Fix: Don't commonize contents of stdlib (7 hours ago) <Dmitriy Dolovov>
* ee42e8c64c - [Commonizer] Fix: Correct resolution of nested classes (7 hours ago) <Dmitriy Dolovov>
* a74e364849 - [Commonizer] Support Kotlin/Native forward declarations (7 hours ago) <Dmitriy Dolovov>
* f4780206d9 - [Commonizer] Fix: Skip KNI bridge functions (7 hours ago) <Dmitriy Dolovov>
* 0a6c132241 - [Commonizer] Fix: Cache package fragments with module name (7 hours ago) <Dmitriy Dolovov>
* a3e3b43aed - [Commonizer] Fix: approximate signatures with type parameter upper bounds (7 hours ago) <Dmitriy Dolovov>
* 92656a53ae - [Commonizer] Fix: don't process same package fragments more than once (7 hours ago) <Dmitriy Dolovov>
* 8dc2784fc4 - (tag: build-1.3.70-dev-2727) Reapply "Drop deprecated displayName from descriptor visibility" (8 hours ago) <Pavel Kirpichenkov>
* 6e19004a4f - (tag: build-1.3.70-dev-2717) [Gradle, JS] Add comment for test (9 hours ago) <Ilya Goncharov>
* 1bc47b3f6f - [Gradle, JS] Add test for package.json deserializing (9 hours ago) <Ilya Goncharov>
* b9a529d7d0 - [Gradle, JS] Hack for GSON to get non-null values (9 hours ago) <Ilya Goncharov>
* 7d98d33e3d - [Gradle, JS] Hack for GSON to get non-null values (9 hours ago) <Ilya Goncharov>
* 53480c2266 - (tag: build-1.3.70-dev-2704) [FIR] Fix fir2ir testdata broken in 4777dd6 (11 hours ago) <Dmitriy Novozhilov>
* 39e0c6d55b - (tag: build-1.3.70-dev-2681) Revert "Drop deprecated displayName from descriptor visibility" (27 hours ago) <Pavel Kirpichenkov>
* d9ef7d0c8a - (tag: build-1.3.70-dev-2675) [NI] Update / mute diagnostics (28 hours ago) <Pavel Kirpichenkov>
* 6fa11d1573 - (tag: build-1.3.70-dev-2671) Drop deprecated displayName from descriptor visibility (28 hours ago) <Pavel Kirpichenkov>
* ebc1562b32 - (tag: build-1.3.70-dev-2669) Filter out non-xml model files in modularized test (28 hours ago) <Simon Ogorodnik>
* 48a05e3688 - Support prefixed modularized test-data installation (28 hours ago) <Simon Ogorodnik>
* 498b41b148 - (tag: build-1.3.70-dev-2667) JVM_IR: do not do invokeinterface on Object methods (28 hours ago) <pyos>
2019-12-16 09:58:02 +01:00
2019-11-04 15:13:27 +03:00
2019-11-28 12:20:29 +07:00
2019-12-12 12:07:19 +01:00
2019-03-21 14:16:25 +03:00
2019-12-10 12:34:47 +03:00
2017-03-30 09:51:58 +03:00
2019-10-25 16:05:35 +03:00
2019-12-02 09:55:51 +03:00
2019-11-28 12:20:29 +07:00
2019-07-10 15:29:45 +07:00
2019-12-09 10:14:07 +07:00
2018-09-13 11:48:42 +03:00
2017-04-28 17:05:20 +02:00
2019-01-30 19:11:11 +03:00
2019-09-28 09:53:20 +03:00
2019-09-28 09:53:20 +03:00

official project version

Kotlin/Native

Kotlin/Native is an LLVM backend for the Kotlin compiler, runtime implementation, and native code generation facility using the LLVM toolchain.

Kotlin/Native is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible (such as iOS or embedded targets), or where a developer is willing to produce a reasonably-sized self-contained program without the need to ship an additional execution runtime.

Prerequisites:

  • install JDK for your platform, instead of JRE. The build requires tools.jar, which is not included in JRE;
  • on macOS install Xcode 11
  • on Fedora 26+ yum install ncurses-compat-libs may be needed
  • on recent Ubuntu apt install libncurses5 is needed

To compile from sources use following steps:

First, download dependencies:

./gradlew dependencies:update

Then, build the compiler and libraries:

./gradlew bundle

To build with experimental targets support compile with -Porg.jetbrains.kotlin.native.experimentalTargets.

The build can take about an hour on a Macbook Pro. To run a shorter build with only the host compiler and libraries, run:

./gradlew dist distPlatformLibs

To include Kotlin compiler in composite build and build against it, use the kotlinProjectPath project property:

./gradlew dist -PkotlinProjectPath=path/to/kotlin/project

It's possible to include in a composite build both Kotlin compiler and Kotlin/Native Shared simultaneously.

After that, you should be able to compile your programs like this:

export PATH=./dist/bin:$PATH
kotlinc hello.kt -o hello

For an optimized compilation, use -opt:

kotlinc hello.kt -o hello -opt

For tests, use:

./gradlew backend.native:tests:run

To generate interoperability stubs, create a library definition file (refer to samples/tetris/.../sdl.def), and run the cinterop tool like this:

cinterop -def lib.def

See the provided samples and INTEROP.md for more details.

The Interop tool generates a library in the .klib library format. See LIBRARIES.md for more details on this file format.

S
Description
The Kotlin Programming Language.
Readme 2.1 GiB
Languages
Kotlin 79.9%
Java 10.4%
Swift 4.3%
C 2.8%
C++ 2.1%
Other 0.3%