Implement very basic Objective-C interop

Also refactor StubGenerator
This commit is contained in:
Svyatoslav Scherbina
2017-07-17 14:34:09 +03:00
committed by SvyatoslavScherbina
parent a38835cb46
commit d3185e3e19
57 changed files with 4020 additions and 920 deletions
+22
View File
@@ -1995,6 +1995,13 @@ kotlinNativeInterop {
linkerOpts '-framework', 'OpenGL', '-framework', 'GLUT'
flavor 'native'
}
objcSmoke {
defFile 'interop/objc/objcSmoke.def'
headers "$projectDir/interop/objc/smoke.h"
linkerOpts "-L$buildDir", "-lobjcsmoke"
flavor 'native'
}
}
}
@@ -2057,4 +2064,19 @@ if (isMac()) {
source = "interop/basics/opengl_teapot.kt"
interop = 'opengl'
}
task interop_objc_smoke(type: RunInteropKonanTest) {
goldValue = "Hello, World!\nKotlin says: Hello, everybody!\nHello from Kotlin\n2, 1\nDeallocated\nDeallocated\n"
source = "interop/objc/smoke.kt"
interop = 'objcSmoke'
doFirst {
execClang {
args "$projectDir/interop/objc/smoke.m"
args "-lobjc", '-fobjc-arc'
args '-fPIC', '-shared', '-o', "$buildDir/libobjcsmoke.dylib"
}
}
}
}