diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2022-08-01 14:33:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-01 14:33:35 +0100 |
| commit | 8e50a6c61bf6d1b8a33ee83ce2c3ec6ddfab328d (patch) | |
| tree | 27b07dccd4d52d200d8f281b3ffe608f4ffd7546 | |
| parent | 97acc57649924e3ce1c9a3c8d18f954df9d24bb1 (diff) | |
| parent | a8b44f33bda904e82d17624d524d50eb9b828e09 (diff) | |
Merge pull request #1876 from mohd-akram/build-config-opts
Allow passing config options to build script
| -rwxr-xr-x | build_odin.sh | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/build_odin.sh b/build_odin.sh index b00d33323..da7c17a5b 100755 --- a/build_odin.sh +++ b/build_odin.sh @@ -1,12 +1,20 @@ #!/usr/bin/env bash set -eu -GIT_SHA=$(git rev-parse --short HEAD) +: ${CXX=clang++} +: ${CPPFLAGS=} +: ${CXXFLAGS=} +: ${LDFLAGS=} +: ${ODIN_VERSION=dev-$(date +"%Y-%m")} + +CPPFLAGS="$CPPFLAGS -DODIN_VERSION_RAW=\"$ODIN_VERSION\"" +CXXFLAGS="$CXXFLAGS -std=c++14" +LDFLAGS="$LDFLAGS -pthread -lm -lstdc++" + +GIT_SHA=$(git rev-parse --short HEAD || :) +if [ "$GIT_SHA" ]; then CPPFLAGS="$CPPFLAGS -DGIT_SHA=\"$GIT_SHA\""; fi + DISABLED_WARNINGS="-Wno-switch -Wno-macro-redefined -Wno-unused-value" -LDFLAGS="-pthread -lm -lstdc++" -CFLAGS="-std=c++14 -DGIT_SHA=\"$GIT_SHA\"" -CFLAGS="$CFLAGS -DODIN_VERSION_RAW=\"dev-$(date +"%Y-%m")\"" -CC=clang OS=$(uname) panic() { @@ -18,7 +26,7 @@ version() { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; config_darwin() { ARCH=$(uname -m) - LLVM_CONFIG=llvm-config + : ${LLVM_CONFIG=llvm-config} # allow for arm only llvm's with version 13 if [ ARCH == arm64 ]; then @@ -37,34 +45,38 @@ config_darwin() { fi LDFLAGS="$LDFLAGS -liconv -ldl" - CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" + CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" LDFLAGS="$LDFLAGS -lLLVM-C" } config_freebsd() { - LLVM_CONFIG=/usr/local/bin/llvm-config11 + : ${LLVM_CONFIG=/usr/local/bin/llvm-config11} - CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" + CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)" } config_openbsd() { - LLVM_CONFIG=/usr/local/bin/llvm-config + : ${LLVM_CONFIG=/usr/local/bin/llvm-config} LDFLAGS="$LDFLAGS -liconv" - CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" + CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)" } config_linux() { - if which llvm-config > /dev/null 2>&1; then - LLVM_CONFIG=llvm-config - elif which llvm-config-11 > /dev/null 2>&1; then - LLVM_CONFIG=llvm-config-11 - elif which llvm-config-11-64 > /dev/null 2>&1; then - LLVM_CONFIG=llvm-config-11-64 - else - panic "Unable to find LLVM-config" + : ${LLVM_CONFIG=} + + if [ ! "$LLVM_CONFIG" ]; then + if which llvm-config > /dev/null 2>&1; then + LLVM_CONFIG=llvm-config + elif which llvm-config-11 > /dev/null 2>&1; then + LLVM_CONFIG=llvm-config-11 + elif which llvm-config-11-64 > /dev/null 2>&1; then + LLVM_CONFIG=llvm-config-11-64 + else + panic "Unable to find LLVM-config" + fi fi MIN_LLVM_VERSION=("11.0.0") @@ -74,7 +86,7 @@ config_linux() { fi LDFLAGS="$LDFLAGS -ldl" - CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" + CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)" LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)" } @@ -97,7 +109,7 @@ build_odin() { esac set -x - $CC src/main.cpp src/libtommath.cpp $DISABLED_WARNINGS $CFLAGS $EXTRAFLAGS $LDFLAGS -o odin + $CXX src/main.cpp src/libtommath.cpp $DISABLED_WARNINGS $CPPFLAGS $CXXFLAGS $EXTRAFLAGS $LDFLAGS -o odin set +x } |