Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

[Linux] Auto-detect clang version #5346

Merged
merged 1 commit into from
Feb 6, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions buildscripts/buildvars-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
;;
Expand Down Expand Up @@ -226,6 +248,11 @@ case $OSName in
;;
esac

# For msbuild
if [ $__HostOS != "OSX" ]; then
export CppCompilerAndLinker=clang-${__ClangMajorVersion}.${__ClangMinorVersion}
fi

export __BuildOS="$__HostOS"

# Overwrite __BuildOS with WebAssembly if wasm is target build arch, but keep the __NugetRuntimeId to match the Host OS
Expand Down