Vasily Levchenko 2a54c8f9ba [kotlin compiler][update] 1.3.70-dev-2416
* ca0bff75cd - [KLIB] Keep order of constant properties depending on backend  - Fix K/N performance regression (3 hours ago) <Roman Artemev>
* 6ef3831f14 - Build: Take parent directory as rootProject directory in case of buildSrc (3 hours ago) <Vyacheslav Gerasimov>
* 462d6ac5b6 - Build: Add remote build cache parameters for teamcity builds (3 hours ago) <Vyacheslav Gerasimov>
* d3c1ef9251 - Build: Use kotlin-build-gradle-plugin in buildSrc (3 hours ago) <Vyacheslav Gerasimov>
* ab8542bbdb - Build: Advance kotlin-build-gradle-plugin version to 0.0.2 (3 hours ago) <Vyacheslav Gerasimov>
* 46d77419a8 - Build: Add build cache properties to kotlin-build-gradle-plugin (3 hours ago) <Vyacheslav Gerasimov>
* ad79efeba3 - Build: Use kotlin version embedded to gradle (3 hours ago) <Vyacheslav Gerasimov>
* fa7bd3dd2e - FIR: Support SAM constructors for type aliases (3 hours ago) <Denis Zharkov>
* ae01d050c9 - FIR: Abstract parts for type alias constructors resolution (3 hours ago) <Denis Zharkov>
* fbe7db5471 - FIR: Move constructor processing parts to a separate file (3 hours ago) <Denis Zharkov>
* bf68e85a5c - FIR: Support SAM conversion for interfaces containing Object methods (3 hours ago) <Denis Zharkov>
* 7cd55c85e6 - (tag: build-1.3.70-dev-2416) JVM/JVM_IR: fix mapping of KClass in annotation classes (5 hours ago) <pyos>
* f869be6a71 - (tag: build-1.3.70-dev-2414) JVM IR: do not mangle synthetic methods with inline class parameters (5 hours ago) <Alexander Udalov>
* 66ffdf1b2d - (tag: build-1.3.70-dev-2412) KT-33979 KT-34150 Remove filtering overridden object members and nested objects (5 hours ago) <Roman Golyshev>
* 2552540f71 - (tag: build-1.3.70-dev-2411) IR: wrap exceptions and add file path in per-file lowerings (6 hours ago) <Alexander Udalov>
* fd627603a0 - Refactor CompilationErrorHandler (6 hours ago) <Alexander Udalov>
* 2435b8d9fa - (tag: build-1.3.70-dev-2407) Update testData for enum constructor result type in IR (7 hours ago) <Dmitry Petrov>
* 35c2573b33 - PSI2IR: generate IrEnumConstructorCalls with correct return type (7 hours ago) <pyos>
* 145ad1a6fa - (tag: build-1.3.70-dev-2406) FIR: Minor. Extract common parts in FirCallCompletionResultsWriterTransformer (7 hours ago) <Denis Zharkov>
* 71bf8a14e8 - (tag: build-1.3.70-dev-2405) [FIR] Make `ConeTypeCheckerContext` implements `ConeInferenceContext` (7 hours ago) <Dmitriy Novozhilov>
* 69033b7b15 - (tag: build-1.3.70-dev-2403) JVM_IR: handle @JvmName on annotation getters (8 hours ago) <pyos>
* ac7d9fa90d - (tag: build-1.3.70-dev-2402) JVM_IR: implement -Xpolymorphic-signature (8 hours ago) <pyos>
* fe6be0f436 - (tag: build-1.3.70-dev-2401) Fix failed FIR multi-module test (forgotten test data update) (8 hours ago) <Mikhail Glukhikh>
* 0ff77bd3c5 - (tag: build-1.3.70-dev-2394) Add UL support for const fields initializers (22 hours ago) <Igor Yakovlev>
* 775eb67219 - (tag: build-1.3.70-dev-2386) NI: Add constraints which contain constraining type without projection ^KT-32243 Fixed ^KT-35172 Fixed (23 hours ago) <Victor Petukhov>
* 65cc0fa463 - (tag: build-1.3.70-dev-2382) PSI2IR: have GeneratorExtensions implement StubGeneratorExtensions (24 hours ago) <pyos>
* a950df3c80 - PSI2IR: copy isPropertyWithPlatformField to GeneratorExtensions (24 hours ago) <pyos>
* 3cae90dd26 - (tag: build-1.3.70-dev-2379) [minor] fix source root creation from imported scripts: (24 hours ago) <Ilya Chernikov>
* f2a4a835e7 - Improve script cli diagnostics (24 hours ago) <Ilya Chernikov>
* 49de5e19fb - Implement repl, script and expressions evaluation support in kotlin runner (24 hours ago) <Ilya Chernikov>
* 531ff92791 - Implement support for expression evaluation in jvm cli compiler (24 hours ago) <Ilya Chernikov>
* 7bb9f97b11 - Allow to separate top-level script declarations and statements with semicolon (24 hours ago) <Ilya Chernikov>
* b8034567ef - Change script definition lookup key from File to ScriptSource (24 hours ago) <Ilya Chernikov>
* 615624802c - Add kotlinx-html test (24 hours ago) <Ilya Chernikov>
* 4439582d23 - Remove unnecessary update of the source roots, simplify interface accordingly (24 hours ago) <Ilya Chernikov>
* 02a71d2cda - Save updated roots before a packagePartProvider is created (24 hours ago) <Ilya Chernikov>
* a190ab260e - Load main-kts jar automatically from scripting plugin, if available (24 hours ago) <Ilya Chernikov>
* 22cb6fa836 - (tag: build-1.3.70-dev-2373) [Gradle, JS] Fix case with null distribution (25 hours ago) <Ilya Goncharov>
* c267357596 - [Gradle, JS] Add distribution DSL (25 hours ago) <Ilya Goncharov>
* fe9ddd9f22 - [Gradle, JS] Check if resourcesDir exists and resourceDir is input directory (25 hours ago) <Ilya Goncharov>
* 053469dcec - [Gradle, JS] Copy index.html from resources to dist (25 hours ago) <Ilya Goncharov>
* b9dee4e93a - (tag: build-1.3.70-dev-2355) Remove assertion on sorted ranges: it could be empty if lambda doesn't contain any linenumber (29 hours ago) <Mikhael Bogdanov>
* ae4a1e3cca - [Gradle, JS] Fix check on Kotlin/JS modules from NPM in DCE (29 hours ago) <Ilya Goncharov>
* 0380380de4 - (tag: build-1.3.70-dev-2351) More cleanups after tests execution (29 hours ago) <Nikolay Krasko>
* 0cbb3a3956 - Remove unused ProjectRootModificationTrackerFixer.kt (29 hours ago) <Nikolay Krasko>
* c12599a045 - Fix test data for testParamTypeLambdaMismatch in >= 192 (29 hours ago) <Nikolay Krasko>
* 408f958273 - (tag: build-1.3.70-dev-2350) [Gradle, JS] Add idle run for debug node tests (29 hours ago) <Ilya Goncharov>
* 38de98429d - (tag: build-1.3.70-dev-2348) Fix importing tests in bunch 183 (30 hours ago) <Andrey Uskov>
* 9643d5d28e - Added import-resolve integration tests (30 hours ago) <Andrey Uskov>
* e9946b21b5 - (tag: build-1.3.70-dev-2344, tag: build-1.3.70-dev-2340) JVM IR: do not hide constructor with inline class types and defaults (31 hours ago) <Alexander Udalov>
* 4e1cd6bcd5 - (tag: build-1.3.70-dev-2338) Mute 2 black-box FIR test due to disallowed Kotlin synthetic properties problem (31 hours ago) <Mikhail Glukhikh>
* 18e8896c08 - (tag: build-1.3.70-dev-2334) [JVM IR] Leave private @JvmDefault methods on interface (33 hours ago) <Kristoffer Andersen>
* 6f8682c950 - [JVM IR] Stabilize accesor names in IR Backend (33 hours ago) <Kristoffer Andersen>
* d1c2862e27 - IR: Align Interface Defaults with Old Backend (33 hours ago) <Kristoffer Andersen>
* b5de625350 - Minor refactor: lifting common code (33 hours ago) <Kristoffer Andersen>
* 6a41700689 - [JVM_IR] Fix interface method resolution (33 hours ago) <Kristoffer Andersen>
* df96841c9d - (tag: build-1.3.70-dev-2333) Prohibit protected method calls from inline function (33 hours ago) <Mikhael Bogdanov>
2019-12-03 18:23:10 +01:00
2019-11-04 15:13:27 +03:00
2018-08-27 14:55:51 +03:00
2019-11-28 12:20:29 +07:00
2019-03-21 14:16:25 +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-11-25 18:59:23 +03: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%