diff --git a/Makefile b/Makefile
index bc3dc1a56add10d4ccb83a48ac74bd12d73049b2..c3eeac4b773762501d9e4781ee405aa316cf25a2 100755
--- a/Makefile
+++ b/Makefile
@@ -207,6 +207,7 @@ LIBS+=-lresolv  #-lnjamd
 endif
 ifeq (${OSARCH},Darwin)
 LIBS+=-lresolv
+CFLAGS+=-D__OSX__
 endif
 ifeq (${OSARCH},FreeBSD)
 LIBS+=-lcrypto
diff --git a/config.c b/config.c
index baba870bb152c33d8b4da84e1d9512d3b31dbb30..31f4381580fa6ecf13192711aa8b619f44995aaf 100755
--- a/config.c
+++ b/config.c
@@ -19,6 +19,9 @@
 #include <time.h>
 #define AST_INCLUDE_GLOB 1
 #ifdef AST_INCLUDE_GLOB
+#ifdef __OSX__
+#define GLOB_ABORTED GLOB_ABEND
+#endif
 # include <glob.h>
 #endif
 #include <asterisk/config.h>
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index b68a1050add91dccfe897c9541f601886ac85713..602d05605a6b165b661e2e66fd9cac410e835d8e 100755
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -39,7 +39,7 @@
 #include <sys/socket.h>
 #include <string.h>
 #include <errno.h>
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(SOLARIS)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(SOLARIS) || defined(__OSX__)
 #include <sys/types.h>
 #include <netinet/in_systm.h>
 #endif
@@ -47,7 +47,7 @@
 #include <sys/ioctl.h>
 #include <netinet/in.h>
 #include <net/if.h>
-#if defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OSX__)
 #include <net/if_dl.h>
 #include <ifaddrs.h>
 #endif