From f9db8abd4d1bfa16f4135638c600ba0eaadec083 Mon Sep 17 00:00:00 2001 From: markster Date: Sun, 26 Oct 2003 18:50:49 +0000 Subject: Make it build and run on MacOS X git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1673 f38db490-d61c-443f-a65b-d21fe96a405b --- Makefile | 12 ++++- apps/Makefile | 22 +++++---- cdr/Makefile | 4 +- channels/Makefile | 22 +++++---- codecs/Makefile | 16 +++---- codecs/lpc10/Makefile | 2 + codecs/lpc10/lpc10.h | 11 ++++- codecs/mp3/Makefile | 3 +- db1-ast/db/db.c | 2 + db1-ast/include/db.h | 2 +- db1-ast/mpool/mpool.c | 3 ++ dns.c | 4 +- enum.c | 5 ++ formats/Makefile | 4 +- include/asterisk/dlfcn-compat.h | 77 ++++++++++++++++++++++++++++++ include/asterisk/io.h | 4 ++ include/asterisk/poll-compat.h | 101 ++++++++++++++++++++++++++++++++++++++++ io.c | 1 - loader.c | 4 ++ pbx/Makefile | 6 +-- res/Makefile | 4 +- srv.c | 5 ++ stdtime/localtime.c | 4 +- 23 files changed, 273 insertions(+), 45 deletions(-) create mode 100755 include/asterisk/dlfcn-compat.h create mode 100755 include/asterisk/poll-compat.h diff --git a/Makefile b/Makefile index 34c4382c1..881d1fa1d 100755 --- a/Makefile +++ b/Makefile @@ -95,7 +95,6 @@ ASTBINDIR=$(INSTALL_PREFIX)/usr/bin ASTSBINDIR=$(INSTALL_PREFIX)/usr/sbin ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run - MODULES_DIR=$(ASTLIBDIR)/modules AGI_DIR=$(ASTVARLIBDIR)/agi-bin @@ -158,6 +157,15 @@ OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \ cdr.o tdd.o acl.o rtp.o manager.o asterisk.o ast_expr.o \ dsp.o chanvars.o indications.o autoservice.o db.o privacy.o \ astmm.o enum.o srv.o dns.o +ifeq (${OSARCH},Darwin) +OBJS+=poll.o dlfcn.o +ASTLINK=-Wl,-dynamic +SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace +else +ASTLINK=-Wl,-E +SOLINK=-shared -Xlinker -x +endif + CC=gcc INSTALL=install @@ -224,7 +232,7 @@ stdtime/libtime.a: FORCE fi asterisk: editline/libedit.a db1-ast/libdb1.a stdtime/libtime.a $(OBJS) - $(CC) $(DEBUG) -o asterisk -Wl,-E $(OBJS) $(LIBS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a + $(CC) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a subdirs: for x in $(SUBDIRS); do $(MAKE) -C $$x || exit 1 ; done diff --git a/apps/Makefile b/apps/Makefile index be910601f..27d4494a0 100755 --- a/apps/Makefile +++ b/apps/Makefile @@ -15,7 +15,7 @@ USE_MYSQL_VM_INTERFACE=0 USE_POSTGRES_VM_INTERFACE=0 #APPS=app_dial.so app_playback.so app_directory.so app_intercom.so app_mp3.so -APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_intercom.so app_mp3.so \ +APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\ app_system.so app_echo.so app_record.so app_image.so app_url.so app_disa.so \ app_agi.so app_qcall.so app_adsiprog.so app_getcpeid.so app_milliwatt.so \ app_zapateller.so app_datetime.so app_setcallerid.so app_festival.so \ @@ -26,6 +26,10 @@ APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_intercom. app_enumlookup.so app_voicemail2.so app_transfer.so app_setcidnum.so app_cdr.so \ app_hasnewvoicemail.so app_sayunixtime.so app_cut.so +ifneq (${OSARCH},Darwin) +APPS+=app_intercom.so +endif + #APPS+=app_sql_postgres.so #APPS+=app_sql_odbc.so @@ -44,10 +48,10 @@ clean: rm -f *.so *.o look .depend %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< app_rpt.so : app_rpt.o - $(CC) -shared -Xlinker -x -o $@ $< -ltonezone + $(CC) $(SOLINK) -o $@ $< -ltonezone install: all for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done @@ -56,16 +60,16 @@ app_todd.o: app_todd.c gcc -pipe -O6 -g -Iinclude -I../include -D_REENTRANT -march=i586 -DDO_CRASH -c -o app_todd.o app_todd.c app_todd.so: app_todd.o - $(CC) -shared -Xlinker -x -o $@ $< -L/usr/local/ssl/lib -lssl -lcrypto + $(CC) $(SOLINK) -o $@ $< -L/usr/local/ssl/lib -lssl -lcrypto app_voicemail2.so : app_voicemail2.o ifeq ($(USE_MYSQL_VM_INTERFACE),1) - $(CC) -shared -Xlinker -x -o $@ $(MLFLAGS) $< -lmysqlclient -lz + $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lmysqlclient -lz else ifeq ($(USE_POSTGRES_VM_INTERFACE),1) - $(CC) -shared -Xlinker -x -o $@ $(MLFLAGS) $< -lpq + $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq else - $(CC) -shared -Xlinker -x -o $@ $(MLFLAGS) $< + $(CC) $(SOLINK) -o $@ $(MLFLAGS) $< endif endif @@ -73,10 +77,10 @@ app_sql_postgres.o: app_sql_postgres.c $(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c app_sql_postgres.so: app_sql_postgres.o - $(CC) -shared -Xlinker -x -o $@ $< -L/usr/local/pgsql/lib -lpq + $(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq app_sql_odbc.so: app_sql_odbc.o - $(CC) -shared -Xlinker -x -o $@ $< -lodbc + $(CC) $(SOLINK) -o $@ $< -lodbc look: look.c gcc -pipe -O6 -g look.c -o look -lncurses diff --git a/cdr/Makefile b/cdr/Makefile index 64b21f7fc..51afa66dd 100755 --- a/cdr/Makefile +++ b/cdr/Makefile @@ -40,14 +40,14 @@ clean: rm -f *.so *.o .depend %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< ifneq ($(wildcard .depend),) include .depend endif cdr_pgsql.so: cdr_pgsql.o - $(CC) -shared -Xlinker -x -o $@ $< -lpq -lz $(MLFLAGS) + $(CC) $(SOLINK) -o $@ $< -lpq -lz $(MLFLAGS) depend: .depend diff --git a/channels/Makefile b/channels/Makefile index 2ba9b7041..b35569a3c 100755 --- a/channels/Makefile +++ b/channels/Makefile @@ -14,7 +14,7 @@ OSARCH=$(shell uname -s) CHANNEL_LIBS=chan_modem.so chan_iax.so chan_sip.so \ - chan_modem_aopen.so chan_oss.so \ + chan_modem_aopen.so \ chan_modem_bestdata.so chan_modem_i4l.so \ chan_agent.so chan_mgcp.so chan_iax2.so \ chan_local.so chan_skinny.so @@ -24,6 +24,10 @@ CHANNEL_LIBS=chan_modem.so chan_iax.so chan_sip.so \ # #CHANNEL_LIBS+=chan_vofr +ifneq (${OSARCH},Darwin) +CHANNEL_LIBS+=chan_oss.so +endif + CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so) CHANNEL_LIBS+=$(shell [ -f h323/libchanh323.a ] && echo chan_h323.so) @@ -71,7 +75,7 @@ clean: rm -f busy.h ringtone.h gentone gentone-ulaw %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< ifneq ($(wildcard .depend),) include .depend @@ -93,35 +97,35 @@ chan_oss.o: chan_oss.c busy.h ringtone.h ifeq (${OSARCH},OpenBSD) chan_oss.so: chan_oss.o - $(CC) -shared -Xlinker -x -o $@ chan_oss.o -lossaudio + $(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio endif chan_iax2.so: chan_iax2.o iax2-parser.o - $(CC) -shared -Xlinker -x -o $@ chan_iax2.o iax2-parser.o + $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o chan_zap.o: $(CHANZAP) $(CC) -c $(CFLAGS) -o chan_zap.o $(CHANZAP) chan_zap.so: chan_zap.o - $(CC) -shared -Xlinker -x -o $@ $< $(ZAPPRI) $(ZAPR2) -ltonezone $(ZAPLIB) + $(CC) $(SOLINK) -o $@ $< $(ZAPPRI) $(ZAPR2) -ltonezone $(ZAPLIB) chan_alsa.o: $(ALSA_SRC) chan_alsa.so: chan_alsa.o - $(CC) -shared -Xlinker -x -o $@ $< -lasound -lm -ldl + $(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl chan_nbs.so: chan_nbs.o - $(CC) -shared -Xlinker -x -o $@ $< -lnbs + $(CC) $(SOLINK) -o $@ $< -lnbs chan_vpb.o: chan_vpb.c $(CXX) -c $(CFLAGS) -o $@ chan_vpb.c chan_vpb.so: chan_vpb.o - $(CXX) -shared -Xlinker -x -o $@ $< -lvpb -lpthread -lm -ldl + $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl chan_h323.so: chan_h323.o h323/libchanh323.a - $(CC) -shared -Xlinker -x -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat + $(CC) $(SOLINK) -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat #chan_modem.so : chan_modem.o diff --git a/codecs/Makefile b/codecs/Makefile index 75bcced3c..a86709da8 100755 --- a/codecs/Makefile +++ b/codecs/Makefile @@ -68,31 +68,31 @@ $(LIBILBC): $(MAKE) -C ilbc all codec_ilbc.so: codec_ilbc.o $(LIBILBC) - $(CC) -shared -Xlinker -x -o $@ $< $(LIBILBC) + $(CC) $(SOLINK) -o $@ $< $(LIBILBC) codec_g723_1.so : codec_g723_1.o $(LIBG723) - $(CC) -shared -Xlinker -x -o $@ $< $(LIBG723) + $(CC) $(SOLINK) -o $@ $< $(LIBG723) codec_g723_1b.o : codec_g723_1.c $(CC) -c -o $@ $(CFLAGS) -DANNEX_B -Dsingle $< codec_g723_1b.so : codec_g723_1b.o $(LIBG723B) - $(CC) -shared -Xlinker -x -o $@ $< $(LIBG723B) -lm + $(CC) $(SOLINK) -o $@ $< $(LIBG723B) -lm codec_gsm.so: codec_gsm.o $(LIBGSMT) - $(CC) -shared -Xlinker -x -o $@ $< $(LIBGSM) + $(CC) $(SOLINK) -o $@ $< $(LIBGSM) codec_speex.so: codec_speex.o - $(CC) -shared -Xlinker -x -o $@ $< $(LIBSPEEX) + $(CC) $(SOLINK) -o $@ $< $(LIBSPEEX) codec_lpc10.so: codec_lpc10.o $(LIBLPC10) - $(CC) -shared -Xlinker -x -o $@ $< $(LIBLPC10) -lm + $(CC) $(SOLINK) -o $@ $< $(LIBLPC10) -lm codec_mp3_d.so: codec_mp3_d.o $(LIBMP3) - $(CC) -lm -shared -Xlinker -x -o $@ $< $(LIBMP3) + $(CC) -lm $(SOLINK) -o $@ $< $(LIBMP3) %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< include .depend diff --git a/codecs/lpc10/Makefile b/codecs/lpc10/Makefile index 83ffc225b..5e04d5f73 100755 --- a/codecs/lpc10/Makefile +++ b/codecs/lpc10/Makefile @@ -26,9 +26,11 @@ CFLAGS = $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) -fPIC #CFLAGS+= $(shell if uname -m | grep -q 86; then echo "-mpentium" ; fi) #fix for PPC processors +ifneq ($(OSARCH),Darwin) ifneq ($(PROC),ppc) CFLAGS+= -march=$(PROC) endif +endif LIB = $(LIB_TARGET_DIR)/liblpc10.a diff --git a/codecs/lpc10/lpc10.h b/codecs/lpc10/lpc10.h index 02c59b1e4..0f751c6de 100755 --- a/codecs/lpc10/lpc10.h +++ b/codecs/lpc10/lpc10.h @@ -1,8 +1,11 @@ /* $Log$ -Revision 1.16 2003/04/23 19:13:35 markster -More OpenBSD patches +Revision 1.17 2003/10/26 18:50:49 markster +Make it build and run on MacOS X + +Revision 1.3 2003/10/26 18:50:49 markster +Make it build and run on MacOS X Revision 1.2 2003/04/23 19:13:35 markster More OpenBSD patches @@ -49,6 +52,10 @@ typedef int INT16; typedef long INT32; #endif +#if defined(__APPLE__) +typedef short INT16; +typedef int INT32; +#endif /* The initial values for every member of this structure is 0, except diff --git a/codecs/mp3/Makefile b/codecs/mp3/Makefile index f3b0c4c1a..4ee773118 100755 --- a/codecs/mp3/Makefile +++ b/codecs/mp3/Makefile @@ -1,7 +1,8 @@ # # LMC section -CFLAGS+= -I../include -Iinclude -O3 -march=$(PROC) -funroll-loops -Wall -Wno-missing-prototypes -Wno-missing-declarations -g -fPIC +CFLAGS+= -I../include -Iinclude -O3 -funroll-loops -Wall -Wno-missing-prototypes -Wno-missing-declarations -g -fPIC + RANLIB=ranlib # the XING decoder objs and dependencies: diff --git a/db1-ast/db/db.c b/db1-ast/db/db.c index 0bee00bdb..ab739ed78 100755 --- a/db1-ast/db/db.c +++ b/db1-ast/db/db.c @@ -75,9 +75,11 @@ dbopen(fname, flags, mode, type, openinfo) return (NULL); } #undef dbopen +#ifndef __APPLE__ #define weak_alias(original, alias) \ asm (".weak " #alias "\n" #alias " = " #original); weak_alias (__dbopen, dbopen) +#endif static int __dberr __P((void)) diff --git a/db1-ast/include/db.h b/db1-ast/include/db.h index 2a279b5aa..06ae36b82 100755 --- a/db1-ast/include/db.h +++ b/db1-ast/include/db.h @@ -51,7 +51,7 @@ #ifndef __BIT_TYPES_DEFINED__ #define __BIT_TYPES_DEFINED__ -#ifndef __FreeBSD__ +#if (!defined(__FreeBSD__) && !defined(__APPLE__)) typedef __signed char int8_t; typedef unsigned char u_int8_t; typedef short int16_t; diff --git a/db1-ast/mpool/mpool.c b/db1-ast/mpool/mpool.c index 80b02b93b..b09f801f5 100755 --- a/db1-ast/mpool/mpool.c +++ b/db1-ast/mpool/mpool.c @@ -316,6 +316,8 @@ mpool_sync(mp) #undef mpool_put #undef mpool_close #undef mpool_sync + +#ifndef __APPLE__ #define weak_alias(original, alias) \ asm (".weak " #alias "\n" #alias " = " #original); weak_alias (__mpool_open, mpool_open) @@ -325,6 +327,7 @@ weak_alias (__mpool_get, mpool_get) weak_alias (__mpool_put, mpool_put) weak_alias (__mpool_close, mpool_close) weak_alias (__mpool_sync, mpool_sync) +#endif /* * mpool_bkt diff --git a/dns.c b/dns.c index 74a3f320d..7f8615424 100755 --- a/dns.c +++ b/dns.c @@ -178,10 +178,12 @@ int ast_search_dns(void *context, else ret = 1; } -#ifdef __Linux__ +#if defined(__Linux__) res_nclose(&srvstate); #else +#ifndef __APPLE__ res_close(); +#endif #endif return ret; } diff --git a/enum.c b/enum.c index ce5310f48..2fac1bd47 100755 --- a/enum.c +++ b/enum.c @@ -30,6 +30,11 @@ #include #include +#ifdef __APPLE__ +#undef T_NAPTR +#define T_NAPTR 35 +#endif + #define TOPLEV "e164.arpa." static struct enum_search { diff --git a/formats/Makefile b/formats/Makefile index 036118c5b..58c649ba7 100755 --- a/formats/Makefile +++ b/formats/Makefile @@ -30,14 +30,14 @@ clean: rm -f *.so *.o .depend %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< ifneq ($(wildcard .depend),) include .depend endif format_mp3.so : format_mp3.o - $(CC) -shared -Xlinker -x -o $@ $< -lm + $(CC) $(SOLINK) -o $@ $< -lm install: all for x in $(FORMAT_LIBS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done diff --git a/include/asterisk/dlfcn-compat.h b/include/asterisk/dlfcn-compat.h new file mode 100755 index 000000000..40dfd0578 --- /dev/null +++ b/include/asterisk/dlfcn-compat.h @@ -0,0 +1,77 @@ +/* +Copyright (c) 2002 Jorge Acereda & + Peter O'Gorman + +Portions may be copyright others, see the AUTHORS file included with this +distribution. + +Maintained by Peter O'Gorman + +Bug Reports and other queries should go to + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +#ifndef _DLFCN_H_ +#define _DLFCN_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (__GNUC__) && __GNUC__ > 3 +#define dl_restrict __restrict +#else +#define dl_restrict +#endif +/* + * Structure filled in by dladdr(). + */ + +typedef struct dl_info { + const char *dli_fname; /* Pathname of shared object */ + void *dli_fbase; /* Base address of shared object */ + const char *dli_sname; /* Name of nearest symbol */ + void *dli_saddr; /* Address of nearest symbol */ +} Dl_info; + +extern void * dlopen(const char *path, int mode); +extern void * dlsym(void * dl_restrict handle, const char * dl_restrict symbol); +extern const char * dlerror(void); +extern int dlclose(void * handle); +extern int dladdr(const void * dl_restrict, Dl_info * dl_restrict); + +#define RTLD_LAZY 0x1 +#define RTLD_NOW 0x2 +#define RTLD_LOCAL 0x4 +#define RTLD_GLOBAL 0x8 +#define RTLD_NOLOAD 0x10 +#define RTLD_NODELETE 0x80 + +/* + * Special handle arguments for dlsym(). + */ +#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */ +#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ + +#ifdef __cplusplus +} +#endif + +#endif /* _DLFCN_H_ */ diff --git a/include/asterisk/io.h b/include/asterisk/io.h index 4b49d7274..56fdd8aeb 100755 --- a/include/asterisk/io.h +++ b/include/asterisk/io.h @@ -14,7 +14,11 @@ #ifndef _IO_H #define _IO_H +#ifdef __APPLE__ +#include +#else #include /* For POLL* constants */ +#endif #if defined(__cplusplus) || defined(c_plusplus) extern "C" { diff --git a/include/asterisk/poll-compat.h b/include/asterisk/poll-compat.h new file mode 100755 index 000000000..0ea189f4a --- /dev/null +++ b/include/asterisk/poll-compat.h @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------*\ + $Id$ + + NAME + + poll - select(2)-based poll() emulation function for BSD systems. + + SYNOPSIS + #include "poll.h" + + struct pollfd + { + int fd; + short events; + short revents; + } + + int poll (struct pollfd *pArray, unsigned long n_fds, int timeout) + + DESCRIPTION + + This file, and the accompanying "poll.c", implement the System V + poll(2) system call for BSD systems (which typically do not provide + poll()). Poll() provides a method for multiplexing input and output + on multiple open file descriptors; in traditional BSD systems, that + capability is provided by select(). While the semantics of select() + differ from those of poll(), poll() can be readily emulated in terms + of select() -- which is how this function is implemented. + + REFERENCES + Stevens, W. Richard. Unix Network Programming. Prentice-Hall, 1990. + + NOTES + 1. This software requires an ANSI C compiler. + + LICENSE + + This software is released under the following license: + + Copyright (c) 1995-2002 Brian M. Clapper + All rights reserved. + + Redistribution and use in source and binary forms are + permitted provided that: (1) source distributions retain + this entire copyright notice and comment; (2) modifications + made to the software are prominently mentioned, and a copy + of the original software (or a pointer to its location) are + included; and (3) distributions including binaries display + the following acknowledgement: "This product includes + software developed by Brian M. Clapper " + in the documentation or other materials provided with the + distribution. The name of the author may not be used to + endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE. + + Effectively, this means you can do what you want with the software + except remove this notice or take advantage of the author's name. + If you modify the software and redistribute your modified version, + you must indicate that your version is a modification of the + original, and you must provide either a pointer to or a copy of the + original. +\*---------------------------------------------------------------------------*/ + +#ifndef _POLL_EMUL_H_ +#define _POLL_EMUL_H_ + +#define POLLIN 0x01 +#define POLLPRI 0x02 +#define POLLOUT 0x04 +#define POLLERR 0x08 +#define POLLHUP 0x10 +#define POLLNVAL 0x20 + +struct pollfd +{ + int fd; + short events; + short revents; +}; + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if (__STDC__ > 0) || defined(__cplusplus) +extern int poll (struct pollfd *pArray, unsigned long n_fds, int timeout); +#else +extern int poll(); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _POLL_EMUL_H_ */ diff --git a/io.c b/io.c index 0c0eea47e..d1d8edb13 100755 --- a/io.c +++ b/io.c @@ -12,7 +12,6 @@ */ #include -#include #include #include #include diff --git a/loader.c b/loader.c index 5e7efce5f..1bb17ed92 100755 --- a/loader.c +++ b/loader.c @@ -25,7 +25,11 @@ #include #include #include +#ifdef __APPLE__ +#include +#else #include +#endif #include #include #include "asterisk.h" diff --git a/pbx/Makefile b/pbx/Makefile index 0ce439696..216d86d27 100755 --- a/pbx/Makefile +++ b/pbx/Makefile @@ -40,7 +40,7 @@ pbx_gtkconsole.o: pbx_gtkconsole.c $(CC) $(CFLAGS) $(GTK_FLAGS) -c -o $@ $< pbx_gtkconsole.so: pbx_gtkconsole.o - $(CC) -shared -Xlinker -x -o $@ $< $(GTK_LIBS) + $(CC) $(SOLINK) -o $@ $< $(GTK_LIBS) pbx_kdeconsole.o: pbx_kdeconsole.cc pbx_kdeconsole.moc $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $< @@ -49,13 +49,13 @@ pbx_kdeconsole_main.o: pbx_kdeconsole_main.cc pbx_kdeconsole.h $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $< pbx_kdeconsole.so: $(KDE_CONSOLE_OBJS) - $(CC) -shared -Xlinker -x -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS) + $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS) %.moc : %.h $(MOC) $< -o $@ %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< ifneq ($(wildcard .depend),) include .depend diff --git a/res/Makefile b/res/Makefile index b7434bd8f..9ba52b213 100755 --- a/res/Makefile +++ b/res/Makefile @@ -28,13 +28,13 @@ install: all for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done res_crypto.so: res_crypto.o - $(CC) -shared -Xlinker -x -o $@ $< $(CRYPTO_LIBS) + $(CC) $(SOLINK) -o $@ $< $(CRYPTO_LIBS) clean: rm -f *.so *.o .depend %.so : %.o - $(CC) -shared -Xlinker -x -o $@ $< + $(CC) $(SOLINK) -o $@ $< ifneq ($(wildcard .depend),) include .depend diff --git a/srv.c b/srv.c index 9a4b7a736..19f62851f 100755 --- a/srv.c +++ b/srv.c @@ -25,6 +25,11 @@ #include #include +#ifdef __APPLE__ +#undef T_SRV +#define T_SRV 33 +#endif + struct srv { unsigned short priority; unsigned short weight; diff --git a/stdtime/localtime.c b/stdtime/localtime.c index 84ea38f6b..1ad9bf6c9 100755 --- a/stdtime/localtime.c +++ b/stdtime/localtime.c @@ -1187,7 +1187,7 @@ register struct tm * const tmp; #endif /* defined TM_GMTOFF */ } -char * +static char * ctime(timep) const time_t * const timep; { @@ -1200,7 +1200,7 @@ const time_t * const timep; return asctime(localtime(timep)); } -char * +static char * ctime_r(timep, buf) const time_t * const timep; char *buf; -- cgit v1.2.3