Move to XCode 9.4, add CoreML and ClassKit. (#1637)
* Move to XCode 9.4, add CoreML and ClassKit. * Add assertSame and assertNotSame to stdlib. * Fix SDK properties.
This commit is contained in:
+10
-10
@@ -35,10 +35,10 @@ llvmVersion = 5.0.0
|
|||||||
|
|
||||||
# Mac OS X.
|
# Mac OS X.
|
||||||
llvmHome.macos_x64 = clang-llvm-5.0.0-darwin-macos
|
llvmHome.macos_x64 = clang-llvm-5.0.0-darwin-macos
|
||||||
targetToolchain.macos_x64 = target-toolchain-5-macos_x64
|
targetToolchain.macos_x64 = target-toolchain-6-macos_x64
|
||||||
|
|
||||||
arch.macos_x64 = x86_64
|
arch.macos_x64 = x86_64
|
||||||
targetSysRoot.macos_x64 = target-sysroot-5-macos_x64
|
targetSysRoot.macos_x64 = target-sysroot-6-macos_x64
|
||||||
libffiDir.macos_x64 = libffi-3.2.1-2-darwin-macos
|
libffiDir.macos_x64 = libffi-3.2.1-2-darwin-macos
|
||||||
llvmLtoFlags.macos_x64 =
|
llvmLtoFlags.macos_x64 =
|
||||||
llvmLtoOptFlags.macos_x64 = -O3 -function-sections
|
llvmLtoOptFlags.macos_x64 = -O3 -function-sections
|
||||||
@@ -56,24 +56,24 @@ dependencies.macos_x64 = \
|
|||||||
libffi-3.2.1-2-darwin-macos \
|
libffi-3.2.1-2-darwin-macos \
|
||||||
clang-llvm-5.0.0-darwin-macos
|
clang-llvm-5.0.0-darwin-macos
|
||||||
|
|
||||||
target-sysroot-5-macos_x64.default = \
|
target-sysroot-6-macos_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
|
|
||||||
target-toolchain-5-macos_x64.default = \
|
target-toolchain-6-macos_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
|
|
||||||
# Apple iOS.
|
# Apple iOS.
|
||||||
targetToolchain.macos_x64-ios_arm64 = target-toolchain-5-macos_x64
|
targetToolchain.macos_x64-ios_arm64 = target-toolchain-6-macos_x64
|
||||||
dependencies.macos_x64-ios_arm64 = \
|
dependencies.macos_x64-ios_arm64 = \
|
||||||
libffi-3.2.1-2-darwin-ios \
|
libffi-3.2.1-2-darwin-ios \
|
||||||
clang-llvm-5.0.0-darwin-macos
|
clang-llvm-5.0.0-darwin-macos
|
||||||
|
|
||||||
target-sysroot-5-ios_arm64.default = \
|
target-sysroot-6-ios_arm64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
|
|
||||||
arch.ios_arm64 = arm64
|
arch.ios_arm64 = arm64
|
||||||
entrySelector.ios_arm64 = -alias _Konan_main _main
|
entrySelector.ios_arm64 = -alias _Konan_main _main
|
||||||
targetSysRoot.ios_arm64 = target-sysroot-5-ios_arm64
|
targetSysRoot.ios_arm64 = target-sysroot-6-ios_arm64
|
||||||
libffiDir.ios_arm64 = libffi-3.2.1-2-darwin-ios
|
libffiDir.ios_arm64 = libffi-3.2.1-2-darwin-ios
|
||||||
llvmLtoFlags.ios_arm64 =
|
llvmLtoFlags.ios_arm64 =
|
||||||
llvmLtoOptFlags.ios_arm64 = -O3 -function-sections
|
llvmLtoOptFlags.ios_arm64 = -O3 -function-sections
|
||||||
@@ -88,17 +88,17 @@ osVersionMinFlagClang.ios_arm64 = -miphoneos-version-min
|
|||||||
osVersionMin.ios_arm64 = 8.0
|
osVersionMin.ios_arm64 = 8.0
|
||||||
|
|
||||||
# Apple iOS simulator.
|
# Apple iOS simulator.
|
||||||
targetToolchain.macos_x64-ios_x64 = target-toolchain-5-macos_x64
|
targetToolchain.macos_x64-ios_x64 = target-toolchain-6-macos_x64
|
||||||
dependencies.macos_x64-ios_x64 = \
|
dependencies.macos_x64-ios_x64 = \
|
||||||
libffi-3.2.1-1-darwin-ios_sim \
|
libffi-3.2.1-1-darwin-ios_sim \
|
||||||
clang-llvm-5.0.0-darwin-macos
|
clang-llvm-5.0.0-darwin-macos
|
||||||
|
|
||||||
target-sysroot-5-ios_x64.default = \
|
target-sysroot-6-ios_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
|
|
||||||
arch.ios_x64 = x86_64
|
arch.ios_x64 = x86_64
|
||||||
entrySelector.ios_x64 = -alias _Konan_main _main
|
entrySelector.ios_x64 = -alias _Konan_main _main
|
||||||
targetSysRoot.ios_x64 = target-sysroot-5-ios_x64
|
targetSysRoot.ios_x64 = target-sysroot-6-ios_x64
|
||||||
libffiDir.ios_x64 = libffi-3.2.1-1-darwin-ios_sim
|
libffiDir.ios_x64 = libffi-3.2.1-1-darwin-ios_sim
|
||||||
llvmLtoFlags.ios_x64 =
|
llvmLtoFlags.ios_x64 =
|
||||||
llvmLtoOptFlags.ios_x64 = -O3 -function-sections
|
llvmLtoOptFlags.ios_x64 = -O3 -function-sections
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
depends = CoreFoundation Foundation darwin posix
|
||||||
|
language = Objective-C
|
||||||
|
package = platform.ClassKit
|
||||||
|
headers = ClassKit/ClassKit.h
|
||||||
|
|
||||||
|
headerFilter = ClassKit/**
|
||||||
|
|
||||||
|
compilerOpts = -framework ClassKit
|
||||||
|
linkerOpts = -framework ClassKit
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
depends = CoreVideo CoreFoundation Foundation darwin posix
|
||||||
|
language = Objective-C
|
||||||
|
package = platform.CoreML
|
||||||
|
headers = CoreML/CoreML.h
|
||||||
|
|
||||||
|
headerFilter = CoreML/**
|
||||||
|
|
||||||
|
compilerOpts = -framework CoreML
|
||||||
|
linkerOpts = -framework CoreML
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
depends = CoreVideo CoreFoundation Foundation darwin posix
|
||||||
|
language = Objective-C
|
||||||
|
package = platform.CoreML
|
||||||
|
headers = CoreML/CoreML.h
|
||||||
|
|
||||||
|
headerFilter = CoreML/**
|
||||||
|
|
||||||
|
compilerOpts = -framework CoreML
|
||||||
|
linkerOpts = -framework CoreML
|
||||||
@@ -61,6 +61,16 @@ fun <@OnlyInputTypes T> assertNotEquals(illegal: T, actual: T, message: String?
|
|||||||
asserter.assertNotEquals(message, illegal, actual)
|
asserter.assertNotEquals(message, illegal, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Asserts that [expected] is the same instance as [actual], with an optional [message]. */
|
||||||
|
fun <@OnlyInputTypes T> assertSame(expected: T, actual: T, message: String? = null) {
|
||||||
|
asserter.assertSame(message, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Asserts that [actual] is not the same instance as [illegal], with an optional [message]. */
|
||||||
|
fun <@OnlyInputTypes T> assertNotSame(illegal: T, actual: T, message: String? = null) {
|
||||||
|
asserter.assertNotSame(message, illegal, actual)
|
||||||
|
}
|
||||||
|
|
||||||
/** Asserts that the [actual] value is not `null`, with an optional [message]. */
|
/** Asserts that the [actual] value is not `null`, with an optional [message]. */
|
||||||
fun <T : Any> assertNotNull(actual: T?, message: String? = null): T {
|
fun <T : Any> assertNotNull(actual: T?, message: String? = null): T {
|
||||||
asserter.assertNotNull(message, actual)
|
asserter.assertNotNull(message, actual)
|
||||||
@@ -203,6 +213,24 @@ interface Asserter {
|
|||||||
assertTrue({ messagePrefix(message) + "Illegal value: <$actual>." }, actual != illegal)
|
assertTrue({ messagePrefix(message) + "Illegal value: <$actual>." }, actual != illegal)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asserts that the specified values are the same instance.
|
||||||
|
*
|
||||||
|
* @param message the message to report if the assertion fails.
|
||||||
|
*/
|
||||||
|
fun assertSame(message: String?, expected: Any?, actual: Any?): Unit {
|
||||||
|
assertTrue({ messagePrefix(message) + "Expected <$expected>, actual <$actual> is not same." }, actual === expected)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asserts that the specified values are not the same instance.
|
||||||
|
*
|
||||||
|
* @param message the message to report if the assertion fails.
|
||||||
|
*/
|
||||||
|
fun assertNotSame(message: String?, illegal: Any?, actual: Any?): Unit {
|
||||||
|
assertTrue({ messagePrefix(message) + "Expected not same as <$actual>." }, actual !== illegal)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asserts that the specified value is `null`.
|
* Asserts that the specified value is `null`.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ fun Properties.keepOnlyDefaultProfiles() {
|
|||||||
// Force build to use only 'default' profile:
|
// Force build to use only 'default' profile:
|
||||||
this.setProperty(DEPENDENCY_PROFILES_KEY, "default")
|
this.setProperty(DEPENDENCY_PROFILES_KEY, "default")
|
||||||
// Force build to use fixed Xcode version:
|
// Force build to use fixed Xcode version:
|
||||||
this.setProperty("useFixedXcodeVersion", "9.3.1")
|
this.setProperty("useFixedXcodeVersion", "9.4")
|
||||||
// TODO: it actually affects only resolution made in :dependencies,
|
// TODO: it actually affects only resolution made in :dependencies,
|
||||||
// that's why we assume that 'default' profile comes first (and check this above).
|
// that's why we assume that 'default' profile comes first (and check this above).
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
KONAN_TOOLCHAIN_VERSION=5
|
KONAN_TOOLCHAIN_VERSION=6
|
||||||
SDKS="macosx iphoneos iphonesimulator watchos watchsimulator"
|
SDKS="macosx iphoneos iphonesimulator watchos watchsimulator"
|
||||||
TARBALL_macosx=target-sysroot-$KONAN_TOOLCHAIN_VERSION-macos_x64
|
TARBALL_macosx=target-sysroot-$KONAN_TOOLCHAIN_VERSION-macos_x64
|
||||||
TARBALL_iphoneos=target-sysroot-$KONAN_TOOLCHAIN_VERSION-ios_arm64
|
TARBALL_iphoneos=target-sysroot-$KONAN_TOOLCHAIN_VERSION-ios_arm64
|
||||||
|
|||||||
Reference in New Issue
Block a user