aboutsummaryrefslogtreecommitdiff
path: root/build_odin.sh
diff options
context:
space:
mode:
authorjcmdln <jcmdln@gmail.com>2023-10-14 17:45:27 -0400
committerjcmdln <jcmdln@gmail.com>2023-10-14 17:45:27 -0400
commite5ed388191c368d7d64569414436c60520aada6c (patch)
treebd224c05e998c25e504ca3c2a36ba81e1f31f93e /build_odin.sh
parentc0ac3de272d78c160a308632b720f53488597abb (diff)
Ensure user defined LLVM_CONFIG is respected
Diffstat (limited to 'build_odin.sh')
-rwxr-xr-xbuild_odin.sh18
1 files changed, 11 insertions, 7 deletions
diff --git a/build_odin.sh b/build_odin.sh
index 7c9ae065f..ad295795e 100755
--- a/build_odin.sh
+++ b/build_odin.sh
@@ -5,7 +5,7 @@ set -eu
: ${CXX=clang++}
: ${CXXFLAGS=}
: ${LDFLAGS=}
-: ${LLVM_CONFIG=llvm-config}
+: ${LLVM_CONFIG=}
CPPFLAGS="$CPPFLAGS -DODIN_VERSION_RAW=\"dev-$(date +"%Y-%m")\""
CXXFLAGS="$CXXFLAGS -std=c++14"
@@ -14,7 +14,12 @@ LDFLAGS="$LDFLAGS -pthread -lm -lstdc++"
OS_ARCH="$(uname -m)"
OS_NAME="$(uname -s)"
-if [ -z "$(command -v llvm-config)" ]; then
+error() {
+ printf "ERROR: %s\n" "$1"
+ exit 1
+}
+
+if [ -z "$LLVM_CONFIG" ]; then
if [ -n "$(command -v llvm-config-17)" ]; then
LLVM_CONFIG="llvm-config-17"
elif [ -n "$(command -v llvm-config-14)" ]; then
@@ -25,6 +30,10 @@ if [ -z "$(command -v llvm-config)" ]; then
LLVM_CONFIG="llvm-config-12"
elif [ -n "$(command -v llvm-config-11)" ]; then
LLVM_CONFIG="llvm-config-11"
+ elif [ -n "$(command -v llvm-config)" ]; then
+ LLVM_CONFIG="llvm-config"
+ else
+ error "No supported llvm-config version found. Set LLVM_CONFIG to proceed."
fi
fi
@@ -33,11 +42,6 @@ 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}')"
-error() {
- printf "ERROR: %s\n" "$1"
- exit 1
-}
-
if [ -d ".git" ] && [ -n "$(command -v git)" ]; then
GIT_SHA=($(git show --pretty='%h'--no-patch --no-notes HEAD))
CPPFLAGS="$CPPFLAGS -DGIT_SHA=\"$GIT_SHA\""