HaRe-0.6: tools/pfe/pfesetup
#!/bin/bash
# This script assist in creating a new PFE project and adding source files to
# it.
defaultPROGRAMATICA="/home/projects/pacsoft/tools/lib/Programatica/libs"
PFE="${PFE-pfe}"
PROGRAMATICA="${PROGRAMATICA-$defaultPROGRAMATICA}"
PFE_LIBS=${PFE_LIBS-$PROGRAMATICA/libs}
[ -r HuMakefile ] && . HuMakefile # Reuse the list of source directories!
flags=""
libs=""
prelude=yes
hierarchical=no
while
case "$1" in
prelude)
prelude=yes
flags="$flags $1"
shift
;;
noprelude)
prelude=no
flags="$flags $1"
shift
;;
plogic|noplogic|nocpp|cpp|cpp=*)
flags="$flags $1"
shift
;;
-[PIi])
shift
libs="$libs $1"
shift
;;
-[PIi]*)
libs="$libs ${1#-[PIi]}"
shift
;;
+h|hierarchical)
hierarchical=yes
shift
;;
-h|nohierarchical)
hierarchical=no
shift
;;
*)
false
esac
do
:
done
L="hi/libs"
extralibs="$L/GhcLibraries $L/HbcLibraries"
pfelibs="$L/HaskellLibraries $extralibs"
hugslibs="$L/HugsLibraries $extralibs"
case "$prelude" in
yes)
if [ -d "$PFE_LIBS" ]; then
case "$hierarchical" in
yes) libs="$libs $hugslibs" ;;
*) libs="$libs $pfelibs"
esac
else
echo "$PFE_LIBS is missing."
echo "The Prelude and standard libraries will not be included automatically."
echo "Perhaps you need to set PROGRAMATICA to point where you installed it."
fi
;;
esac
rm -rf hi/options
#rm -rf hi # Is it better to clean away all old stuff?
echo $PFE $flags new -quiet "$*"
$PFE $flags new -quiet "$@" && {
case "$PFE_LIBS" in
/*) ln -s "$PFE_LIBS" hi/libs;; #Absolute path
*) ln -s "../$PFE_LIBS" hi/libs # Relative path, adjust it!
esac
echo "$PFE $flags chase `echo ${SRC_DIRS-.} $libs | sed 's/:/ /g'`"
$PFE $flags chase `echo ${SRC_DIRS-.} $libs | sed 's/:/ /g'`
}