blob: afd4e3269f4026d7ed9570eeec1bea9bd0ce8373 [file] [log] [blame]
repositories {
google()
jcenter()
}
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
}
}
apply plugin: 'com.android.library'
def cmakeListDir = "${rootDir}/../../../"
def hostBuildDir = "${cmakeListDir}/../iree-build-host"
def hostInstallDir = "${hostBuildDir}/install"
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 28
targetSdkVersion 29
externalNativeBuild {
cmake {
arguments "-DIREE_BUILD_EXPERIMENTAL_JAVA_BINDINGS=ON",
"-DIREE_HAL_DRIVERS_TO_BUILD=VMLA",
// Disable all but the runtime components needed for the
// java bindings.
"-DIREE_BUILD_COMPILER=OFF",
"-DIREE_ENABLE_MLIR=OFF",
"-DIREE_BUILD_TESTS=OFF",
"-DIREE_BUILD_SAMPLES=OFF",
"-DIREE_BUILD_PYTHON_BINDINGS=OFF",
"-DIREE_HOST_BINARY_ROOT=${hostInstallDir}"
}
}
}
sourceSets {
main {
java.srcDirs = ['java/com/google/iree']
jni.srcDirs = ['java/com/google/iree/native']
manifest.srcFile 'com/google/iree/tests/TestManifest.xml'
}
}
externalNativeBuild {
cmake {
version "3.13.4.0+"
path "../../../CMakeLists.txt"
}
}
}
// Task to cmake configure the host
task cmakeConfigureHost(type: Exec) {
doFirst {
println "Configuring host tools with cmake..."
}
workingDir cmakeListDir
commandLine "cmake",
"-G" , "Ninja",
"-B", hostBuildDir ,
"-DIREE_TARGET_BACKENDS_TO_BUILD=vmla",
"-DIREE_HAL_DRIVERS_TO_BUILD=vmla",
"-DIREE_BUILD_COMPILER=ON",
"-DIREE_BUILD_TESTS=OFF ",
"-DIREE_BUILD_SAMPLES=OFF",
"-DCMAKE_INSTALL_PREFIX=${hostInstallDir}",
"."
}
// Task to cmake build the host
task cmakeBuildHost(type: Exec) {
doFirst {
println "Building host tools with cmake..."
}
workingDir cmakeListDir
commandLine "cmake", "--build", hostBuildDir, "--target", "install"
}
// Build host tools before building the app
preBuild.dependsOn cmakeBuildHost
cmakeBuildHost.dependsOn cmakeConfigureHost