Potential fixes for building on Mac OSX

Sun, 30 Nov 2008 19:02:00 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sun, 30 Nov 2008 19:02:00 +0000
changeset 511
f9ab28562fda
parent 510
62c91dc9f9f3
child 512
eb50ee09c2bb
child 522
fc3df507afa2

Potential fixes for building on Mac OSX

configure file | annotate | diff | comparison | revisions
util-src/Makefile file | annotate | diff | comparison | revisions
--- a/configure	Sun Nov 30 18:59:29 2008 +0000
+++ b/configure	Sun Nov 30 19:02:00 2008 +0000
@@ -13,6 +13,8 @@
 IDN_LIB=idn
 OPENSSL_LIB=crypto
 
+CFLAGS="-shared -fPIC"
+
 # Help
 
 show_help() {
@@ -20,6 +22,8 @@
 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 @@
                             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 @@
       PREFIX="$value"
       PREFIX_SET=yes
       ;;
+   --ostype=*)
+      OSTYPE="$value"
+      OSTYPE_SET=yes
+      ;;
    --data-dir=*)
    	DATADIR="$value"
    	DATADIR_SET=yes
@@ -91,6 +101,9 @@
    --with-ssl=*)
       OPENSSL_LIB="$value"
       ;;      
+   --cflags=*)
+      CFLAGS="$value"
+      ;;      
    *)
       echo "Error: Unknown flag: $1"
       exit 1
@@ -99,6 +112,19 @@
    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 @@
 REQUIRE_CONFIG=$REQUIRE_CONFIG
 IDN_LIB=$IDN_LIB
 OPENSSL_LIB=$OPENSSL_LIB
+CFLAGS=$CFLAGS
 
 EOF
 
--- a/util-src/Makefile	Sun Nov 30 18:59:29 2008 +0000
+++ b/util-src/Makefile	Sun Nov 30 19:02:00 2008 +0000
@@ -5,7 +5,7 @@
 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 @@
 	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
 	

mercurial