aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2021-08-05 14:05:21 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2021-08-05 14:05:21 -0400
commitdfad515da194aa1a2dd4a9057b5cf4b5503787cd (patch)
treeaa45daa33049f59e9d5bb6c01f2145274d8c399e /configure
parent42d68a01f32369f4de20bea597b4f3e53e83c6a1 (diff)
downloadmoog-dfad515da194aa1a2dd4a9057b5cf4b5503787cd.tar.gz
Add basic configuration script
* Generate Moog.f with correct data path * Generate Makefile with properties set by configure script
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure79
1 files changed, 79 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..eaa9884
--- /dev/null
+++ b/configure
@@ -0,0 +1,79 @@
+#!/bin/bash
+with_x11="/usr/X11/lib"
+with_sm="/usr/local/sm"
+fflags=(-Wall -Wextra -ff2c -fdefault-double-8 -fdefault-real-8)
+
+gcc_version=$(gcc --version | head -n 1 | awk -F' ' '{ print $3 }')
+gcc_major="${gcc_version%%\.*}"
+
+if (( $gcc_major >= 10 )); then
+ fflags+=(--allow-argument-mismatch)
+fi
+
+argv=()
+for x in $@; do
+ if [[ "$x" =~ .*=.* ]]; then
+ key="${x%=*}"
+ value="${x#*=}"
+ argv+=($key)
+ argv+=($value)
+ else
+ argv+=(x)
+ fi
+done
+
+
+i=0
+nargs=${#argv[@]}
+while [[ $i < $nargs ]]; do
+ key="${argv[$i]}"
+ value="${argv[$i+1]}"
+ case "$key" in
+ --prefix)
+ prefix="$value"
+ (( i++ ))
+ ;;
+ --bindir)
+ bindir="$value"
+ (( i++ ))
+ ;;
+ --datadir)
+ datadir="$value"
+ (( i++ ))
+ ;;
+ --with-x11)
+ with_x11="$value"
+ (( i++ ))
+ ;;
+ --with-sm)
+ with_sm="$value"
+ (( i++ ))
+ ;;
+ esac
+ (( i++ ))
+done
+
+[[ -z "${prefix}" ]] && prefix="/usr/local"
+[[ -z "${bindir}" ]] && bindir="${prefix}/bin"
+[[ -z "${datadir}" ]] && datadir="${prefix}/share/moog"
+fflags="${fflags[@]}"
+sed "s|@PREFIX@|${prefix}|g;\
+ s|@BINDIR@|${bindir}|g;\
+ s|@DATADIR@|${datadir}|g;\
+ s|@FFLAGS@|${fflags}|g;\
+ s|@WITH_X11@|${with_x11}|g;\
+ s|@WITH_SM@|${with_sm}|g;\
+ " Makefile.in > Makefile
+sed "s|@MOOGPATH_DEFAULT@|${datadir}/|" Moog.f.in > Moog.f
+
+printf "
+Configured with:
+
+Installation prefix ... %s
+X11 library ........... %s
+SuperMongo library .... %s
+
+Run 'make' to compile
+Run 'make install' to install
+
+" $prefix $with_x11 $with_sm