Vasily Levchenko cd77ee2ce8 [kotlin compiler][update] 1.3.70-dev-2841
* 2639ed2c48 - (tag: build-1.3.70-dev-2841, origin/1.3.70) Fix invalid equality for UL methods (14 hours ago) <Igor Yakovlev>
* d6fcde7316 - (tag: build-1.3.70-dev-2837) JS_IR: fix typecheck corner case (20 hours ago) <Anton Bannykh>
* 9a971172c9 - (tag: build-1.3.70-dev-2835) JS: fix object expression constructor delegation to secondary constructors with default arguments (KT-30517 fixed) (23 hours ago) <Anton Bannykh>
* 419d414681 - (tag: build-1.3.70-dev-2833) NI: Update FIR test data after 07269661b4 (2 days ago) <Victor Petukhov>
* 92c2cfa968 - (tag: build-1.3.70-dev-2824) JVM_IR: handle property references at class level (3 days ago) <Georgy Bronnikov>
* 8d303af395 - (tag: build-1.3.70-dev-2818) Build: Add build scan server url setting (3 days ago) <Vyacheslav Gerasimov>
* 724884513e - Build: Extract build cache setup to kotlin-build-gradle-plugin (3 days ago) <Vyacheslav Gerasimov>
* 68ce5dbd90 - Build: Use property for disabling/enabling local build cache (3 days ago) <Vyacheslav Gerasimov>
* bfcac5b091 - Build: Update kotlin-build-gradle-plugin to 0.0.4 (3 days ago) <Vyacheslav Gerasimov>
* 283933ace5 - Build: Add localBuildCacheEnabled property (3 days ago) <Vyacheslav Gerasimov>
* 729b4d33cf - Build: Replace deprecated `compile` configuration with `implementation` in build script of buildSrc (3 days ago) <Vyacheslav Gerasimov>
* 85dcc65695 - Build: Use kotlin-build-gradle-plugin in build script of buildSrc (3 days ago) <Vyacheslav Gerasimov>
* c9cba34d67 - (tag: build-1.3.70-dev-2807) KT-35454 Weird implementation of KtUltraLightFieldImpl.isEquivalentTo (3 days ago) <Alexander Shustanov>
* f45c11c6f2 - (tag: build-1.3.70-dev-2802) Use constantSdkDependencyIfAny in getKeyForSdk as well (3 days ago) <Dmitry Savvinov>
* 5b8be16f13 - (tag: build-1.3.70-dev-2796, tag: build-1.3.70-dev-2787) Kotlin/Native IDE plugin clean-up (3 days ago) <Dmitriy Dolovov>
<* 36ed29d4d5 - Convert KotlinNativeMetaBinary from Java to Kotlin (3 days ago) <Dmitriy Dolovov>
* 511a4089ca - Kotlin/Native IDE plugin clean-up (3 days ago) <Dmitriy Dolovov>
* 992a702762 - Minor: organized imports (3 days ago) <Dmitriy Dolovov>
* deb4025987 - Fix: Use more precise KLIB compatibility check (by metadata version) (3 days ago) <Dmitriy Dolovov>
* 34e1ab4e7a - (tag: build-1.3.70-dev-2783) FIR: Leave single implementation of ConeInferenceContext (3 days ago) <Denis Zharkov>
* 28f4d62ccf - FIR: Add different extension for FirSession.inferenceContext (3 days ago) <Denis Zharkov>
* b33d0c2594 - Minor. Reformat ConeInferenceContext (3 days ago) <Denis Zharkov>
* 0baf1e8fa7 - Minor. Get rid of UniversalConeInferenceContext (3 days ago) <Denis Zharkov>
* bbc9927bce - Minor. Get rid of DataFlowInferenceContext (3 days ago) <Denis Zharkov>
* 0064429339 - Avoid using TypeSystemInferenceExtensionContextDelegate in FIR (3 days ago) <Denis Zharkov>
* 25fdbdfecb - (tag: build-1.3.70-dev-2776) NI: Update FIR test data (3 days ago) <victor.petukhov>
* a19f8ffe6a - (tag: build-1.3.70-dev-2771) Revert "Debugger: Add IR-powered ranking tests" (3 days ago) <Yan Zhulanow>
* 1534e2b76d - (tag: build-1.3.70-dev-2765) NI: Actualize FIR test after 2d5a05466d (4 days ago) <Victor Petukhov>
* 07269661b4 - (tag: build-1.3.70-dev-2764) NI: Allow to resolve to functions with SAM conversion and passing array without spread as vararg (with warning) ^KT-35224 Fixed (4 days ago) <Victor Petukhov>
* fe875d628d - (tag: build-1.3.70-dev-2761, tag: build-1.3.70-dev-2759) Revert "[FIR] Fix outputs for logs of modularized test" (4 days ago) <Simon Ogorodnik>
* 60cc9fa6f5 - (tag: build-1.3.70-dev-2757) Revert "[FIR] Fix outputs for logs of modularized test" (4 days ago) <Simon Ogorodnik>
* 71cb65c064 - (tag: build-1.3.70-dev-2750) NI: Add flexible Nothing to trivial constraints to filter it (4 days ago) <victor.petukhov>
* 2d5a05466d - NI: Fix some unwanted exclusions constraints with remained corresponding optimization (4 days ago) <victor.petukhov>
* 15f6beed57 - (tag: build-1.3.70-dev-2749) Fix Compose extension points in compiler.xml (4 days ago) <Juan Chen>
* b95e7dfb6f - (tag: build-1.3.70-dev-2747) Don't mark super call to method from any as interface one (4 days ago) <Mikhael Bogdanov>
2019-12-17 09:26:52 +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%