Reanimated OS X port. Any OS X dynamic linking experts? Just tried a
authorThomas Lopatic <thomas@lopatic.de>
Thu, 29 Dec 2005 19:48:43 +0000 (19:48 +0000)
committerThomas Lopatic <thomas@lopatic.de>
Thu, 29 Dec 2005 19:48:43 +0000 (19:48 +0000)
couple of options from the ld man page that seemed plausible. Looks
okay, but should be verified by somebody that knows what he's doing.

lib/dot_draw/src/olsrd_dot_draw.c
lib/pgraph/src/olsrd_pgraph.c
lib/powerinfo/src/olsrd_power.c
lib/tas/Makefile
make/Makefile.osx
make/guess_os.sh
src/cfgparser/Makefile

index 9cce39f..da2e481 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_dot_draw.c,v 1.18 2005/11/08 11:24:04 kattemat Exp $
+ * $Id: olsrd_dot_draw.c,v 1.19 2005/12/29 19:48:43 tlopatic Exp $
  */
 
 /*
@@ -205,7 +205,7 @@ plugin_ipc_init()
        return 0;
       }
 
-#ifdef __FreeBSD__
+#if defined __FreeBSD__
       if (setsockopt(ipc_socket, SOL_SOCKET, SO_NOSIGPIPE, (char *)&yes, sizeof(yes)) < 0) 
       {
        perror("SO_REUSEADDR failed");
@@ -449,7 +449,7 @@ ipc_send(char *data, int size)
   if(!ipc_open)
     return 0;
 
-#if defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
+#if defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined __MacOSX__
   if (send(ipc_connection, data, size, 0) < 0) 
 #else
   if (send(ipc_connection, data, size, MSG_NOSIGNAL) < 0) 
index 90e5602..a0c5d42 100755 (executable)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_pgraph.c,v 1.1 2005/07/13 21:45:08 kattemat Exp $
+ * $Id: olsrd_pgraph.c,v 1.2 2005/12/29 19:48:43 tlopatic Exp $
  */
 
 /*
@@ -392,7 +392,7 @@ ipc_send(char *data, int size)
   if(!ipc_open)
     return 0;
 
-#ifdef __FreeBSD__
+#if defined __FreeBSD__ || defined __MacOSX__
   if (send(ipc_connection, data, size, 0) < 0) 
 #else
   if (send(ipc_connection, data, size, MSG_NOSIGNAL) < 0) 
index d617c16..84d47bf 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_power.c,v 1.13 2005/05/29 12:47:43 br1 Exp $ */
+/* $Id: olsrd_power.c,v 1.14 2005/12/29 19:48:43 tlopatic Exp $ */
 
 /*
  * Dynamic linked library example for UniK OLSRd
@@ -544,7 +544,7 @@ ipc_send(char *data, int size)
   if(!ipc_connected)
     return 0;
 
-#if defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
+#if defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined __MacOSX__
   if (send(ipc_connection, data, size, 0) < 0) 
 #else
   if (send(ipc_connection, data, size, MSG_NOSIGNAL) < 0) 
index 47ef2e2..e988d46 100644 (file)
@@ -35,7 +35,7 @@
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.3 2005/05/25 15:05:34 br1 Exp $
+# $Id: Makefile,v 1.4 2005/12/29 19:48:43 tlopatic Exp $
 
 OLSRD_PLUGIN = true
 PLUGIN_NAME =  olsrd_tas
@@ -51,10 +51,10 @@ ifneq ($(OS),win32)
 LIBS +=                -lm
 endif
 
-ifeq ($(OS),fbsd)
+ifneq ($(OS),linux)
 
 default_target install clean: 
-       @echo "*** TAS Plugin not supported on FreeBSD yet, sorry!"
+       @echo "*** TAS Plugin only supported on Linux, sorry!"
 
 else
 
index fa94083..765164f 100644 (file)
@@ -17,7 +17,9 @@ INSTALL_LIB = install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
 
 ifdef OLSRD_PLUGIN
 CFLAGS +=      -fPIC
-LDFLAGS +=     -fPIC
+LDFLAGS =      -fPIC -dynamiclib -single_module -flat_namespace -undefined suppress
+else
+LDFLAGS = -dynamic
 endif
                
 OS_LIB_PTHREAD =
index 7a19445..a63cebd 100755 (executable)
@@ -17,7 +17,7 @@ else
                freebsd*)       arch=fbsd ;;
                netbsd*)        arch=nbsd ;;
                openbsd*)       arch=obsd ;;
-               osx*)           arch=osx ;;
+               darwin*)                arch=osx ;;
                cygwin_*)       arch=win32 ;;
                Windows_*)      arch=win32 ;;
                *)              arch="UNKNOWN" ;;
index 8cae522..a9f2792 100644 (file)
@@ -36,7 +36,7 @@
 # to the project. For more information see the website or contact
 # the copyright holders.
 #
-# $Id: Makefile,v 1.20 2005/06/02 14:41:59 br1 Exp $
+# $Id: Makefile,v 1.21 2005/12/29 19:48:43 tlopatic Exp $
 
 TOPDIR=../..
 include $(TOPDIR)/Makefile.inc
@@ -67,7 +67,13 @@ NAME =               $(BINNAME)
 else 
 
 # build lib per default
+
+ifeq (${OS}, osx)
+LDFLAGS += -dynamiclib -single_module
+else
 LDFLAGS +=     -shared -Wl,-soname,$(LIBNAME)
+endif
+
 CFLAGS +=      -DMAKELIB
 NAME =         $(LIBNAME)