Software /
code /
prosody
File
configure @ 2511:a81c710b1708
prosodyctl: Don't display message about failing to start Prosody is daemonizing is disabled (if daemonizing is disabled then Prosody is stopped by the time control returns to prosodyctl, which then can't see Prosody running)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 28 Jan 2010 15:05:30 +0000 |
parent | 2316:049cebba35bf |
child | 3051:15150ad771df |
line wrap: on
line source
#!/bin/sh # Defaults PREFIX=/usr/local SYSCONFDIR="$PREFIX/etc/prosody" DATADIR="$PREFIX/var/lib/prosody" LUA_SUFFIX="" LUA_DIR="/usr" LUA_BINDIR="/usr/bin" LUA_INCDIR="/usr/include" LUA_LIBDIR="/usr/lib" IDN_LIB=idn OPENSSL_LIB=crypto CC=gcc LD=gcc CFLAGS="-fPIC -Wall" LDFLAGS="-shared" # Help show_help() { cat <<EOF Configure Prosody prior to building. --help This help. --ostype=OS Use one of the OS presets. May be one of: debian, macosx, linux --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 --datadir=DIR Location where the server data should be stored. Default is \$PREFIX/var/lib/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 --cflags=FLAGS Flags to pass to the compiler Default is $CFLAGS --ldflags=FLAGS Flags to pass to the linker Default is $LDFLAGS --c-compiler=CC The C compiler to use when building modules. Default is $CC --linker=CC The linker to use when building modules. Default is $LD --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 ;; --sysconfdir=*) SYSCONFDIR="$value" SYSCONFDIR_SET=yes ;; --ostype=*) OSTYPE="$value" OSTYPE_SET=yes ;; --datadir=*) DATADIR="$value" DATADIR_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" ;; --cflags=*) CFLAGS="$value" ;; --ldflags=*) LDFLAGS="$value" ;; --c-compiler=*) CC="$value" ;; --linker=*) LD="$value" ;; *) echo "Error: Unknown flag: $1" exit 1 ;; esac shift done if [ "$OSTYPE_SET" = "yes" ] then if [ "$OSTYPE" = "debian" ] then LUA_SUFFIX="5.1"; LUA_SUFFIX_SET=yes LUA_INCDIR=/usr/include/lua5.1; LUA_INCDIR_SET=yes fi if [ "$OSTYPE" = "macosx" ] then LUA_INCDIR=/usr/local/include; LUA_INCDIR_SET=yes LUA_LIBDIR=/usr/local/lib LUA_LIBDIR_SET=yes CFLAGS="-Wall" LDFLAGS="-bundle -undefined dynamic_lookup" fi if [ "$OSTYPE" = "linux" ] then LUA_INCDIR=/usr/local/include; LUA_INCDIR_SET=yes LUA_LIBDIR=/usr/local/lib LUA_LIBDIR_SET=yes CFLAGS="-Wall -fPIC" LDFLAGS="-shared" fi fi if [ "$PREFIX_SET" = "yes" -a ! "$SYSCONFDIR_SET" = "yes" ] then if [ "$PREFIX" = "/usr" ] then SYSCONFDIR=/etc/prosody else SYSCONFDIR=$PREFIX/etc/prosody fi fi if [ "$PREFIX_SET" = "yes" -a ! "$DATADIR_SET" = "yes" ] then if [ "$PREFIX" = "/usr" ] then DATADIR=/var/lib/prosody else DATADIR=$PREFIX/var/lib/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 DATADIR=$DATADIR 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 CFLAGS=$CFLAGS LDFLAGS=$LDFLAGS CC=$CC LD=$LD 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