summaryrefslogtreecommitdiff
path: root/Config
diff options
context:
space:
mode:
authorsjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-01 12:00:20 +0000
committersjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-01 12:00:20 +0000
commitc777c8d9aa7cd5c2e9a399727a7fa9985a77fb1c (patch)
tree9e996ae4a1bbb833cec036c5cd4d87a590149e85 /Config
Anope Stable Branch
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@1902 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'Config')
-rwxr-xr-xConfig325
1 files changed, 325 insertions, 0 deletions
diff --git a/Config b/Config
new file mode 100755
index 000000000..c35c7a7db
--- /dev/null
+++ b/Config
@@ -0,0 +1,325 @@
+#!/bin/sh
+#
+# Configuration script for Services.
+#
+# Anope (c) 2003-2007 Anope team
+# Contact us at dev@anope.org
+#
+# This program is free but copyrighted software; see the file COPYING for
+# details.
+#
+# Based on the original code of Epona by PegSoft.
+# Based on the original code of Services by Andy Church.
+#
+###########################################################################
+
+echo2 () {
+ $ECHO2 "$*$ECHO2SUF" # these are defined later
+}
+
+exists () { # because some shells don't have test -e
+ if [ -f $1 -o -d $1 -o -p $1 -o -c $1 -o -b $1 ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+Load_Cache () {
+ if [ -f config.cache -a -r config.cache -a ! "$IGNORE_CACHE" ] ; then
+ echo "Using defaults from config.cache. To ignore, ./Config -nocache"
+ echo ""
+ . config.cache
+ CAN_QUICK="yes"
+ else
+ CAN_QUICK="no"
+ fi
+}
+
+Run_Configure () {
+WITH_BIN=""
+WITH_DATA=""
+WITH_ENC=""
+WITH_RUN=""
+WITH_PERM=""
+WITH_MYSQL=""
+
+if [ "$BINDEST" != "" ] ; then
+ WITH_BIN=" --with-bindir=$BINDEST"
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$DATDEST" != "" ] ; then
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$RUNGROUP" != "" ] ; then
+ WITH_RUN=" --with-rungroup=$RUNGROUP"
+fi
+
+if [ "$UMASK" != "" ] ; then
+ WITH_PERM=" --with-permissions=$UMASK"
+fi
+
+if [ "$MYSQL" != "yes" ] ; then
+ WITH_MYSQL=" --without-mysql"
+fi
+
+
+echo "./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_RUN $WITH_PERM $WITH_MYSQL"
+
+./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_RUN $WITH_PERM $WITH_MYSQL
+}
+
+ECHO2SUF=''
+if [ "`echo -n a ; echo -n b`" = "ab" ] ; then
+ ECHO2='echo -n'
+elif [ "`echo 'a\c' ; echo 'b\c'`" = "ab" ] ; then
+ ECHO2='echo' ; ECHO2SUF='\c'
+elif [ "`printf 'a' 2>&1 ; printf 'b' 2>&1`" = "ab" ] ; then
+ ECHO2='printf "%s"'
+else
+ # oh well...
+ ECHO2='echo'
+fi
+export ECHO2 ECHO2SUF
+
+###########################################################################
+# Init values
+###########################################################################
+
+BINDEST=$HOME/services
+DATDEST=$HOME/services
+RUNGROUP=
+UMASK=
+IRCTYPE="no default"
+CAN_QUICK="no"
+
+###########################################################################
+# Check out the options
+###########################################################################
+while [ $# -ge 1 ] ; do
+ if [ $1 = "--help" ] ; then
+ echo "Config utility for Anope"
+ echo "------------------------"
+ echo "Syntax: ./Config [options]"
+ echo "-nocache Ignore settings saved in config.cache"
+ echo "-nointro Skip intro (disclaimer, etc)"
+ echo "-quick Skip questions, go straight to configure"
+ exit 0
+ elif [ $1 = "-nocache" ] ; then
+ IGNORE_CACHE="1"
+ elif [ $1 = "-nointro" ] ; then
+ NO_INTRO="1"
+ elif [ $1 = "-quick" -o $1 = "-q" ] ; then
+ Load_Cache
+ if [ $CAN_QUICK = "yes" ] ; then
+ Run_Configure
+ else
+ echo ""
+ echo "Can't find cache file (config.cache), aborting..."
+ fi
+ exit 0
+ fi
+ shift 1
+done
+
+###########################################################################
+if [ ! "$NO_INTRO" ] ; then
+ clear
+ . ./version.log
+ cat .BANNER | sed "s/CURVER/$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH$VERSION_EXTRA/" | more
+ echo ""
+else
+ echo ""
+fi
+
+echo "Beginning Services configuration."
+echo ""
+
+###########################################################################
+# Load the cache
+###########################################################################
+if [ ! "$IGNORE_CACHE" ] ; then
+ Load_Cache
+fi
+
+# Ask the user anything we need to know ahead of time.
+
+export ok INPUT
+
+####
+
+ok=0
+echo "Note: press Return for the default, or enter a new value."
+echo "In what directory do you want the binaries to be installed?"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$BINDEST] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$BINDEST
+ fi
+ if [ ! -d "$INPUT" ] ; then
+ if exists "$INPUT" ; then
+ echo "$INPUT exists, but is not a directory!"
+ else
+ echo "$INPUT does not exist. Create it?"
+ echo2 "[y] "
+ read YN
+ if [ "$YN" != "n" ] ; then
+ if mkdir -p $INPUT ; then
+ ok=1
+ fi
+ fi
+ fi
+ elif exists "$INPUT/include/services.h" ; then
+ echo "You cannot use the Services source directory as a target directory."
+ else
+ ok=1
+ fi
+done
+BINDEST=$INPUT
+DATDEST=$INPUT
+echo ""
+
+
+####
+
+ok=0
+echo "Where do you want the data files to be installed?"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$DATDEST] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$DATDEST
+ fi
+ if [ ! -d "$INPUT" ] ; then
+ if exists "$INPUT" ; then
+ echo "$INPUT exists, but is not a directory!"
+ else
+ echo "$INPUT does not exist. Create it?"
+ echo2 "[y] "
+ read YN
+ if [ "$YN" != "n" ] ; then
+ if mkdir -p $INPUT ; then
+ ok=1
+ fi
+ fi
+ fi
+ elif exists "$INPUT/include/services.h" ; then
+ echo "You cannot use the Services source directory as a target directory."
+ else
+ ok=1
+ fi
+done
+DATDEST=$INPUT
+echo ""
+
+####
+
+
+OLD_RUNGROUP="$RUNGROUP"
+if [ "$RUNGROUP" ] ; then
+ echo "Which group should all Services data files be owned by? (If Services"
+ echo "should not force files to be owned by a particular group, type "\"none\"
+ echo "(without the quotes) and press Return.)"
+else
+ echo "Which group should all Services data files be owned by? (If Services"
+ echo "should not force files to be owned by a particular group, just press"
+ echo "Return.)"
+fi
+echo2 "[$RUNGROUP] "
+if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+if [ "$INPUT" ] ; then
+ if [ "$INPUT" = "none" ] ; then
+ RUNGROUP=""
+ else
+ RUNGROUP="$INPUT"
+ fi
+fi
+echo ""
+
+####
+
+if [ ! "$UMASK" -o "$RUNGROUP" != "$OLD_RUNGROUP" ] ; then
+ if [ "$RUNGROUP" ] ; then
+ UMASK=007
+ else
+ UMASK=077
+ fi
+fi
+
+ok=0
+echo "What should the default umask for data files be (in octal)?"
+echo "(077 = only accessible by owner; 007 = accessible by owner and group)"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$UMASK] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$UMASK
+ fi
+ if [ `echo "$INPUT" | grep -c '[^0-7]'` -gt 0 ] ; then
+ echo "$UMASK is not a valid octal number!"
+ else
+ if [ "`echo $INPUT | cut -c1`" != "0" ] ; then
+ INPUT=0$INPUT
+ fi
+ ok=1
+ fi
+done
+UMASK=$INPUT
+echo ""
+
+####
+
+ok=0
+DEF=yes
+echo "Allow anope to automatically check for mysql libaries?"
+echo "unless you get errors with make, there is no need to"
+echo "change this setting."
+while [ $ok -eq 0 ] ; do
+ echo2 "[$DEF] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$DEF
+ fi
+ case $INPUT in
+ n*|N*)
+ MYSQL=
+ ok=1
+ ;;
+ y*|Y*)
+ MYSQL="yes"
+ ok=1
+ ;;
+ *)
+ echo "Please enter 'yes' or 'no'."
+ ;;
+ esac
+done
+echo ""
+
+####
+
+
+################################################################################
+# Store values
+################################################################################
+echo2 "Saving configuration results in config.cache... "
+
+cat <<EOT >config.cache
+BINDEST="$BINDEST"
+DATDEST="$DATDEST"
+RUNGROUP="$RUNGROUP"
+UMASK=$UMASK
+IRCTYPE="$IRCTYPE"
+IRCTYPE_DEF="$IRCTYPE_DEF"
+MYSQL="$MYSQL"
+EOT
+echo "done."
+
+
+################################################################################
+# Build the configure string
+################################################################################
+Run_Configure