Vasily Levchenko 53d96aba4c [kotlin compiler][update] 1.3.60-dev-1210
* e9e3df23fc - (HEAD -> master, tag: build-1.3.60-dev-1210, origin/master, origin/HEAD) Fix typos and improve grammar in stdlib readmes (#2527) (3 days ago) <Yanis Batura>
* ad8bcda99e - (tag: build-1.3.60-dev-1206) [IR] Merged K/N inliner with the common one (3 days ago) <Igor Chevdar>
* 32153c26a8 - (tag: build-1.3.60-dev-1198, origin/rr/4u7/publishing-fixes-before) Build: Rewrite upload_plugins.gradle in Kotlin (3 days ago) <Vyacheslav Gerasimov>
* af2cd36c3d - Build: Rename upload_plugins.gradle -> kts (3 days ago) <Vyacheslav Gerasimov>
* fba22606e6 - (tag: build-1.3.60-dev-1197) Introduce erroneous operators ClockMark.minus/compareTo(ClockMark) (3 days ago) <Ilya Gorbunov>
* ac07cb686b - Change status of ExperimentalTime API to a more risky one (3 days ago) <Ilya Gorbunov>
* a985402507 - Introduce ClockMark.hasPassedNow, hasNotPassedNow functions (3 days ago) <Ilya Gorbunov>
* 44195d436e - Rename: Clock.markNow, ClockMark.elapsedNow (3 days ago) <Ilya Gorbunov>
* a493d46a6e - Make effectively private properties actually private to avoid accessors (3 days ago) <Ilya Gorbunov>
* f889d25287 - Introduce TestClock.plusAssign(Duration) and hide implementation details (3 days ago) <Ilya Gorbunov>
* 4de9361c37 - Introduce Duration.isPositive method (3 days ago) <Ilya Gorbunov>
* 4befca95d6 - (tag: build-1.3.60-dev-1176) Add an ability to switch between old and new J2K via settings window (3 days ago) <Ilya Kirillov>
* 3b8da0afe4 - (tag: build-1.3.60-dev-1175) Update dukat dependency to 0.0.16 (3 days ago) <Shagen Ogandzhanian>
* 1aa8e28dd8 - (tag: build-1.3.60-dev-1155) Add JvmOverloads to KtLightClassImpl (4 days ago) <Igor Yakovlev>
* 8e6a80bed7 - (tag: build-1.3.60-dev-1154) Add test logs specific for IC with JS IR (4 days ago) <Alexey Tsvetkov>
* 12c209d360 - Do not compare output for IC with JS IR BE (4 days ago) <Alexey Tsvetkov>
* 3366ac4b18 - Save incremental data with KLIB compiler (4 days ago) <Alexey Tsvetkov>
* fc49510049 - Add tests for IC with JS IR BE (4 days ago) <Alexey Tsvetkov>
* 9572800ef7 - Add missing dependency (4 days ago) <Alexey Tsvetkov>
* b5a407371c - (tag: build-1.3.60-dev-1145) Update the year in LICENSE.txt (4 days ago) <Stanislav Erokhin>
* d59b910403 - (tag: build-1.3.60-dev-1139) Add tests for obsolete issues (4 days ago) <Mikhail Zarechenskiy>
* 1969ad6e9d - [NI] Take into account use-site variance for constraint from LHS of CR (4 days ago) <Mikhail Zarechenskiy>
* 0620762b97 - (tag: build-1.3.60-dev-1137) Enable new inference explicitly for MPP tests with type refinement (4 days ago) <Mikhail Zarechenskiy>
* 735e1ecec1 - Disable new inference for IDE analysis by default in releases (4 days ago) <Mikhail Zarechenskiy>
* 69942681a3 - Refactoring: move `versioning.kt` file to `idea-analysis` module (4 days ago) <Mikhail Zarechenskiy>
* 50e7ff4097 - Refactoring: move `isSnapshot` function closer to similar ones (4 days ago) <Mikhail Zarechenskiy>
* 2c0d6ab1a5 - (tag: build-1.3.60-dev-1135) [Compatibility] Restore GradleBuildScriptManipulator.addKotlinLibraryToModuleBuildScript(scope, libraryDescriptor) #KT-33336 Fixed (4 days ago) <Dmitry Gridin>
* 63895483fd - (tag: build-1.3.60-dev-1131) Fix take method from iterating one extra element (KT-32024) (4 days ago) <Abduqodiri Qurbonzoda>
* 01a613dca4 - (tag: build-1.3.60-dev-1129) Add tests for floating-point to integral conversion (4 days ago) <Abduqodiri Qurbonzoda>
* 432828a2db - Clarify floating-point to integral conversion rounding behaviour (4 days ago) <Abduqodiri Qurbonzoda>
* fd5bf33861 - (tag: build-1.3.60-dev-1128) Removed asserts for mirror files for java stubs on kt files (5 days ago) <Igor Yakovlev>
* 8cfdd140bb - (tag: build-1.3.60-dev-1121) Upgrade plugin-repository-rest-client & use token auth (5 days ago) <Vyacheslav Gerasimov>
2019-08-19 15:40:33 +03:00
2019-07-22 15:55:38 +03:00
2018-08-27 14:55:51 +03:00
2019-02-22 14:57:10 +03:00
2019-07-22 15:55:38 +03:00
2019-07-10 15:29:45 +07:00
2019-03-21 14:16:25 +03:00
2019-08-01 12:24:49 +03:00
2019-07-22 15:55:38 +03:00
2017-03-30 09:51:58 +03:00
2019-07-22 15:55:38 +03:00
2019-07-11 17:08:01 +03:00
2019-07-10 15:29:45 +07:00
2019-07-10 15:29:45 +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-08-12 17:28:36 +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 10.2
  • 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

To include Kotlin/Native Shared in a composite build and build against it, use the sharedProjectPath project property:

./gradlew dist -PsharedProjectPath=path/to/kotlin/native/shared

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%