Commit Graph

19 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 50c3be3fc2 Simplify working with values in interop
* Access primitive interop array elements and struct fields without `.value`
* Simplify C*Var* interop types names
2017-03-31 11:44:07 +03:00
Nikolay Igotti 0cbd34086e Added JB copyright (#417) 2017-03-30 09:51:58 +03:00
Svyatoslav Scherbina c9d8d4d57d Implement CValuesRef in interop
* Represent pointer parameters of C functions as `CValuesRef`.
* Represent struct value parameters as `CValue`.
* Implement some helper methods to make the new approach more useful.
* Migrate some code to new interop approach for pointers and values.

Also do not map to `String?`:
- pointers to 8-bit integers;
- pointers to non-const chars.
2017-03-20 15:52:23 +07:00
SvyatoslavScherbina 2882e6fab7 Improve interop enums (#341)
* 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
2017-03-14 18:52:37 +03:00
Svyatoslav Scherbina c988175431 Review feedback: move kotlin_.cinterop package to kotlinx 2016-11-23 11:40:17 +07:00
Svyatoslav Scherbina c5f00c3301 InteropExample: port to new interop 2016-11-22 13:19:49 +07:00
Svyatoslav Scherbina 3095044420 build: use Kotlin 1.1-M02 to build all Kotlin JVM sources 2016-11-22 13:01:14 +07:00
Svyatoslav Scherbina 55f8257f92 build: simplify clang(++) configuration
also introduce 'execClang' block
2016-11-08 13:51:25 +07:00
Vasily Levchenko 147de5d3ad added .usr/bin path to tools chain to take right variants of binutils from our system archieve 2016-11-07 17:25:08 +03:00
Svyatoslav Scherbina 74ab1503c3 Interop: make gradle plugin more friendly to complex dependency management
when representing dependencies as file collection
some meta information gets lost
2016-10-31 13:32:02 +07:00
Svyatoslav Scherbina 2835ddb7f2 build: add "LD_LIBRARY_PATH=llvmDir/lib" for Linux 2016-10-17 18:25:31 +03:00
Svyatoslav Scherbina e4bc19b145 build: download llvm and libffi from the JFrog repo 2016-10-17 17:35:57 +03:00
Svyatoslav Scherbina 57cfc617a6 Interop: represent it as dependency in Gradle plugin 2016-10-12 16:29:52 +03:00
Nikolay Igotti 86423f381d Fix InteropExample on Linux. 2016-10-11 17:10:29 +03:00
Svyatoslav Scherbina 436a950c65 InteropExample: use global kotlin_version 2016-10-10 11:10:58 +03:00
Vasily Levchenko 71da52456e linux build fix: on linux we need to set LD_LIBRARY_PATH to launch jvm with native dependency to llvm 2016-10-05 16:19:54 +03:00
Vasily Levchenko 9deec08348 attempt to fix build of Interopt Example on ubuntu 14.04. 2016-10-05 11:48:55 +03:00
Nikolay Igotti f92da32454 Add properties expansion. 2016-10-03 20:56:33 +03:00
Vasily Levchenko 0eaaa58ed9 HEAD UPS! Global move: experiments -> kotlin-native 2016-09-28 13:22:36 +03:00