mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 14:48:47 +00:00
Merge pull request #1876 from mohd-akram/build-config-opts
Allow passing config options to build script
This commit is contained in:
+33
-21
@@ -1,12 +1,20 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eu
|
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"
|
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)
|
OS=$(uname)
|
||||||
|
|
||||||
panic() {
|
panic() {
|
||||||
@@ -18,7 +26,7 @@ version() { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }';
|
|||||||
|
|
||||||
config_darwin() {
|
config_darwin() {
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
LLVM_CONFIG=llvm-config
|
: ${LLVM_CONFIG=llvm-config}
|
||||||
|
|
||||||
# allow for arm only llvm's with version 13
|
# allow for arm only llvm's with version 13
|
||||||
if [ ARCH == arm64 ]; then
|
if [ ARCH == arm64 ]; then
|
||||||
@@ -37,34 +45,38 @@ config_darwin() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
LDFLAGS="$LDFLAGS -liconv -ldl"
|
LDFLAGS="$LDFLAGS -liconv -ldl"
|
||||||
CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
||||||
LDFLAGS="$LDFLAGS -lLLVM-C"
|
LDFLAGS="$LDFLAGS -lLLVM-C"
|
||||||
}
|
}
|
||||||
|
|
||||||
config_freebsd() {
|
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)"
|
LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)"
|
||||||
}
|
}
|
||||||
|
|
||||||
config_openbsd() {
|
config_openbsd() {
|
||||||
LLVM_CONFIG=/usr/local/bin/llvm-config
|
: ${LLVM_CONFIG=/usr/local/bin/llvm-config}
|
||||||
|
|
||||||
LDFLAGS="$LDFLAGS -liconv"
|
LDFLAGS="$LDFLAGS -liconv"
|
||||||
CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
||||||
LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)"
|
LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)"
|
||||||
}
|
}
|
||||||
|
|
||||||
config_linux() {
|
config_linux() {
|
||||||
if which llvm-config > /dev/null 2>&1; then
|
: ${LLVM_CONFIG=}
|
||||||
LLVM_CONFIG=llvm-config
|
|
||||||
elif which llvm-config-11 > /dev/null 2>&1; then
|
if [ ! "$LLVM_CONFIG" ]; then
|
||||||
LLVM_CONFIG=llvm-config-11
|
if which llvm-config > /dev/null 2>&1; then
|
||||||
elif which llvm-config-11-64 > /dev/null 2>&1; then
|
LLVM_CONFIG=llvm-config
|
||||||
LLVM_CONFIG=llvm-config-11-64
|
elif which llvm-config-11 > /dev/null 2>&1; then
|
||||||
else
|
LLVM_CONFIG=llvm-config-11
|
||||||
panic "Unable to find LLVM-config"
|
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
|
fi
|
||||||
|
|
||||||
MIN_LLVM_VERSION=("11.0.0")
|
MIN_LLVM_VERSION=("11.0.0")
|
||||||
@@ -74,7 +86,7 @@ config_linux() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
LDFLAGS="$LDFLAGS -ldl"
|
LDFLAGS="$LDFLAGS -ldl"
|
||||||
CFLAGS="$CFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
CXXFLAGS="$CXXFLAGS $($LLVM_CONFIG --cxxflags --ldflags)"
|
||||||
LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)"
|
LDFLAGS="$LDFLAGS $($LLVM_CONFIG --libs core native --system-libs)"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,7 +109,7 @@ build_odin() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
set -x
|
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
|
set +x
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user