diff options
| author | jcmdln <jcmdln@gmail.com> | 2023-10-14 17:41:19 -0400 |
|---|---|---|
| committer | jcmdln <jcmdln@gmail.com> | 2023-10-14 17:41:19 -0400 |
| commit | c0ac3de272d78c160a308632b720f53488597abb (patch) | |
| tree | 638827817d08632bdd00d2af29f9d12b398dce1a | |
| parent | abde9a99c3e1b83a5e559ee3aa069939e684f0ee (diff) | |
Hunt for supported 'llvm-config' executable
| -rwxr-xr-x | build_odin.sh | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/build_odin.sh b/build_odin.sh index 30ecaaac5..7c9ae065f 100755 --- a/build_odin.sh +++ b/build_odin.sh @@ -11,13 +11,27 @@ CPPFLAGS="$CPPFLAGS -DODIN_VERSION_RAW=\"dev-$(date +"%Y-%m")\"" CXXFLAGS="$CXXFLAGS -std=c++14" DISABLED_WARNINGS="-Wno-switch -Wno-macro-redefined -Wno-unused-value" LDFLAGS="$LDFLAGS -pthread -lm -lstdc++" +OS_ARCH="$(uname -m)" +OS_NAME="$(uname -s)" + +if [ -z "$(command -v llvm-config)" ]; then + if [ -n "$(command -v llvm-config-17)" ]; then + LLVM_CONFIG="llvm-config-17" + elif [ -n "$(command -v llvm-config-14)" ]; then + LLVM_CONFIG="llvm-config-14" + elif [ -n "$(command -v llvm-config-13)" ]; then + LLVM_CONFIG="llvm-config-13" + elif [ -n "$(command -v llvm-config-12)" ]; then + LLVM_CONFIG="llvm-config-12" + elif [ -n "$(command -v llvm-config-11)" ]; then + LLVM_CONFIG="llvm-config-11" + fi +fi LLVM_VERSION="$($LLVM_CONFIG --version)" LLVM_VERSION_MAJOR="$(echo $LLVM_VERSION | awk -F. '{print $1}')" LLVM_VERSION_MINOR="$(echo $LLVM_VERSION | awk -F. '{print $2}')" LLVM_VERSION_PATCH="$(echo $LLVM_VERSION | awk -F. '{print $3}')" -OS_ARCH="$(uname -m)" -OS_NAME="$(uname -s)" error() { printf "ERROR: %s\n" "$1" @@ -29,6 +43,8 @@ if [ -d ".git" ] && [ -n "$(command -v git)" ]; then CPPFLAGS="$CPPFLAGS -DGIT_SHA=\"$GIT_SHA\"" fi + + if [ $LLVM_VERSION_MAJOR -lt 11 ] || ([ $LLVM_VERSION_MAJOR -gt 14 ] && [ $LLVM_VERSION_MAJOR -lt 17 ]); then error "Invalid LLVM version $LLVM_VERSION: must be 11, 12, 13, 14 or 17" |