#!/bin/sh # # Script that enable features for wmmailad and creates its configuration file. CONFIG="Config.make" DEFAULT_PREFIX="/usr/local" DEFINES=`awk '/HAVE_/{print $3}' "$CONFIG".in` FEATURES=`echo "$DEFINES" | sed -e 's/-DHAVE_//g'` PREFIX="" ENABLE="" VERSION=`cat VERSION` do_help() { echo "configure - configure script for wmmaiload, Thomas Nemeth, 2005" echo "Usage: ./configure [-h] [-p PATH] [-e FEATURE] ..." echo " -h, --help : this (very) short help :)" echo " -p, --prefix=PATH : path where to install the program" echo " -e, --enable=FEATURE : enable feature FEATURE for compiling wmmaiload" echo echo "FEATURE is one of :" for FEATURE in $FEATURES ; do echo " - $FEATURE" done echo "You can use as much --enable option as you want." exit 1 } do_set_feature() { OPTIONS=`echo "$1" | tr "[a-z]" "[A-Z]"` set -- `IFS=','; echo $OPTIONS` for OPTION in $*; do REQUEST="" for FEATURE in $FEATURES; do if [ "$OPTION" = "$FEATURE" ]; then REQUEST="$FEATURE" break fi done if [ "$REQUEST" = "" ]; then echo "Feature '$1' does not exist." > /dev/stderr exit 2 fi ENABLE="$ENABLE $REQUEST" done } do_parse_args() { while [ "$1" != "" ]; do case $1 in -h) do_help;; --help) do_help;; -p) PREFIX=$2; shift;; --prefix=*) PREFIX=`echo $1 | cut -d'=' -f2`;; -e) do_set_feature $2; shift;; --enable=*) do_set_feature `echo $1 | cut -d'=' -f2`;; *) echo "Unknown option [$1]."; exit 2;; esac shift done } do_add_option_cmd() { SEDCMD="${SEDCMD};/HAVE_$1/s/^.//" } do_check_config() { if [ "$PREFIX" = "" ]; then PREFIX="$DEFAULT_PREFIX" fi if [ "$ENABLE" = "" ]; then echo "There's no need to call this script if you don't enable at least 1 option." echo "Configuring for all options..." ENABLE="$FEATURES" fi } do_configure() { do_check_config SEDCMD="s,#VERSION#,$VERSION,;s,#PREFIX#,$PREFIX," for OPTION in $ENABLE ; do do_add_option_cmd $OPTION done sed -e "$SEDCMD" $CONFIG.in > $CONFIG } do_parse_args $@ do_configure