c4abb8f706
* Implement CValues.equals and .hashCode * Add trivial test for interop varargs * Implement varargs in interop for Kotlin N * Compile and link runtime with libffi * Fix few places.
51 lines
1.1 KiB
Groovy
51 lines
1.1 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
}
|
|
}
|
|
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'c'
|
|
|
|
def javaHome = System.getProperty('java.home')
|
|
def compilerArgsForJniIncludes = ["", "linux", "darwin"].collect { "-I$javaHome/../include/$it" } as String[]
|
|
|
|
model {
|
|
components {
|
|
callbacks(NativeLibrarySpec) {
|
|
sources.c.source {
|
|
srcDir 'src/callbacks/c'
|
|
include '**/*.c'
|
|
}
|
|
binaries.all {
|
|
cCompiler.args compilerArgsForJniIncludes
|
|
cCompiler.args "-I$hostLibffiDir/include"
|
|
|
|
linker.args "$hostLibffiDir/lib/libffi.a"
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
dependencies {
|
|
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
}
|
|
|
|
sourceSets.main.kotlin.srcDirs += "src/jvm/kotlin"
|
|
|
|
|
|
task nativelibs(type: Copy) {
|
|
dependsOn 'callbacksSharedLibrary'
|
|
|
|
from "$buildDir/libs/callbacks/shared/"
|
|
into "$buildDir/nativelibs/"
|
|
}
|
|
|
|
classes.dependsOn nativelibs
|