Patches for Darwin Version 6.8 Darwin doesn't have poll(), so #include asterisk/poll-compat.h rather than sys/poll.h. #ifdef __APPLE__ #include in apps/app_sms.c to obtain mkdir() declaration. Don't redefine Check QUAD_MIN/MAX if they are already suplied by the system in ast_expr.y. bison version 1.28 doesn't support %location, so in Makefile, check for bison version 1.28 number and tell the user to upgrade if found. Darwin's sys/param.h defines BSD, so use it in include/asterisk/lock.h to select BSD style locking. Index: Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/Makefile,v retrieving revision 1.102 diff -u -r1.102 Makefile --- Makefile 19 Jul 2004 15:52:57 -0000 1.102 +++ Makefile 25 Jul 2004 21:01:57 -0000 @@ -170,7 +170,7 @@ LIBS+=-lresolv #-lnjamd endif ifeq (${OSARCH},Darwin) -LIBS+=-lresolv +#LIBS+=-lresolv endif ifeq (${OSARCH},FreeBSD) LIBS+=-lcrypto @@ -233,6 +233,10 @@ .version: _version .y.c: + @if bison --version| grep -q 'version 1.28'; then \ + echo "Your version of bison is too old. Please upgrade."; \ + exit 1; \ + fi bison $< --name-prefix=ast_yy -o $@ ast_expr.o: ast_expr.c Index: ast_expr.y =================================================================== RCS file: /usr/cvsroot/asterisk/ast_expr.y,v retrieving revision 1.8 diff -u -r1.8 ast_expr.y --- ast_expr.y 26 Jun 2004 03:50:14 -0000 1.8 +++ ast_expr.y 25 Jul 2004 21:01:57 -0000 @@ -20,10 +20,10 @@ #include #include -#ifdef LONG_LONG_MIN +#if !defined(QUAD_MIN) && defined(LONG_LONG_MIN) #define QUAD_MIN LONG_LONG_MIN #endif -#ifdef LONG_LONG_MAX +#if !defined(QUAD_MAX) && defined(LONG_LONG_MAX) #define QUAD_MAX LONG_LONG_MAX #endif Index: asterisk.c =================================================================== RCS file: /usr/cvsroot/asterisk/asterisk.c,v retrieving revision 1.107 diff -u -r1.107 asterisk.c --- asterisk.c 18 Jul 2004 18:52:36 -0000 1.107 +++ asterisk.c 25 Jul 2004 21:01:59 -0000 @@ -13,7 +13,11 @@ #include #include +#ifndef __APPLE__ #include +#else +#include +#endif #include #include #include Index: channel.c =================================================================== RCS file: /usr/cvsroot/asterisk/channel.c,v retrieving revision 1.130 diff -u -r1.130 channel.c --- channel.c 9 Jul 2004 10:57:43 -0000 1.130 +++ channel.c 25 Jul 2004 21:02:06 -0000 @@ -19,7 +19,11 @@ #include #include #include /* For PI */ +#ifndef __APPLE__ #include +#else +#include +#endif #include #include #include Index: manager.c =================================================================== RCS file: /usr/cvsroot/asterisk/manager.c,v retrieving revision 1.64 diff -u -r1.64 manager.c --- manager.c 14 Jul 2004 07:44:19 -0000 1.64 +++ manager.c 25 Jul 2004 21:02:08 -0000 @@ -24,7 +24,11 @@ #include #include #include +#ifndef __APPLE__ #include +#else +#include +#endif #include #include #include Index: apps/app_sms.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_sms.c,v retrieving revision 1.8 diff -u -r1.8 app_sms.c --- apps/app_sms.c 14 Jul 2004 07:34:34 -0000 1.8 +++ apps/app_sms.c 25 Jul 2004 21:02:09 -0000 @@ -26,6 +26,9 @@ #include #include #include +#ifdef __APPLE__ +#include +#endif /* ToDo */ /* When acting as SC and answering, should check for messages and send instead of sending EST as first packet */ Index: include/asterisk/channel.h =================================================================== RCS file: /usr/cvsroot/asterisk/include/asterisk/channel.h,v retrieving revision 1.49 diff -u -r1.49 channel.h --- include/asterisk/channel.h 22 Jun 2004 18:49:00 -0000 1.49 +++ include/asterisk/channel.h 25 Jul 2004 21:02:18 -0000 @@ -19,8 +19,11 @@ #include #include #include +#ifndef __APPLE__ #include - +#else +#include +#endif #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif Index: include/asterisk/lock.h =================================================================== RCS file: /usr/cvsroot/asterisk/include/asterisk/lock.h,v retrieving revision 1.22 diff -u -r1.22 lock.h --- include/asterisk/lock.h 22 Jun 2004 19:53:36 -0000 1.22 +++ include/asterisk/lock.h 25 Jul 2004 21:02:19 -0000 @@ -22,14 +22,6 @@ #define AST_PTHREADT_NULL (pthread_t) -1 #define AST_PTHREADT_STOP (pthread_t) -2 -#ifdef __APPLE__ -/* Provide the Linux initializers for MacOS X */ -#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE -#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { 0x4d555458, \ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 0x20 } } -#endif - #ifdef BSD #ifdef __GNUC__ #define AST_MUTEX_INIT_W_CONSTRUCTORS