diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2021-08-05 14:05:21 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2021-08-05 14:05:21 -0400 |
commit | dfad515da194aa1a2dd4a9057b5cf4b5503787cd (patch) | |
tree | aa45daa33049f59e9d5bb6c01f2145274d8c399e /configure | |
parent | 42d68a01f32369f4de20bea597b4f3e53e83c6a1 (diff) | |
download | moog-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-x | configure | 79 |
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 |