#!/bin/sh
LANG=en_US.UTF-8
export LANG
for E in $(env | grep -oE ^LC_[^=]+); do unset $E; done 2>/dev/null

if command -v greadlink >/dev/null 2>&1; then
    wrapper=$(greadlink -f "$0")
elif command -v readlink >/dev/null 2>&1; then
    target=$(readlink "$0" || true)
    if [ -n "$target" ]; then
        case "$target" in
            /*) wrapper="$target" ;;
            *)  wrapper="$(cd "$(dirname "$0")" && cd "$(dirname "$target")" && pwd)/$(basename "$target")" ;;
        esac
    else
        wrapper="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
    fi
else
    wrapper="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
fi

dir=$(dirname "$wrapper")
prefix="$dir"

export DZN_PREFIX="$prefix"


export GUILE_SITE_DIR="$prefix/share/guile/site/3.0"
export GUILE_OBJECT_DIR="$prefix/lib/guile/3.0/site-ccache"
PATH="$prefix/bin:$PATH"
GUILE_LOAD_PATH="$GUILE_SITE_DIR:$prefix/share/guile/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
GUILE_LOAD_COMPILED_PATH="$GUILE_OBJECT_DIR:$prefix/lib/guile/3.0/ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
GUILE_EXTENSIONS_PATH="$prefix/lib/guile/3.0/extensions"
export GUILE_LOAD_PATH GUILE_LOAD_COMPILED_PATH GUILE_EXTENSIONS_PATH

export GUILE_AUTO_COMPILE=1

exec "$prefix/bin/dzn" "$@"
