aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure243
1 files changed, 243 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 00000000..758e70df
--- /dev/null
+++ b/configure
@@ -0,0 +1,243 @@
+#!/bin/sh
+
+# Defaults
+
+PREFIX=/usr/local
+SYSCONFDIR="$PREFIX/etc/prosody"
+LUA_SUFFIX=""
+LUA_DIR="/usr"
+LUA_BINDIR="/usr/bin"
+LUA_INCDIR="/usr/include"
+LUA_LIBDIR="/usr/lib"
+IDN_LIB=idn
+OPENSSL_LIB=ssl
+
+# Help
+
+show_help() {
+cat <<EOF
+Configure Prosody prior to building.
+
+--help This help.
+--prefix=DIR Prefix where Prosody should be installed.
+ Default is $PREFIX
+--sysconfdir=DIR Location where the config file should be installed.
+ Default is \$PREFIX/etc/prosody
+--lua-suffix=SUFFIX Versioning suffix to use in Lua filenames.
+ Default is "$LUA_SUFFIX" (lua$LUA_SUFFIX...)
+--with-lua=PREFIX Use Lua from given prefix.
+ Default is $LUA_DIR
+--with-lua-include=DIR You can also specify Lua's includes dir.
+ Default is \$LUA_DIR/include
+--with-lua-lib=DIR You can also specify Lua's libraries dir.
+ Default is \$LUA_DIR/lib
+--with-idn=LIB The name of the IDN library to link with.
+ Default is $IDN_LIB
+--with-ssl=LIB The name of the SSL to link with.
+ Default is $OPENSSL_LIB
+--require-config Will cause Prosody to refuse to run when
+ it fails to find a configuration file
+EOF
+}
+
+
+while [ "$1" ]
+do
+ value="`echo $1 | sed 's/.*=\(.*\)/\1/'`"
+ if echo "$value" | grep -q "~"
+ then
+ echo
+ echo '*WARNING*: the "~" sign is not expanded in flags.'
+ echo 'If you mean the home directory, use $HOME instead.'
+ echo
+ fi
+ case "$1" in
+ --help)
+ show_help
+ exit 0
+ ;;
+ --prefix=*)
+ PREFIX="$value"
+ PREFIX_SET=yes
+ ;;
+ --require-config)
+ REQUIRE_CONFIG=yes
+ ;;
+ --lua-suffix=*)
+ LUA_SUFFIX="$value"
+ LUA_SUFFIX_SET=yes
+ ;;
+ --with-lua=*)
+ LUA_DIR="$value"
+ LUA_DIR_SET=yes
+ ;;
+ --with-lua-include=*)
+ LUA_INCDIR="$value"
+ LUA_INCDIR_SET=yes
+ ;;
+ --with-lua-lib=*)
+ LUA_LIBDIR="$value" LUA_LIBDIR_SET=yes
+ ;;
+ --with-idn=*)
+ IDN_LIB="$value"
+ ;;
+ --with-ssl=*)
+ OPENSSL_LIB="$value"
+ ;;
+ *)
+ echo "Error: Unknown flag: $1"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if [ "$PREFIX_SET" = "yes" -a ! "$SYSCONFDIR_SET" = "yes" ]
+then
+ if [ "$PREFIX" = "/usr" ]
+ then SYSCONFDIR=/etc/prosody
+ else SYSCONFDIR=$PREFIX/etc/prosody
+ fi
+fi
+
+find_program() {
+ path="$PATH"
+ item="`echo "$path" | sed 's/\([^:]*\):.*/\1/'`"
+ path="`echo "$path" | sed -n 's/[^:]*::*\(.*\)/\1/p'`"
+ found="no"
+ while [ "$item" ]
+ do
+ if [ -e "$item/$1" ]
+ then
+ found="yes"
+ break
+ fi
+ item="`echo "$path" | sed 's/\([^:]*\):.*/\1/'`"
+ path="`echo "$path" | sed -n 's/[^:]*::*\(.*\)/\1/p'`"
+ done
+ if [ "$found" = "yes" ]
+ then
+ echo "$item"
+ else
+ echo ""
+ fi
+}
+
+if [ "$LUA_SUFFIX_SET" != "yes" ]
+then
+ for suffix in "" "5.1" "51" ""
+ do
+ LUA_SUFFIX="$suffix"
+ if [ "$LUA_DIR_SET" = "yes" ]
+ then
+ if [ -e "$LUA_DIR/bin/lua$suffix" ]
+ then
+ find_lua="$LUA_DIR"
+ fi
+ else
+ find_lua=`find_program lua$suffix`
+ fi
+ if [ "$find_lua" ]
+ then
+ echo "Lua interpreter found: $find_lua/lua$suffix..."
+ break
+ fi
+ done
+fi
+
+if ! [ "$LUA_DIR_SET" = "yes" ]
+then
+ echo -n "Looking for Lua... "
+ if [ ! "$find_lua" ]
+ then
+ find_lua=`find_program lua$LUA_SUFFIX`
+ echo "lua$LUA_SUFFIX found in \$PATH: $find_lua"
+ fi
+ if [ "$find_lua" ]
+ then
+ LUA_DIR=`dirname $find_lua`
+ LUA_BINDIR="$find_lua"
+ else
+ echo "lua$LUA_SUFFIX not found in \$PATH."
+ echo "You may want to use the flags --with-lua and/or --lua-suffix. See --help."
+ exit 1
+ fi
+fi
+
+if ! [ "$LUA_INCDIR_SET" = "yes" ]
+then
+ LUA_INCDIR="$LUA_DIR/include"
+fi
+
+if ! [ "$LUA_LIBDIR_SET" = "yes" ]
+then
+ LUA_LIBDIR="$LUA_DIR/lib"
+fi
+
+if [ "$LUA_DIR_SET" = "yes" ]
+then
+ LUA_BINDIR="$LUA_DIR/bin"
+fi
+
+echo -n "Checking Lua includes... "
+lua_h="$LUA_INCDIR/lua.h"
+if [ -e "$lua_h" ]
+then
+ echo "lua.h found in $lua_h"
+else
+ echo "lua.h not found (looked in $lua_h)"
+ echo "You may want to use the flag --with-lua-include. See --help."
+ exit 1
+fi
+
+find_helper() {
+ explanation="$1"
+ shift
+ tried="$*"
+ while [ "$1" ]
+ do
+ found=`find_program "$1"`
+ if [ "$found" ]
+ then
+ echo "$1 found at $found"
+ HELPER=$1
+ return
+ fi
+ shift
+ done
+ echo "Could not find a $explanation. Tried: $tried."
+ echo "Make sure one of them is installed and available in your PATH."
+ exit 1
+}
+
+# Write config
+
+echo "Writing configuration..."
+echo
+
+cat <<EOF > config.unix
+# This file was automatically generated by the configure script.
+# Run "./configure --help" for details.
+
+PREFIX=$PREFIX
+SYSCONFDIR=$SYSCONFDIR
+LUA_SUFFIX=$LUA_SUFFIX
+LUA_DIR=$LUA_DIR
+LUA_INCDIR=$LUA_INCDIR
+LUA_LIBDIR=$LUA_LIBDIR
+LUA_BINDIR=$LUA_BINDIR
+REQUIRE_CONFIG=$REQUIRE_CONFIG
+IDN_LIB=$IDN_LIB
+OPENSSL_LIB=$OPENSSL_LIB
+
+EOF
+
+echo "Installation prefix: $PREFIX"
+echo "Prosody configuration directory: $SYSCONFDIR"
+echo "Using Lua from: $LUA_DIR"
+
+make clean > /dev/null 2> /dev/null
+
+echo
+echo "Done. You can now run 'make' to build."
+echo