Potential fixes for building on Mac OSX
authorMatthew Wild <mwild1@gmail.com>
Sun, 30 Nov 2008 19:02:00 +0000 (19:02 +0000)
committerMatthew Wild <mwild1@gmail.com>
Sun, 30 Nov 2008 19:02:00 +0000 (19:02 +0000)
configure
util-src/Makefile

index dda98cd7b399ba04be5cf33a349009bb2d2abcdf..3b1898e0e7e54b9664c87bfe4e6da60f8e9a2940 100755 (executable)
--- a/configure
+++ b/configure
@@ -13,6 +13,8 @@ LUA_LIBDIR="/usr/lib"
 IDN_LIB=idn
 OPENSSL_LIB=crypto
 
+CFLAGS="-shared -fPIC"
+
 # Help
 
 show_help() {
@@ -20,6 +22,8 @@ cat <<EOF
 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.
@@ -38,7 +42,9 @@ Configure Prosody prior to building.
                             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
 }
@@ -63,6 +69,10 @@ do
       PREFIX="$value"
       PREFIX_SET=yes
       ;;
+   --ostype=*)
+      OSTYPE="$value"
+      OSTYPE_SET=yes
+      ;;
    --data-dir=*)
        DATADIR="$value"
        DATADIR_SET=yes
@@ -91,6 +101,9 @@ do
    --with-ssl=*)
       OPENSSL_LIB="$value"
       ;;      
+   --cflags=*)
+      CFLAGS="$value"
+      ;;      
    *)
       echo "Error: Unknown flag: $1"
       exit 1
@@ -99,6 +112,19 @@ do
    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" ]
@@ -245,6 +271,7 @@ LUA_BINDIR=$LUA_BINDIR
 REQUIRE_CONFIG=$REQUIRE_CONFIG
 IDN_LIB=$IDN_LIB
 OPENSSL_LIB=$OPENSSL_LIB
+CFLAGS=$CFLAGS
 
 EOF
 
index 8b886a1f0db8c118799aaa26d5dc02a0d82f735e..04f9d7cb9bd3ec1dc717796b53f9cdfe6bde4dfc 100644 (file)
@@ -5,7 +5,7 @@ LUA_SUFFIX?=5.1
 LUA_INCDIR?=/usr/include/lua$(LUA_SUFFIX)
 LUA_LIB?=lua$(LUA_SUFFIX)
 IDN_LIB?=idn
-OPENSSL_LIB?=ssl
+OPENSSL_LIB?=crypto
 
 
 
@@ -21,8 +21,8 @@ clean:
        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