? Makefile.rich ? sofiles ? channels/Makefile.rich ? channels/h323/ast_h323.sym ? channels/h323/ast_h323.txt Index: Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/Makefile,v retrieving revision 1.93 diff -u -r1.93 Makefile --- Makefile 5 Jun 2004 06:54:52 -0000 1.93 +++ Makefile 10 Jun 2004 04:51:22 -0000 @@ -20,15 +20,11 @@ ifeq (${OSARCH},Linux) PROC=$(shell uname -m) -else -ifeq (${OSARCH},FreeBSD) -PROC=$(shell uname -m) -else -ifeq (${OSARCH},OpenBSD) -PROC=$(shell uname -m) -endif endif +ifeq ($(findstring BSD,${OSARCH}),BSD) +PROC=$(shell uname -m) endif + # Pentium Pro Optimize #PROC=i686 @@ -111,9 +107,16 @@ CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi) CFLAGS+=$(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi) ifeq (${OSARCH},FreeBSD) -CFLAGS+=-pthread +# openh323 isn't linking correctly yet +#OPENH323DIR=/usr/ports/net/openh323/work/openh323 +H323LIBNAME=h323_FreeBSD_x86_r_s +PWLIBDIR=/usr/ports/devel/pwlib/work/pwlib +PWLIBNAME=pt_FreeBSD_x86_r_s +OSVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk) +CFLAGS+=$(if ${OSVERSION}<500016,-D_THREAD_SAFE) +LIBS+=$(if ${OSVERSION}<502102,-lc_r,-pthread) INCLUDE+=-I/usr/local/include -endif +endif # FreeBSD ifeq (${OSARCH},OpenBSD) CFLAGS+=-pthread endif @@ -151,14 +154,6 @@ ifeq (${OSARCH},Linux) LIBS=-ldl -lpthread endif -ifeq (${OSARCH},OpenBSD) -LIBS=-pthread -else -ifeq (${OSARCH},FreeBSD) -LIBS=-pthread -else -endif -endif LIBS+=-lncurses -lm ifeq (${OSARCH},Linux) LIBS+=-lresolv #-lnjamd Index: db.c =================================================================== RCS file: /usr/cvsroot/asterisk/db.c,v retrieving revision 1.8 diff -u -r1.8 db.c --- db.c 9 Jun 2004 01:45:07 -0000 1.8 +++ db.c 10 Jun 2004 04:51:23 -0000 @@ -33,7 +33,11 @@ #include #include #include +#if defined(__FreeBSD__) +#include +#else #include "db1-ast/include/db.h" +#endif #include "asterisk.h" #include "astconf.h" Index: agi/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/agi/Makefile,v retrieving revision 1.7 diff -u -r1.7 Makefile --- agi/Makefile 4 May 2004 01:46:01 -0000 1.7 +++ agi/Makefile 10 Jun 2004 04:51:23 -0000 @@ -22,10 +22,10 @@ for x in $(AGIS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(AGI_DIR) ; done eagi-test: eagi-test.o - $(CC) -o eagi-test eagi-test.o - + $(CC) $(CFLAGS) -o eagi-test eagi-test.o + eagi-sphinx-test: eagi-sphinx-test.o - $(CC) -o eagi-sphinx-test eagi-sphinx-test.o + $(CC) $(CFLAGS) -o eagi-sphinx-test eagi-sphinx-test.o clean: rm -f *.so *.o look .depend eagi-test eagi-sphinx-test Index: apps/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/apps/Makefile,v retrieving revision 1.66 diff -u -r1.66 Makefile --- apps/Makefile 4 Jun 2004 15:44:14 -0000 1.66 +++ apps/Makefile 10 Jun 2004 04:51:23 -0000 @@ -86,7 +86,7 @@ $(CC) $(SOLINK) -o $@ $< -lodbc look: look.c - gcc -pipe -O6 -g look.c -o look -lncurses + $(CC) $(CFLAGS) look.c -o look -lncurses ifneq ($(wildcard .depend),) include .depend Index: channels/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/channels/Makefile,v retrieving revision 1.54 diff -u -r1.54 Makefile --- channels/Makefile 4 Jun 2004 15:44:14 -0000 1.54 +++ channels/Makefile 10 Jun 2004 04:51:23 -0000 @@ -38,12 +38,13 @@ CFLAGS+=-I/usr/local/include PTLIB=-lpt_OpenBSD_x86_r H323LIB=-lh323_OpenBSD_x86_r -CHANH323LIB=-L/usr/local/lib -else +SOLINK=-L/usr/local/lib +endif +ifeq (${OSARCH},Linux) MYSQLLIB=-L/usr/lib/mysql -lmysqlclient PTLIB=-lpt_linux_x86_r H323LIB=-lh323_linux_x86_r -CHANH323LIB=-ldl +SOLINK+=-ldl -lpthread endif ifneq (${OSARCH},Darwin) @@ -52,7 +53,15 @@ ifeq (${OSARCH},FreeBSD) SOLINK+=-L/usr/local/lib CHANNEL_LIBS+=chan_oss.so +LOCALBASE=/usr/local +HAS_OPENH323=$(shell if [ -f $(OPENH323DIR)/lib/lib$(H323LIBNAME).a ]; then echo "Yes"; fi) +HAS_PWLIB=$(shell if [ -f $(PWLIBDIR)/lib/lib$(PWLIBNAME).a ]; then echo "Yes"; fi) +ifeq (${HAS_OPENH323}${HAS_PWLIB},YesYes) +CHANNEL_LIBS+=chan_h323.so +H323LIB=-l$(H323LIBNAME) +PTLIB=-l$(PWLIBNAME) endif +endif #FreeBSD CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so) CHANNEL_LIBS+=$(shell [ -f /usr/local/include/ixjuser.h ] && echo chan_phone.so) @@ -132,8 +141,11 @@ chan_oss.o: chan_oss.c busy.h ringtone.h ifeq (${OSARCH},OpenBSD) +OSS_LIB=-lossaudio +endif +ifeq ($(findstring BSD,${OSARCH}),BSD) chan_oss.so: chan_oss.o - $(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio + $(CC) $(SOLINK) -o $@ chan_oss.o $(OSS_LIB) endif chan_iax2.so: chan_iax2.o iax2-parser.o @@ -167,7 +179,7 @@ chan_alsa.so: chan_alsa.o - $(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl + $(CC) $(SOLINK) -o $@ $< -lasound -lm chan_nbs.so: chan_nbs.o $(CC) $(SOLINK) -o $@ $< -lnbs @@ -176,11 +188,13 @@ $(CXX) -c $(CFLAGS) -o $@ chan_vpb.c chan_vpb.so: chan_vpb.o - $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl + $(CXX) $(SOLINK) -o $@ $< -lvpb -lm chan_h323.so: chan_h323.o h323/libchanh323.a - $(CC) $(SOLINK) -o $@ $< h323/libchanh323.a $(CHANH323LIB) -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lpthread -lcrypto -lssl -lexpat + $(CC) $(SOLINK) -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lcrypto -lssl -lexpat +h323/libchanh323.a h323/ast_h323.o: + $(MAKE) -C h323 all #chan_modem.so : chan_modem.o # $(CC) -rdynamic -shared -Xlinker -x -o $@ $< Index: channels/chan_h323.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_h323.c,v retrieving revision 1.56 diff -u -r1.56 chan_h323.c --- channels/chan_h323.c 9 Jun 2004 01:45:07 -0000 1.56 +++ channels/chan_h323.c 10 Jun 2004 04:51:24 -0000 @@ -55,7 +55,7 @@ #include #include #include -#ifdef __OpenBSD__ +#if defined(__OpenBSD__) || defined(__FreeBSD__) #include #ifndef IPTOS_MINCOST #define IPTOS_MINCOST 0x02 @@ -124,17 +124,17 @@ static struct ast_user_list { struct oh323_user *users; ast_mutex_t lock; -} userl = { NULL, AST_MUTEX_INITIALIZER }; +} userl; static struct ast_peer_list { struct oh323_peer *peers; ast_mutex_t lock; -} peerl = { NULL, AST_MUTEX_INITIALIZER }; +} peerl; static struct ast_alias_list { struct oh323_alias *aliases; ast_mutex_t lock; -} aliasl = { NULL, AST_MUTEX_INITIALIZER }; +} aliasl; /** Asterisk RTP stuff*/ static struct sched_context *sched; @@ -186,8 +186,10 @@ } if (!cur) { ast_log(LOG_WARNING, "%p is not in list?!?! \n", cur); - } else + } else { + ast_mutex_destroy(&p->lock); free(p); + } } static void oh323_destroy(struct oh323_pvt *p) @@ -1811,10 +1813,17 @@ set_rtp_peer: oh323_set_rtp_peer, }; +static int initialized = 0; int load_module() { int res; + if ( ! initialized ) { + initialized++; + ast_mutex_init(&iflock); + ast_mutex_init(&usecnt_lock); + ast_mutex_init(&monlock); + } res = reload_config(); @@ -1945,6 +1954,13 @@ /* unregister channel type */ ast_channel_unregister(type); + if ( initialized ) { + initialized = 0; + ast_mutex_destroy(&iflock); + ast_mutex_destroy(&usecnt_lock); + ast_mutex_destroy(&monlock); + } + return 0; } Index: channels/chan_iax2.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v retrieving revision 1.150 diff -u -r1.150 chan_iax2.c --- channels/chan_iax2.c 9 Jun 2004 01:45:07 -0000 1.150 +++ channels/chan_iax2.c 10 Jun 2004 04:51:30 -0000 @@ -6859,11 +6859,15 @@ ast_log(LOG_ERROR, "Out of memory\n"); return -1; } - - ast_mutex_init(&iaxq.lock); - ast_mutex_init(&userl.lock); - ast_mutex_init(&peerl.lock); - + { + static int initialized = 0; + if ( ! initialized ) { + initialized++; + ast_mutex_init(&iaxq.lock); + ast_mutex_init(&userl.lock); + ast_mutex_init(&peerl.lock); + } + } ast_cli_register(&cli_show_users); ast_cli_register(&cli_show_channels); ast_cli_register(&cli_show_peers); Index: channels/h323/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/channels/h323/Makefile,v retrieving revision 1.15 diff -u -r1.15 Makefile --- channels/h323/Makefile 28 Apr 2004 21:06:29 -0000 1.15 +++ channels/h323/Makefile 10 Jun 2004 04:51:30 -0000 @@ -19,8 +19,15 @@ # # This needs to be updated to deal with more than just little endian machines # -CFLAGS += -march=$(shell uname -m) -DPBYTE_ORDER=PLITTLE_ENDIAN +OSARCH=$(shell uname -s) +ifneq (${OSARCH},FreeBSD) +CFLAGS += -march=$(shell uname -m) +endif +CFLAGS += -DPBYTE_ORDER=PLITTLE_ENDIAN +ifeq (${OSARCH},Linux) +CHANH323LIB=-ldl +endif ############################################# # @@ -30,7 +37,7 @@ # Janus release directives, comment below if your brave enough for Janus #OSARCH=$(shell uname -s) #CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS -#CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations +#CFLAGS += -pipe -Wall -fPIC #CFLAGS += -D_REENTRANT -D_GNU_SOURCE #CFLAGS += -I../../include #CFLAGS += -I$(PWLIBDIR)/include @@ -38,16 +45,26 @@ # Pre Janus release directives CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS -CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations +CFLAGS += -pipe -Wall -fPIC ifeq (${OSARCH},Linux) CFLAGS += -DP_LINUX +LIBS+=-lpthread +endif +ifeq (${OSARCH},FreeBSD) +OSVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk) +CFLAGS += -DP_FREEBSD=$(OSVERSION) +CFLAGS += -pthread endif CFLAGS += -D_REENTRANT -D_GNU_SOURCE CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA CFLAGS += -I../../include CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include -CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes -Wno-missing-declarations +CFLAGS += -I$(OPENH323DIR)/include +ifeq (${OSARCH},Linux) +CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations +endif +LIBS+= -lcrypto -lssl -lexpat all: libchanh323.a @@ -59,19 +76,19 @@ ast_h323.o: ast_h323.cpp - g++ -g -c -fno-rtti -o $@ $(CFLAGS) $< + $(CXX) -g -c -fno-rtti -o $@ $(CFLAGS) $< libchanh323.a: ast_h323.o ar cr libchanh323.a ast_h323.o chan_h323.so: - g++ -g -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat + $(CXX) -g -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib $(CHANH323LIB) chan_h323_d.so: chan_h323.o ast_h323.o - g++ -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_d -L$(OPENH323DIR)/lib -lh323_linux_x86_d -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat + $(CXX) -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_d -L$(OPENH323DIR)/lib -lh323_linux_x86_d -L/usr/lib $(CHANH323LIB) chan_h323_s.so: chan_h323.o ast_h323.o - g++ -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r_s -L$(OPENH323DIR)/lib -lh323_linux_x86_r_s -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat + $(CXX) -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib -lpt_linux_x86_r_s -L$(OPENH323DIR)/lib -lh323_linux_x86_r_s -L/usr/lib $(CHANH323LIB) clean: rm -f *.o *.so core.* libchanh323.a Index: codecs/gsm/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/codecs/gsm/Makefile,v retrieving revision 1.13 diff -u -r1.13 Makefile --- codecs/gsm/Makefile 15 Mar 2004 16:51:58 -0000 1.13 +++ codecs/gsm/Makefile 10 Jun 2004 04:51:31 -0000 @@ -64,8 +64,8 @@ # CC = /usr/lang/acc # CCFLAGS = -c -O -CC = gcc $(OPTIMIZE) -fomit-frame-pointer -CCFLAGS += -c -DNeedFunctionPrototypes=1 -funroll-loops -fPIC +CC ?= gcc +CCFLAGS += -c -DNeedFunctionPrototypes=1 -funroll-loops -fPIC $(OPTIMIZE) -fomit-frame-pointer LD = $(CC) @@ -150,7 +150,7 @@ DEBUG = -DNDEBUG ######### Remove -DNDEBUG to enable assertions. -CFLAGS = $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) \ +CFLAGS += $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) \ $(LTP_CUT) $(WAV49) $(K6OPT) $(CCINC) -I$(INC) ######### It's $(CC) $(CFLAGS) Index: codecs/lpc10/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/codecs/lpc10/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- codecs/lpc10/Makefile 15 Mar 2004 16:51:58 -0000 1.10 +++ codecs/lpc10/Makefile 10 Jun 2004 04:51:31 -0000 @@ -3,7 +3,7 @@ # # default C compiler -CC= gcc +CC?= gcc # # These definitions for CFLAGS and LIB_TARGET_DIR are used when one @@ -22,11 +22,12 @@ # WARNINGS = -Wall -Wno-comment -Wno-error -CFLAGS = $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) -fPIC +CFLAGS += $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) -fPIC #CFLAGS+= $(shell if uname -m | grep -q 86; then echo "-mpentium" ; fi) #fix for PPC processors and ALPHA too ifneq ($(OSARCH),Darwin) +ifneq ($(OSARCH),FreeBSD) ifneq ($(PROC),ppc) ifneq ($(PROC),x86_64) ifneq ($(PROC),alpha) @@ -35,6 +36,7 @@ endif endif endif +endif LIB = $(LIB_TARGET_DIR)/liblpc10.a