*635869f15a- (tag: build-1.4.20-dev-2746, tag: build-1.4.20-dev-2737, tag: build-1.4.20-dev-2727) Rewrite className helper to fix tests on android (vor 2 Tagen) <Zalim Bashorov> *0ded1d7006- (tag: build-1.4.20-dev-2719) FirBasedSignatureComposer: generate better error messages (vor 3 Tagen) <Mikhail Glukhikh> *40256aa43d- Fir2IrLazyClass: generate enum values() / valueOf() properly (vor 3 Tagen) <Mikhail Glukhikh> *8bae0f2d0c- [FIR2IR] Handle local visibility around signature composer properly (vor 3 Tagen) <Mikhail Glukhikh> *828524bde4- [FIR2IR] Fix conversion of default vararg arguments for annotations (vor 3 Tagen) <Mikhail Glukhikh> *240baa64a5- Fir2IrConverter: initialize call generator earlier to avoid lateinit err (vor 3 Tagen) <Mikhail Glukhikh> *2b52988f1b- [FIR TEST] Add failing BB test with Deprecated annotation (vor 3 Tagen) <Mikhail Glukhikh> *df1719c64c- (tag: build-1.4.20-dev-2718, tag: build-1.4.20-dev-2707, tag: build-1.4.20-dev-2698) Fix incorrect mixed named/positioned arguments in project code (vor 3 Tagen) <Denis Zharkov> *dc6efa5a61- Fix incorrect handling of mixed named/positional arguments (vor 3 Tagen) <Denis Zharkov> *d083297366- (tag: build-1.4.20-dev-2697) Support additional flags in MPP tests. Add diagnostic tests for defaults (vor 3 Tagen) <Mikhail Bogdanov> *125c72cb8d- New default checks for mixed hierarchies (vor 3 Tagen) <Mikhail Bogdanov> *de02b31ad7- (tag: build-1.4.20-dev-2696) FIR: Use phasedFir in resolve (vor 3 Tagen) <Denis Zharkov> *0de29e641d- (tag: build-1.4.20-dev-2694) Fixed bug with `pureKotlinSourceFolders` for common modules (vor 3 Tagen) <Yaroslav Chernyshev> *142bd2e009- Filtering `pureKotlinSourceFolders` for existing package directories (vor 3 Tagen) <Yaroslav Chernyshev> *e6670d439f- Small renaming `classifier` -> `disambiguationClassifier` (vor 3 Tagen) <Yaroslav Chernyshev> *96d9dad429- Fixed tests for `pureKotlinSourceFolders` by extending created facets (vor 3 Tagen) <Yaroslav Chernyshev> *f490085142- Support `pureKotlinSourceFolders` for MPP projects (vor 3 Tagen) <Yaroslav Chernyshev> *fde8a34c32- (tag: build-1.4.20-dev-2693) KT-40058 NPE from mpp gradle plugin on kotlinx.benchmarks (vor 3 Tagen) <nataliya.valtman> *bc41681a2e- (tag: build-1.4.20-dev-2677) Fix gradle import error after introducing new gradle task in benchmarks (vor 4 Tagen) <Ivan Kylchik> *96ac6e612d- (tag: build-1.4.20-dev-2676, tag: build-1.4.20-dev-2674, tag: build-1.4.20-dev-2672) Build: Replace androidIdeTest task with kaptIdeTest (vor 4 Tagen) <Vyacheslav Gerasimov> *803d24cd42- Build: Remove pluginTests task and deduplicate kapt test task (vor 4 Tagen) <Vyacheslav Gerasimov> *ee642e69b0- Build: Introduce mainIdeTests task (vor 4 Tagen) <Vyacheslav Gerasimov> *e2a4ca10d6- (tag: build-1.4.20-dev-2671) JVM_IR: fix inner class attributes for private class in interface (vor 4 Tagen) <Dmitry Petrov> *0741781462- Compare inner class access flags in bytecode listing tests (vor 4 Tagen) <Dmitry Petrov> *8d894929ae- (tag: build-1.4.20-dev-2662) Minor: unify logging in scripting (vor 4 Tagen) <Natalia Selezneva> *8a6cdcba29- (tag: build-1.4.20-dev-2661) Do not hold a lock during loading script templates from dependencies (vor 4 Tagen) <Natalia Selezneva> *493c287bb0- Minor: fix notification text when script configuration is missing after request (vor 4 Tagen) <Natalia Selezneva> *265873becd- (tag: build-1.4.20-dev-2656) Comment out runBenchmark tasks due to gradle import error (vor 4 Tagen) <Ivan Kylchik> *be06c51aa7- (tag: build-1.4.20-dev-2654) KT-40363 Handle non-octal int literals in for-loop conversions (vor 4 Tagen) <Roman Golyshev> *cba671a3ef- KT-40359 Catch `NumberFormatException` during literal conversion (vor 4 Tagen) <Roman Golyshev> *cc0a787735- Add null-checking to `KotlinIdeaResolutionException` constructors (vor 4 Tagen) <Roman Golyshev> *f7031e65ba- (tag: build-1.4.20-dev-2643) Uast: don't throw exception if can't get a receiver parameter for annotation (KT-40494) (vor 4 Tagen) <Nicolay Mitropolsky> *7872b21914- (tag: build-1.4.20-dev-2639) FIR: handle object invoke via type alias (vor 4 Tagen) <Jinseong Jeon> *4a803e9d2f- (tag: build-1.4.20-dev-2636) [JS IR] Support object declaration export (vor 4 Tagen) <Svyatoslav Kuzmich> *4027dae594- [JS] Add js/js.translator/testData/package-lock.json (vor 4 Tagen) <Svyatoslav Kuzmich> *be371c9294- (tag: build-1.4.20-dev-2629) Remove optimization in KotlinScriptDependenciesClassFinder (vor 5 Tagen) <Natalia Selezneva> *be8374a1a8- Minor: fix comments (vor 5 Tagen) <Natalia Selezneva> *e708e3f1c5- Do not suggest to load gradle.kts configurations after project reopening (vor 5 Tagen) <Natalia Selezneva> *300e9581de- Fix UI for Kotlin Scripting page (vor 5 Tagen) <Natalia Selezneva> *dd20b9062a- Completion for script inside module should provide classes from related module (vor 5 Tagen) <Natalia Selezneva> *65d3ae6253- (tag: build-1.4.20-dev-2627) JS IR: move declaration creation from IrBuilder to JsIrDeclarationBuilder (vor 5 Tagen) <Alexander Udalov> *d3a34a8898- Psi2Ir: somewhat simplify Psi2IrTranslator API (vor 5 Tagen) <Alexander Udalov> *241f82c70f- IR: avoid storing unnecessary fields in IrPropertyImpl (vor 5 Tagen) <Alexander Udalov> *3f06f8a6ba- IR: avoid storing unnecessary fields in IrFunctionImpl (vor 5 Tagen) <Alexander Udalov> *517c3e1020- IR: introduce IrFakeOverrideFunction, IrFakeOverrideProperty (vor 5 Tagen) <Alexander Udalov> *ca5eb40fa5- IR: minor, avoid usages of IrBlockBodyImpl/IrExpressionBodyImpl (vor 5 Tagen) <Alexander Udalov> *174576af61- (tag: build-1.4.20-dev-2626) ForLoopsLowering: Handle `Sequence<*>.withIndex()`. (vor 5 Tagen) <Mark Punzalan> *132960a695- ForLoopsLowering: Eliminate use of @ObsoleteDescriptorBasedAPI. (vor 5 Tagen) <Mark Punzalan> *b1ce21bc55- ForLoopsLowering: Reduce unnecessary temporary variables for the "checked step" (check for a positive step arg) and "negated step" (negate the step arg when the nested step is negative). (vor 5 Tagen) <Mark Punzalan> *291d62f653- ForLoopsLowering: Move handlers to sub-package and separate files. (vor 5 Tagen) <Mark Punzalan> *44d283eb07- Fix FIR benchmark memory leak (vor 5 Tagen) <Ivan Kylchik> *be4dbf2dcd- Create gradle scripts to run and analyze benchmark results (vor 5 Tagen) <Ivan Kylchik> *29d0e3dbb5- Reuse createSession function for FIR in benchmark (vor 5 Tagen) <Ivan Kylchik> *1272162a7f- JVM_IR: generate "safe" names for functions in init blocks (vor 5 Tagen) <Dmitry Petrov> *bb8f857809- [Gradle, Import] Added externalSystemId into facet for mpp projects (vor 5 Tagen) <Yaroslav Chernyshev> *e5b0498eb6- (tag: build-1.4.20-dev-2593) Fix tests for Gradle kts and groovy dsl (vor 5 Tagen) <Ilya Goncharov> *ae0bedd2ac- [Gradle, JS] Different module kind for browser and nodejs (vor 5 Tagen) <Ilya Goncharov> *38ec3ffb4a- [Gradle, JS] Statically calculated module configurator id (vor 5 Tagen) <Ilya Goncharov> *bf1b85343f- [Gradle, JS] Remove copyright from template of node.js (vor 5 Tagen) <Ilya Goncharov> *2d60d2c0e6- [Gradle, JS] Divide allowSinglePlatform (vor 5 Tagen) <Ilya Goncharov> *af367b01ec- [Gradle, JS] Add test on node js single platform project (vor 5 Tagen) <Ilya Goncharov> *cb60b9e59c- [Gradle, JS] singleplatformJs -> singlePlatformJsBrowser (vor 5 Tagen) <Ilya Goncharov> *01ec8b5262- [Gradle, JS] Fix typo and add node js module configurator (vor 5 Tagen) <Ilya Goncharov> *0d606e1346- [Gradle, JS] Fix id and text in simple js module configurators (vor 5 Tagen) <Ilya Goncharov> *4c5cd44e75- [Gradle, JS] Localize Module Type (vor 5 Tagen) <Ilya Goncharov> *29e37ee15f- [Gradle, JS] Fix test for js single platform (vor 5 Tagen) <Ilya Goncharov> *a866e51402- [Gradle, JS] NodeJs template files (vor 5 Tagen) <Ilya Goncharov> *95f6669275- [Gradle, JS] Add NodeJs template plugin (vor 5 Tagen) <Ilya Goncharov> *6866fdc3e1- [Gradle, JS] Add NodeJs template project (vor 5 Tagen) <Ilya Goncharov> *4de31da0f3- [Gradle, JS] Fix typo (vor 5 Tagen) <Ilya Goncharov> *e8dfc4dcd0- [Gradle, JS] JsSinglePlatform -> BrowserJsSinglePlatform (vor 5 Tagen) <Ilya Goncharov> *b4334a3a3b- (tag: build-1.4.20-dev-2592) [Gradle, JS] Fix formatting in Gradle Kotlin/JS wizard (vor 5 Tagen) <Ilya Goncharov> *e1abaa9b51- (tag: build-1.4.20-dev-2584) FIR: special visibility handling for monitor{Enter|Exit} (vor 5 Tagen) <Jinseong Jeon> *85f692ab40- FIR2IR: use DescriptorWithContainerSource if container source is available (vor 5 Tagen) <Jinseong Jeon> *c076d81f0c- [IR FAKE OVERRIDES] Properly account for outer class type parameters (vor 5 Tagen) <Alexander Gorshenev> *1ef17c6f3a- (tag: build-1.4.20-dev-2582) Drop isErrorTypeAllowed flag from type system context (vor 5 Tagen) <Pavel Kirpichenkov> *710659324c- [NI] Fix common supertype of types with error supertypes (vor 5 Tagen) <Pavel Kirpichenkov> *95cc35f22e- (tag: build-1.4.20-dev-2576) Package builtins with jvm reflect into IDEA plugin only (vor 5 Tagen) <Ilya Gorbunov> *0c094b1719- Serialize jvm reflect into builtIns (vor 5 Tagen) <Stanislav Erokhin> *67090e1afb- Move KTypeProjection to separate file (vor 5 Tagen) <Stanislav Erokhin> *ee26fd4959- (tag: build-1.4.20-dev-2575) [KJS FE] Change severity of NON_EXPORTABLE_TYPE from error to warning (vor 5 Tagen) <Zalim Bashorov> *41bd013796- (tag: build-1.4.20-dev-2573) Fix incorrect usages of @NotNull type parameters in project sources (vor 5 Tagen) <Denis Zharkov> *037ff2fa52- Fix incorrect handling of @NotNull type parameters (vor 5 Tagen) <Denis Zharkov> *f1c68a9080- Introduce JavaTypeEnhancement component (vor 5 Tagen) <Denis Zharkov> *240311d9c7- Minor. Reformat JavaNullabilityChecker (vor 5 Tagen) <Denis Zharkov> *d93885e71c- (tag: build-1.4.20-dev-2562) Add tests for deprecated properties (vor 6 Tagen) <Dmitry Petrov> *e84339a0d3- JVM_IR: fields for deprecated enum entries have ACC_DEPRECATED flag (vor 6 Tagen) <Dmitry Petrov> *edab3e3ba9- (tag: build-1.4.20-dev-2557) [PLUGIN API] Add `referenceTypeAlias` API to `IrPluginContext` (vor 6 Tagen) <Roman Artemev> *c4b4912a71- Revert "[PLUGIN API] Make `referenceClass` resolve type aliases too" (vor 6 Tagen) <Roman Artemev> *cb15570d75- (tag: build-1.4.20-dev-2552) [JS IR BE] Fix validation errors (duplicate nodes and incorrect parent) (vor 6 Tagen) <Anton Bannykh> *d36d62e226- (tag: build-1.4.20-dev-2547) Add info about `-Pteamcity` to readme and make warning less annoying (vor 6 Tagen) <Vyacheslav Gerasimov> *a4457ba7ac- (tag: build-1.4.20-dev-2539) Build: Setup dependency on dist for :compiler:fir:analysis-tests:test (vor 6 Tagen) <Vyacheslav Gerasimov> *58ee95c8a3- Build: Add root IDE test tasks to split tests in 3 parts (vor 6 Tagen) <Vyacheslav Gerasimov> *036c359993- Build: Make local profile warning more visible (vor 6 Tagen) <Vyacheslav Gerasimov> *d9fbaadb2e- Build: Upgrade Gradle Enterprise plugin to 3.3.4 (vor 6 Tagen) <Vyacheslav Gerasimov> *d7a0dbfae8- (tag: build-1.4.20-dev-2530) [PLUGIN API] Make `referenceClass` resolve type aliases too (vor 6 Tagen) <Roman Artemev> *a0154b9851- (tag: build-1.4.20-dev-2528) Add JarUtil.getJarAttribute to proguard rules (vor 6 Tagen) <Leonid Startsev> *e3f42721e9- Mute/ignore 'PROVIDED_RUNTIME_TOO_LOW' in tests (vor 6 Tagen) <Leonid Startsev> *df5f38fec8- Implement reading kx.serialization runtime metadata from jar manifest (vor 6 Tagen) <Leonid Startsev> *7db0bf8195- Add new serialization runtime packages (vor 6 Tagen) <Leonid Startsev> *8b9fb6a6cd- (tag: build-1.4.20-dev-2517) [FIR] Remove FirOperatorCall node from fir tree (vor 6 Tagen) <Ivan Kylchik> *3c01a39846- [FIR] Update test data after introducing new fir nodes (vor 6 Tagen) <Ivan Kylchik> *d77d733244- [FIR] Complement fir rendering with newly created nodes (vor 6 Tagen) <Ivan Kylchik> *9a119a6757- [FIR] Replace all necessary usages of operator call with new ones (vor 6 Tagen) <Ivan Kylchik> *def47bdd9d- [FIR] Add new equalityOperatorCall node in control flow graph (vor 6 Tagen) <Ivan Kylchik> *d23e9940ec- [FIR] Change fir builder to use newly created nodes (vor 6 Tagen) <Ivan Kylchik> *708c8b8ef3- [FIR] Create additional nodes to replace operator call in some places (vor 6 Tagen) <Ivan Kylchik> *8c4930da2e- (tag: build-1.4.20-dev-2511) [KLIB] Drop API which is no longer used (vor 6 Tagen) <Roman Artemev> *bb20e4759b- [KLIB] Use queue to track classes required fake override resolve (vor 6 Tagen) <Roman Artemev> *2b0639d4ad- (tag: build-1.4.20-dev-2505) [FIR] Cleanup and refactoring for checkers (vor 6 Tagen) <vladislavf7@gmail.com> *fb946a6a3f- [FIR] Move extended checkers list (vor 6 Tagen) <vladislavf7@gmail.com> *751ed60e42- [FIR] Fix redundant visibility modifier checker (vor 6 Tagen) <vladislavf7@gmail.com> *a8ff5d17dc- [FIR] Fix redundant modality modifier checker (vor 6 Tagen) <vladislavf7@gmail.com> *a988234bbf- [FIR] Fix redundant explicit type checker (vor 6 Tagen) <vladislavf7@gmail.com> *eecb43d4c9- (tag: build-1.4.20-dev-2501) Ignore test in Native backend (vor 6 Tagen) <Pavel Punegov> *bace1b8055- (tag: build-1.4.20-dev-2497) Increase stdlib-js mocha test timeouts to 10s (vor 6 Tagen) <Ilya Gorbunov> *d62a6a2631- (tag: build-1.4.20-dev-2495) JVM IR: Do not create accessors for enum entry constructors (vor 7 Tagen) <Steven Schäfer> *71730696b2- (tag: build-1.4.20-dev-2494) JVM IR: rename JvmDeclarationFactory -> JvmCachedDeclarations (vor 7 Tagen) <Alexander Udalov> *c7f9dc1c40- IR: rename DeclarationFactory to InnerClassesSupport, move out of context (vor 7 Tagen) <Alexander Udalov> *cf884fb048- IR: remove JVM-specific methods from DeclarationFactory (vor 7 Tagen) <Alexander Udalov> *6907decd99- Report file name on exception from ASM in BinaryJavaClass (vor 7 Tagen) <Alexander Udalov> *221d49a995- (tag: build-1.4.20-dev-2492) Set wantsDiagnostics() in AbstractFilteringTrace (vor 7 Tagen) <Matthew Gharrity> *2e31f95554- (tag: build-1.4.20-dev-2490) Update testData (vor 7 Tagen) <Dmitry Petrov> *2b9606becf- JVM_IR: field for suspend main parameter is synthetic (vor 7 Tagen) <Dmitry Petrov> *7be9b18ff4- JVM: field for suspend main parameter is synthetic (vor 7 Tagen) <Dmitry Petrov> *6bc44a366a- JVM_IR: fields for suspend lambda parameters are synthetic (vor 7 Tagen) <Dmitry Petrov> *bae6037f00- JVM: fields for suspend lambda parameters are synthetic (vor 7 Tagen) <Dmitry Petrov> *fa75518bd7- JVM_IR: don't skip nullability annotations on private fields (vor 7 Tagen) <Dmitry Petrov> *d30c67db14- JVM: don't skip nullability annotations on private fields (vor 7 Tagen) <Dmitry Petrov> *b0ac046b05- (tag: build-1.4.20-dev-2486) NI: decrease fixation priority for variables which have only incorporated from upper bound constraints (vor 7 Tagen) <Victor Petukhov> *081248f859- (tag: build-1.4.20-dev-2482) [Gradle, JS] Extract properties provider in KotlinJsTarget (vor 7 Tagen) <Ilya Goncharov> *4917643583- [Gradle, JS] Check if not both compiler (vor 7 Tagen) <Ilya Goncharov> *61b5a738da- (tag: build-1.4.20-dev-2477) [Gradle, JS] Rename flag for legacy (vor 7 Tagen) <Ilya Goncharov> *e776444459- [Gradle, JS] binaries executable for legacy by default (vor 7 Tagen) <Ilya Goncharov> *f7beea10a5- [Gradle, JS] Common configure should be last otherwise user settings can be overwrote (vor 7 Tagen) <Ilya Goncharov> *814bd48148- (tag: build-1.4.20-dev-2473, tag: build-1.4.20-dev-2464) Keep members of com.google.common dependencies intact (vor 7 Tagen) <Jim Sproch> *236dfe60f1- (tag: build-1.4.20-dev-2456) [FIR] Correctly build scopes for resolve of different parts of constructors (vor 7 Tagen) <Dmitriy Novozhilov> *94ff457e43- [FIR] Handle erroneous situation with type projection in supertype (vor 7 Tagen) <Dmitriy Novozhilov> *c94d583e2e- [FIR] Add substitution for inner classes to supertype resolve (vor 7 Tagen) <Dmitriy Novozhilov> *cf555ef2b6- [FIR] Move FirNestedClassifierScopeWithSubstitution to separate file (vor 7 Tagen) <Dmitriy Novozhilov> *07e12f98b5- [FIR] Substitute supertypes in nested classifier scope (vor 7 Tagen) <Dmitriy Novozhilov> *cedd1c133e- [FIR] Match type in `super<type>` access with actual supertypes of class (vor 7 Tagen) <Dmitriy Novozhilov> *1ce4eca3a6- [FIR] Infer type arguments for captured parameters of inner classes (vor 7 Tagen) <Dmitriy Novozhilov> *1c622a5a3f- [FIR] Add `transformConversionTypeRef` to FirTypeOperatorCall (vor 7 Tagen) <Dmitriy Novozhilov> *1b78950ebb- [FIR] Don't transform property initializers in type resolve (vor 7 Tagen) <Dmitriy Novozhilov> *9e94189852- [FIR] Add `transformTypeParameters` to FirTypeParameterRefsOwner (vor 7 Tagen) <Dmitriy Novozhilov> *4083111dab- (tag: build-1.4.20-dev-2455) Fix SAM conversion when lambda is the last expression of another lambda (vor 7 Tagen) <Mikhail Zarechenskiy> *a15d3c76b6- Fix references to sam adapted functions, also fix lookup location (vor 7 Tagen) <Mikhail Zarechenskiy> *0c79de1a98- Prohibit adapted reference resolve against reflective types (vor 7 Tagen) <Mikhail Zarechenskiy> *d8de37f665- (tag: build-1.4.20-dev-2452, tag: build-1.4.20-dev-2445) (CoroutineDebugger) using WeakReference as lastObservedFrame (vor 7 Tagen) <Vladimir Ilmov> *bcf1954860- (CoroutineDebugger) added support for DebugCoroutineInfoImpl in kotlinx-coroutines-core:1.3.8 (vor 7 Tagen) <Vladimir Ilmov> *b43b238030- (CoroutineDebugger) embed agent into gradle JavaExec task (vor 7 Tagen) <Vladimir Ilmov> *217428212f- (CoroutineDebugger) Refactoring of retrieving BaseContinuationImpl chains (vor 7 Tagen) <Vladimir Ilmov> *14766a3e1a- (CoroutineDebugger) lv 'task' added to tests in EventLoopImplBase kotlinx-coroutines-core:1.3.7 (vor 7 Tagen) <Vladimir Ilmov> *e49f3b567b- (CoroutineDebugger) minimum supported version kotlinx-coroutines-core.1.3.8 (vor 7 Tagen) <Vladimir Ilmov> *cd896ae6c8- (tag: build-1.4.20-dev-2442) FIR: Implement FE 1.0 semantics for super unqualified calls (vor 7 Tagen) <Denis Zharkov> *dfc75f3447- FIR: Support fake elements for light tree (vor 7 Tagen) <Denis Zharkov> *fea1fb0fc3- FIR: Rename FirSourceElement::withKind to fakeElement (vor 7 Tagen) <Denis Zharkov> *376d3385d0- FIR: Handle super-receiver case in a special way (vor 7 Tagen) <Denis Zharkov> *628b8b56b7- (tag: build-1.4.20-dev-2433) FIR2IR: convert annotations on type aliases (vor 7 Tagen) <Jinseong Jeon> *4e14f9500f- (tag: build-1.4.20-dev-2432) FIR: account for vararg when creating KFunction type for callable reference (vor 7 Tagen) <Jinseong Jeon>
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 (Xcode 11.5 is required to compile Kotlin/Native from sources)
- on Fedora 26+
yum install ncurses-compat-libsmay be needed - on recent Ubuntu
apt install libncurses5is 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.