The file `backend.native/build/libs/backend.native.jar` was produced
by two different tasks `:backend.native:jar` (default task of Java
Plugin) and `backend.native:jars` (our custom task). This caused the
`:dist: task to never be UP-TO-DATE.
Collected clang args in ClangArgs.kt
Switched dependencies/build.gradle to KonanTarget.
Introduced KonanProperties to take care of target specific properties.
The libraries exist in two incarnations:
packed foo.klib and unpacked foo/ .
The compiler when given '-library foo' expects to find either
a foo.klib file and unpack it, or an already unpacked foo/ directory.
The stdlib is always unpacked in dist/klib .
The semantics of -o has changed slightly.
It now accepts '-o foo' and the compiler
either produces foo.kexe or foo.klib .
This patch uses kotlin-dev bintray repo (dl.bintray.com/kotlin/kotlin
-dev/org/jetbrains/kotlin/kotlin-compiler/) for Kotlin compiler
downloading instead of the sonatype repo and our bintray mirror of it.
So there is not need to run ./gradlew update_kotlin_compiler on each
compiler update.
It also updates kotlin-compiler to 1.1.3-dev-1619
$ ./gradlew backend.native:tests:run \
-Premote=user@111.22.33.444 -Ptest_target=raspberrypi
The new gradle command line options:
-Pbuild_flags renamed -Pkonanc_flags.
-Ptest_flags provides compiler flags to the test builds.
-Ptest_target properly sets up compiler as well as interop
to cross compile tests.
-Premote specifies remote host and login.
This patch set default dependencies directory to ${konan.home}/
dependencies and allows one to override this setting using
konan.dependencies system property.
* Update build to Kotlin 1.1.0
* Add heuristics and options for selecting C enum interop binding style
Also do some refactoring.
* Add ':Interop:Indexer:updatePrebuilt' Gradle task
* Update Interop/Indexer/prebuilt
Introduced LinkStage in the compiler.
Removed the link stage from 'konanc'.
Removed duplicate :stdlib and :start targets.
Simplified test run task a lot.
So one can now
$ ./gradlew dist
$ ./dist/bin/konanc backend.native/tests/runtime/basic/hello0.kt -o hello
$ ./hello
or one can
$ ./gradlew demo
and have a complete dist build,
with a test program compiled and executed automatically after that