IDN_LIB=idn
OPENSSL_LIB=crypto
+CFLAGS="-shared -fPIC"
+
# Help
show_help() {
Configure Prosody prior to building.
--help This help.
+--ostype=OS Use one of the OS presets.
+ May be one of: debian, macosx
--prefix=DIR Prefix where Prosody should be installed.
Default is $PREFIX
--sysconfdir=DIR Location where the config file should be installed.
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
+--cflags=FLAGS Flags to pass to the compiler
+ Default is $CFLAGS
+--require-config Will cause Prosody to refuse to run when
it fails to find a configuration file
EOF
}
PREFIX="$value"
PREFIX_SET=yes
;;
+ --ostype=*)
+ OSTYPE="$value"
+ OSTYPE_SET=yes
+ ;;
--data-dir=*)
DATADIR="$value"
DATADIR_SET=yes
--with-ssl=*)
OPENSSL_LIB="$value"
;;
+ --cflags=*)
+ CFLAGS="$value"
+ ;;
*)
echo "Error: Unknown flag: $1"
exit 1
shift
done
+if [ "$OSTYPE_SET" = "yes" ]
+then
+ if [ "$OSTYPE" = "debian" ]
+ then LUA_SUFFIX="5.1";
+ LUA_INCDIR=/usr/include/lua5.1;
+ fi
+ if [ "$OSTYPE" = "macosx" ]
+ then LUA_INCDIR=/usr/local/include;
+ LUA_LIBDIR=/usr/local/lib
+ CFLAGS="-bundle -Wl,-undefined,dynamic_lookup"
+ fi
+fi
+
if [ "$PREFIX_SET" = "yes" -a ! "$SYSCONFDIR_SET" = "yes" ]
then
if [ "$PREFIX" = "/usr" ]
REQUIRE_CONFIG=$REQUIRE_CONFIG
IDN_LIB=$IDN_LIB
OPENSSL_LIB=$OPENSSL_LIB
+CFLAGS=$CFLAGS
EOF
LUA_INCDIR?=/usr/include/lua$(LUA_SUFFIX)
LUA_LIB?=lua$(LUA_SUFFIX)
IDN_LIB?=idn
-OPENSSL_LIB?=ssl
+OPENSSL_LIB?=crypto
rm -f ../util/*.so
encodings.so: encodings.c
- gcc -shared -fPIC encodings.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(IDN_LIB) -o encodings.so
+ gcc $(CFLAGS) encodings.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(IDN_LIB) -o encodings.so
hashes.so: hashes.c
- gcc -shared -fPIC hashes.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(OPENSSL_LIB) -o hashes.so
+ gcc $(CFLAGS) hashes.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(OPENSSL_LIB) -o hashes.so