From dcf167e612f8497166401070ecea3e2b9d2971f8 Mon Sep 17 00:00:00 2001 From: Petr Bred Date: Mon, 5 Feb 2018 12:23:33 +0300 Subject: [PATCH] [Linux] Auto-detect clang version - Auto-detect if there is clang symlink and version is not specified - Remove hardcode clang version from msbuild file Signed-off-by: Petr Bred --- buildscripts/buildvars-setup.sh | 22 +++++++++++++++++++ .../Microsoft.NETCore.Native.Unix.props | 2 ++ 2 files changed, 24 insertions(+) diff --git a/buildscripts/buildvars-setup.sh b/buildscripts/buildvars-setup.sh index 4b2fd8f12b8..835c03ebca9 100755 --- a/buildscripts/buildvars-setup.sh +++ b/buildscripts/buildvars-setup.sh @@ -109,6 +109,12 @@ export __CrossBuild=0 __BuildArch=$__HostArch +# Checking for any clang versions, if there is a symlink +if [ -x "$(command -v clang)" ]; then + __ClangMajorVersion="$(echo | clang -dM -E - | grep __clang_major__ | cut -f3 -d ' ')" + __ClangMinorVersion="$(echo | clang -dM -E - | grep __clang_minor__ | cut -f3 -d ' ')" +fi + while [ "$1" != "" ]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in @@ -171,6 +177,22 @@ while [ "$1" != "" ]; do export __ClangMajorVersion=3 export __ClangMinorVersion=9 ;; + clang4.0) + export __ClangMajorVersion=4 + export __ClangMinorVersion=0 + ;; + clang5.0) + export __ClangMajorVersion=5 + export __ClangMinorVersion=0 + ;; + clang6.0) + export __ClangMajorVersion=6 + export __ClangMinorVersion=0 + ;; + clang7.0) + export __ClangMajorVersion=7 + export __ClangMinorVersion=0 + ;; cross) export __CrossBuild=1 ;; diff --git a/src/BuildIntegration/Microsoft.NETCore.Native.Unix.props b/src/BuildIntegration/Microsoft.NETCore.Native.Unix.props index 441f4754c40..20f76484753 100644 --- a/src/BuildIntegration/Microsoft.NETCore.Native.Unix.props +++ b/src/BuildIntegration/Microsoft.NETCore.Native.Unix.props @@ -16,6 +16,7 @@ See the LICENSE file in the project root for more information. clang + clang-$(__ClangMajorVersion).$(__ClangMinorVersion) clang-3.9 $(CppCompilerAndLinker) $(CppCompilerAndLinker) @@ -26,6 +27,7 @@ See the LICENSE file in the project root for more information. clang + clang-$(__ClangMajorVersion).$(__ClangMinorVersion) clang-3.9 $(CppCompilerAndLinker) $(CppCompilerAndLinker)