aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure113
1 files changed, 80 insertions, 33 deletions
diff --git a/configure b/configure
index bd8eb48c..ecf77a86 100755
--- a/configure
+++ b/configure
@@ -11,13 +11,17 @@ LUA_BINDIR="/usr/bin"
LUA_INCDIR="/usr/include"
LUA_LIBDIR="/usr/lib"
IDN_LIB=idn
+ICU_FLAGS="-licui18n -licudata -licuuc"
OPENSSL_LIB=crypto
CC=gcc
+CXX=g++
LD=gcc
+RUNWITH=lua
CFLAGS="-fPIC -Wall"
-LFLAGS="-shared"
+LDFLAGS="-shared"
+IDN_LIBRARY=idn
# Help
show_help() {
@@ -26,7 +30,7 @@ Configure Prosody prior to building.
--help This help.
--ostype=OS Use one of the OS presets.
- May be one of: debian, macosx
+ May be one of: debian, macosx, linux, freebsd
--prefix=DIR Prefix where Prosody should be installed.
Default is $PREFIX
--sysconfdir=DIR Location where the config file should be installed.
@@ -37,18 +41,23 @@ Configure Prosody prior to building.
Default is "$LUA_SUFFIX" (lua$LUA_SUFFIX...)
--with-lua=PREFIX Use Lua from given prefix.
Default is $LUA_DIR
+--runwith=BINARY What Lua binary to set as runtime environment.
+ Default is $RUNWITH
--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
+--idn-library=(idn|icu) Select library to use for IDNA functionality.
+ idn: use GNU libidn (default)
+ icu: use ICU from IBM
--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
---lflags=FLAGS Flags to pass to the linker
- Default is $LFLAGS
+--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.
@@ -61,7 +70,7 @@ EOF
while [ "$1" ]
do
- value="`echo $1 | sed 's/.*=\(.*\)/\1/'`"
+ value="`echo $1 | sed 's/[^=]*=\(.*\)/\1/'`"
if echo "$value" | grep -q "~"
then
echo
@@ -85,6 +94,43 @@ do
--ostype=*)
OSTYPE="$value"
OSTYPE_SET=yes
+ if [ "$OSTYPE" = "debian" ]
+ then LUA_SUFFIX="5.1";
+ LUA_SUFFIX_SET=yes
+ RUNWITH="lua5.1"
+ LUA_INCDIR=/usr/include/lua5.1;
+ LUA_INCDIR_SET=yes
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ fi
+ if [ "$OSTYPE" = "macosx" ]
+ then LUA_INCDIR=/usr/local/include;
+ LUA_INCDIR_SET=yes
+ LUA_LIBDIR=/usr/local/lib
+ LUA_LIBDIR_SET=yes
+ 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"
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ LDFLAGS="-shared"
+ fi
+ if [ "$OSTYPE" = "freebsd" -o "$OSTYPE" = "openbsd" ]
+ then LUA_INCDIR="/usr/local/include/lua51"
+ LUA_INCDIR_SET=yes
+ CFLAGS="-Wall -fPIC -I/usr/local/include"
+ LDFLAGS="-I/usr/local/include -L/usr/local/lib -shared"
+ LUA_SUFFIX="-5.1"
+ LUA_SUFFIX_SET=yes
+ LUA_DIR=/usr/local
+ LUA_DIR_SET=yes
+ fi
+ if [ "$OSTYPE" = "openbsd" ]
+ then LUA_INCDIR="/usr/local/include";
+ fi
;;
--datadir=*)
DATADIR="$value"
@@ -107,25 +153,31 @@ do
;;
--with-lua-lib=*)
LUA_LIBDIR="$value" LUA_LIBDIR_SET=yes
- ;;
+ ;;
--with-idn=*)
IDN_LIB="$value"
- ;;
+ ;;
+ --idn-library=*)
+ IDN_LIBRARY="$value"
+ ;;
--with-ssl=*)
OPENSSL_LIB="$value"
- ;;
+ ;;
--cflags=*)
CFLAGS="$value"
- ;;
- --lflags=*)
- LFLAGS="$value"
- ;;
+ ;;
+ --ldflags=*)
+ LDFLAGS="$value"
+ ;;
--c-compiler=*)
CC="$value"
- ;;
+ ;;
--linker=*)
LD="$value"
- ;;
+ ;;
+ --runwith=*)
+ RUNWITH="$value"
+ ;;
*)
echo "Error: Unknown flag: $1"
exit 1
@@ -134,24 +186,6 @@ do
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"
- LFLAGS="-bundle -undefined dynamic_lookup"
- fi
-fi
-
if [ "$PREFIX_SET" = "yes" -a ! "$SYSCONFDIR_SET" = "yes" ]
then
if [ "$PREFIX" = "/usr" ]
@@ -247,6 +281,16 @@ then
LUA_BINDIR="$LUA_DIR/bin"
fi
+if [ "$IDN_LIBRARY" = "icu" ]
+then
+ IDNA_LIBS="$ICU_FLAGS"
+ CFLAGS="$CFLAGS -DUSE_STRINGPREP_ICU"
+fi
+if [ "$IDN_LIBRARY" = "idn" ]
+then
+ IDNA_LIBS="-l$IDN_LIB"
+fi
+
echo -n "Checking Lua includes... "
lua_h="$LUA_INCDIR/lua.h"
if [ -e "$lua_h" ]
@@ -297,11 +341,14 @@ LUA_LIBDIR=$LUA_LIBDIR
LUA_BINDIR=$LUA_BINDIR
REQUIRE_CONFIG=$REQUIRE_CONFIG
IDN_LIB=$IDN_LIB
+IDNA_LIBS=$IDNA_LIBS
OPENSSL_LIB=$OPENSSL_LIB
CFLAGS=$CFLAGS
-LFLAGS=$LFLAGS
+LDFLAGS=$LDFLAGS
CC=$CC
+CXX=$CXX
LD=$LD
+RUNWITH=$RUNWITH
EOF