From 66bd698270265ab50151f196cb9d70f24b30ee19 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Fri, 11 Nov 2016 16:39:38 +0700 Subject: [PATCH] build: make clang using gcc toolchain on Linux also fix Mac build failure related to 'ar' --- build.gradle | 15 ++++++++++++++- dependencies/build.gradle | 11 ++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 32f4945a2b6..344e9556f1e 100644 --- a/build.gradle +++ b/build.gradle @@ -13,8 +13,21 @@ allprojects { evaluationDependsOn(":dependencies") } - ext.clangArgs = ["--sysroot=$sysrootDir", "-B$sysrootDir/usr/bin"] ext.clangPath = ["$llvmDir/bin"] + ext.clangArgs = [] + final String binDir + if (isLinux()) { + binDir = "$gccToolchainDir/$gnuTriplet/bin" + ext.clangArgs.addAll([ + "--sysroot=$gccToolchainDir/$gnuTriplet/sysroot", + "--gcc-toolchain=$gccToolchainDir" + ]) + } else { + binDir = "$sysrootDir/usr/bin" + ext.clangArgs << "--sysroot=$sysrootDir" + } + ext.clangArgs << "-B$binDir" + ext.clangPath << binDir convention.plugins.execClang = new org.jetbrains.kotlin.ExecClang(project) diff --git a/dependencies/build.gradle b/dependencies/build.gradle index f871c1fe493..2cd09a4120e 100644 --- a/dependencies/build.gradle +++ b/dependencies/build.gradle @@ -78,9 +78,14 @@ task llvm(type: TgzNativeDep) { baseName = "clang+llvm-3.8.0-$target" } -task sysroot(type: TgzNativeDep) { - String version = (target == 'linux-x86-64') ? '2' : '1' - baseName = "target-sysroot-$version-$target" +if (isLinux()) { + task gccToolchain(type: TgzNativeDep) { + baseName = "target-gcc-toolchain-3-$target" + } +} else { + task sysroot(type: TgzNativeDep) { + baseName = "target-sysroot-1-$target" + } }