mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-15 10:22:23 -07:00
32 lines
936 B
Bash
Executable File
32 lines
936 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
release_mode=$1
|
|
|
|
warnings_to_disable="-std=c++11 -Wno-switch -Wno-pointer-sign -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -Wno-macro-redefined"
|
|
libraries="-pthread -ldl -lm -lstdc++"
|
|
other_args="-DLLVM_BACKEND_SUPPORT -DUSE_NEW_LLVM_ABI_SYSTEM"
|
|
compiler="clang"
|
|
|
|
if [ -z "$release_mode" ]; then release_mode="0"; fi
|
|
|
|
if [ "$release_mode" -eq "0" ]; then
|
|
other_args="${other_args} -g"
|
|
fi
|
|
if [ "$release_mode" -eq "1" ]; then
|
|
other_args="${other_args} -O3 -march=native"
|
|
fi
|
|
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
|
|
# Set compiler to clang on MacOS
|
|
# MacOS provides a symlink to clang called gcc, but it's nice to be explicit here.
|
|
compiler="clang"
|
|
|
|
other_args="${other_args} -liconv"
|
|
elif [[ "$(uname)" == "FreeBSD" ]]; then
|
|
compiler="clang"
|
|
fi
|
|
|
|
${compiler} src/main.cpp ${warnings_to_disable} ${libraries} ${other_args} -o odin \
|
|
&& ./odin run examples/demo/demo.odin -llvm-api
|