Vasily Levchenko db037602b4 [kotlin compiler][update] 1.4.0-dev-2232
* 5eedba3903 - (tag: build-1.4.0-dev-2232) Add Native-specific frontend checker for `@Throws` (7 часов назад) <Svyatoslav Scherbina>
* 2a4d995fd1 - Add infrastructure for Native-specific frontend diagnostic tests (7 часов назад) <Svyatoslav Scherbina>
* 99ba6b5ae1 - Make `:compiler:tests-common` depend on `:native:frontend.native` (7 часов назад) <Svyatoslav Scherbina>
* e699965ed6 - Add infrastructure for Native-specific frontend diagnostics (7 часов назад) <Svyatoslav Scherbina>
* 1f97ae1084 - Make `:compiler:cli` depend on `:native:frontend.native` (7 часов назад) <Svyatoslav Scherbina>
* cd92d3e9b4 - Make `:native:frontend.native` depend on intellij-core (7 часов назад) <Svyatoslav Scherbina>
* 6d21e0c5e2 - (tag: build-1.4.0-dev-2230) Fix: Kotlin/Native compiler tool name in Gradle IT (7 часов назад) <Dmitriy Dolovov>
* b8e49cb784 - (tag: build-1.4.0-dev-2227) Fix: Kotlin/Native compiler tool name in Gradle root runner (11 часов назад) <Dmitriy Dolovov>
* a4cc5ea1da - (tag: build-1.4.0-dev-2223) Remove unneeded dependency of backend-common on ir.tree (17 часов назад) <Alexander Udalov>
* 18dcbb3c94 - (tag: build-1.4.0-dev-2221) JVM_IR: copy annotations to nullary bridges for default constructors (18 часов назад) <pyos>
* 5d766eace4 - (tag: build-1.4.0-dev-2219) JVM IR: process type arguments for function references in DefaultImpls (18 часов назад) <Alexander Udalov>
* 763cb6dd6f - (tag: build-1.4.0-dev-2218) JVM IR: keep original KotlinType in eraseTypeParameters (18 часов назад) <Alexander Udalov>
* 1ae0017401 - (tag: build-1.4.0-dev-2213) JVM_IR: Minor. Support isFun in WrappedClassDescriptor (20 часов назад) <Ilmir Usmanov>
* bc9edea527 - (tag: build-1.4.0-dev-2207) [JVM IR] Fix issue with suspend functions in @JvmMultifileClass. (21 час назад) <Mark Punzalan>
* 764bf1cb32 - (tag: build-1.4.0-dev-2206) Add a non-public-API mechanism to import free args for MPP source sets (21 час назад) <Sergey Igushkin>
* a8aa334203 - Fix API version parsing: add 1.4 to available values (21 час назад) <Sergey Igushkin>
* cd32cef2b6 - Fix MPP Gradle tests (21 час назад) <Sergey Igushkin>
* 77f60d6d6c - Enable KlibBasedMppIT by default and on all host (using Linux targets) (21 час назад) <Sergey Igushkin>
* 5cc8dfb2a3 - Compile common code to klib whenever HMPP is enabled (21 час назад) <Sergey Igushkin>
* 0ef8d23f57 - Rework legacy metadata variant in MPP with source sets metadata (21 час назад) <Sergey Igushkin>
* 8a08fef2b3 - Export implementation dependencies of Native-shared source sets as API (21 час назад) <Sergey Igushkin>
* 81216ceb51 - Use the project name + compilation name for secondary klib compilations (21 час назад) <Sergey Igushkin>
* 2a15df6a20 - (tag: build-1.4.0-dev-2202) [IDEA-TESTS] Update configuration tests involving LATEST_STABLE version (21 час назад) <Pavel Kirpichenkov>
* a5d201e263 - Exclude unsupported language versions from gradle options (21 час назад) <Pavel Kirpichenkov>
* f530c0c903 - minor: reformat (21 час назад) <Pavel Kirpichenkov>
* 87e0186334 - (tag: build-1.4.0-dev-2199) Cleanup test checking legacy inline suspend (22 часа назад) <Pavel Kirpichenkov>
* 8335ad7e98 - (tag: build-1.4.0-dev-2183) JVM_IR: Minor. Add test (24 часа назад) <Ilmir Usmanov>
* 5977799c59 - JVM_IR: Get rid of non-local related hacks in coroutines inlining (24 часа назад) <Ilmir Usmanov>
* e5bd4f74f3 - JVM_IR: Do not copy attributes into DEFAULT_IMPLS functions (24 часа назад) <Ilmir Usmanov>
* fc70455877 - JVM_IR: Move suspend function views creation to lowering (24 часа назад) <Ilmir Usmanov>
* 5e7343624b - (tag: build-1.4.0-dev-2167) Update test data of wrongInlineTarget to 1.4 (26 часов назад) <Alexander Udalov>
* 9f9eef44b1 - Use captured type approximation from new inference in ExpressionCodegen (26 часов назад) <Alexander Udalov>
* 4d1937b92d - (tag: build-1.4.0-dev-2161) "Redundant 'suspend' modifier": do not report when function has 'suspend' calls by parenthesized expression (27 часов назад) <Toshiaki Kameyama>
* 31315e2c45 - (tag: build-1.4.0-dev-2150) Add `plugin_version` and `file_type` features for ML completion (29 часов назад) <Roman Golyshev>
* 98ea2231f1 - (tag: build-1.4.0-dev-2149) [FIR] Code cleanup: NodeConfigurator (30 часов назад) <Mikhail Glukhikh>
* 0fa98ed635 - [FIR] Discriminate abstract members when resolving on super (30 часов назад) <Mikhail Glukhikh>
* 8e40782e7b - [FIR] Add test with abstract / non-abstract ambiguity (30 часов назад) <Mikhail Glukhikh>
* f7d658b624 - FIR2IR: fix dispatch receiver generation (non-function case) (30 часов назад) <Mikhail Glukhikh>
* b09b2673bf - FIR2IR: handle non-ambiguous super references properly (30 часов назад) <Mikhail Glukhikh>
* 71b0840ef9 - [FIR] Implement super resolve as a particular tower resolver case (30 часов назад) <Mikhail Glukhikh>
* ee020ef290 - (tag: build-1.4.0-dev-2146) KT-36336 @EnhancedNullability and null checks (30 часов назад) <Dmitry Petrov>
* 6489b56fb0 - (tag: build-1.4.0-dev-2139) Fix 192 compilation for move remove redundant imports to bg thread (2 дня назад) <Vladimir Dolzhenko>
* dd0613bc7a - (tag: build-1.4.0-dev-2133) Move remove redundant imports to bg thread (2 дня назад) <Vladimir Dolzhenko>
* fef2e06db4 - (tag: build-1.4.0-dev-2123) FIR: Fix test data (2 дня назад) <Denis Zharkov>
* 75d57c7d3f - (tag: build-1.4.0-dev-2118) Update pattern for finding diagnostics in diagnostic tests (2 дня назад) <Pavel Kirpichenkov>
* 4dd794c2d2 - (tag: build-1.4.0-dev-2116) [JVM_IR] Propagate Type Parameters to DefaultImpls (2 дня назад) <Kristoffer Andersen>
* 3606a4104b - [JVM IR] Documentation for `remapTypeParameters` (2 дня назад) <Kristoffer Andersen>
* 6c439ae85a - Create `TrailingCommaIntention` (2 дня назад) <Dmitry Gridin>
* 195d9020a6 - TrailingCommaInspection: shouldn't be associated with formatter settings (2 дня назад) <Dmitry Gridin>
* b5d0956a5e - Move call-site trailing comma to registry (2 дня назад) <Dmitry Gridin>
* c34b417d0c - Fix tests after disabling trailing comma (2 дня назад) <Dmitry Gridin>
* 3fb34596ae - Code style: disable trailing comma by default (2 дня назад) <Dmitry Gridin>
* 4f834cb16b - (tag: build-1.4.0-dev-2109) FIR: Get rid of replacements map during calls completion (2 дня назад) <Denis Zharkov>
* 8d24e0f842 - FIR: Add some absent "replace" methods for callable declarations (2 дня назад) <Denis Zharkov>
* c3e900b945 - FIR: Make replace function accepting parameter with nullability as-is (2 дня назад) <Denis Zharkov>
* 23e9a0c861 - FIR: Force processing postponed arguments nested in lambdas (2 дня назад) <Denis Zharkov>
* 1e2e556328 - [Gradle, JS] Fix test (2 дня назад) <Ilya Goncharov>
2020-02-07 07:07:30 +01:00
2019-11-04 15:13:27 +03:00
2019-12-27 11:01:09 +03:00
2019-11-28 12:20:29 +07:00
2019-03-21 14:16:25 +03:00
2020-02-06 16:31:09 +03:00
2020-02-06 13:53:15 +03:00
2017-03-30 09:51:58 +03:00
2019-12-18 16:58:28 +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
2020-02-06 11:12:49 +03: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%