#!/bin/sh fail() { echo "$0: $*" >&2 exit 1 } ODIN_FLAGS="-vet -warnings-as-errors -reloc-mode=pic" output="output" for arg ; do case "$arg" in --runtime=*) runtime="${arg#*=}" ;; --output=*) output="${arg#*=}" ;; --release) release=1 ;; --client) ODIN_FLAGS="$ODIN_FLAGS -define:DJUP_CLIENT=true" ;; --server) ODIN_FLAGS="$ODIN_FLAGS -define:DJUP_SERVER=true" ;; *) echo "usage" ;; esac done if [ -z "$runtime" ]; then echo "Guessing runtime ..." case "$(uname -s)" in Linux) case "$(uname -m)" in x86_64) runtime="linux-x64" ;; esac ;; esac fi case "$runtime" in linux-x64) sofile="libdjup.so" target="linux_amd64" ;; *) fail "Unsupported runtime $runtime" esac if [ ! -z "$release" ]; then optimize="-o=speed" else optimize="-o=none" fi echo Building for runtime "$runtime ..." echo ODIN_FLAGS=$ODIN_FLAGS mkdir -p "$output/$runtime" && \ odin build . -build-mode=shared -out="$output/$runtime/$sofile" $ODIN_FLAGS $optimize && \ echo Done