gash/configure

67 lines
1.7 KiB
Bash
Executable File

#! /bin/sh
VERSION=0.1
# parse --prefix=PREFIX, mainly for GuixSD/Debian
cmdline=$(echo "$@")
PREFIX=${cmdline##*--prefix=}
PREFIX=${PREFIX% *}
PREFIX=${PREFIX% -*}
if [ -z "$PREFIX" ]; then
PREFIX=/usr/local
fi
BASH=$(command -v bash)
GUILE=$(command -v guile)
GUILE_TOOLS=$(command -v guile-tools)
GUILE_SITE_DIR=$PREFIX/share/guile/site/$GUILE_EFFECTIVE_VERSION
GUILE_SITE_CCACHE_DIR=$PREFIX/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache
GUILE_EFFECTIVE_VERSION=$(guile -c '(display (effective-version))')
MAKEINFO=$(command -v makeinfo)
GEESH_PREFIX=${GEESH_PREFIX-$HOME/src/geesh}
if [ -d $GEESH_PREFIX ]; then
GUILE_LOAD_PATH=$GEESH_PREFIX:$GUILE_LOAD_PATH
GUILE_LOAD_COMPILED_PATH=$GEESH_PREFIX:$GUILE_LOAD_COMPILED_PATH
if ! $GUILE -c '(use-modules (geesh parser)) (exit (defined? '"'"'read-sh-all))'; then
echo "your geesh is too old"
exit 1
fi
fi
sed \
-e s,@GUILE@,$GUILE,\
-e s,@GUILE_SITE_DIR@,$GUILE_SITE_DIR,\
-e s,@GUILE_SITE_CCACHE_DIR@,$GUILE_SITE_CCACHE_DIR,\
bin/gash.in > bin/gash
chmod +x bin/gash
sed \
-e s,@GUILE@,$GUILE,\
-e s,@GUILE_SITE_DIR@,$GUILE_SITE_DIR,\
-e s,@GUILE_SITE_CCACHE_DIR@,$GUILE_SITE_CCACHE_DIR,\
bin/tar.in > bin/tar
chmod +x bin/tar
cat > .config.make <<EOF
BASH=$BASH
GUILE=$GUILE
GUILE_TOOLS=$GUILE_TOOLS
PREFIX=$PREFIX
BINDIR=$PREFIX/bin
DOCDIR=$PREFIX/share/doc/gash
GUILE_EFFECTIVE_VERSION=$GUILE_EFFECTIVE_VERSION
GUILE_SITE_DIR=$GUILE_SITE_DIR
GUILE_SITE_CCACHE_DIR=$GUILE_SITE_CCACHE_DIR
MAKEINFO=$MAKEINFO
SHELL=$BASH
VERSION=$VERSION
EOF
sed \
-e "s,@VERSION@,$VERSION,"\
gash/config.scm.in > gash/config.scm
cat <<EOF
Run:
make to build gash
make help for help on other targets
EOF