diff options
| -rwxr-xr-x | build_odin.sh | 18 |
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\"" |