diff --git a/Makefile b/Makefile index de525120e07bbd2b1a236f376d5159799f9c91db..cf131e732fc36d335380d77ec7533e5f86083b4e 100755 --- a/Makefile +++ b/Makefile @@ -23,6 +23,10 @@ PROC=$(shell uname -m) else ifeq (${OSARCH},FreeBSD) PROC=$(shell uname -m) +else +ifeq (${OSARCH},OpenBSD) +PROC=$(shell uname -m) +endif endif endif # Pentium Pro Optimize diff --git a/aesopt.h b/aesopt.h index 799c8a694d255027b4bdba5fde9ef79a7be16a9a..936ccd4ca70a470c1ebd3a14eb31bc9f2e32e5cc 100755 --- a/aesopt.h +++ b/aesopt.h @@ -148,7 +148,10 @@ /* PLATFORM SPECIFIC INCLUDES */ -#if defined( __FreeBSD__ ) || defined( __OpenBSD__ ) +#if defined( __OpenBSD__ ) +# include <machine/types.h> +# include <sys/endian.h> +#elif defined( __FreeBSD__ ) # include <sys/types.h> # include <sys/endian.h> #elif defined( BSD ) && ( BSD >= 199103 ) diff --git a/channels/Makefile b/channels/Makefile index fea205ebfccef177005e8755a11db064d6ce4587..66964ffcc6eee54a88512dfb3ab58f4cf10a9764 100755 --- a/channels/Makefile +++ b/channels/Makefile @@ -33,6 +33,19 @@ CHANNEL_LIBS=chan_modem.so chan_sip.so \ # #CHANNEL_LIBS+=chan_vofr +ifeq (${OSARCH},OpenBSD) +MYSQLLIB=-L/usr/local/lib/mysql -lmysqlclient +CFLAGS+=-I/usr/local/include +PTLIB=-lpt_OpenBSD_x86_r +H323LIB=-lh323_OpenBSD_x86_r +CHANH323LIB=-L/usr/local/lib +else +MYSQLLIB=-L/usr/lib/mysql -lmysqlclient +PTLIB=-lpt_linux_x86_r +H323LIB=-lh323_linux_x86_r +CHANH323LIB=-ldl +endif + ifneq (${OSARCH},Darwin) CHANNEL_LIBS+=chan_oss.so endif @@ -117,14 +130,14 @@ endif chan_iax2.so: chan_iax2.o iax2-parser.o ifeq ($(USE_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o -L/usr/lib/mysql -lmysqlclient -lz + $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o $(MYSQLLIB) -lz else $(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o endif chan_iax.so: chan_iax.o ifeq ($(USE_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_iax.o -L/usr/lib/mysql -lmysqlclient -lz + $(CC) $(SOLINK) -o $@ chan_iax.o $(MYSQLLIB) -lz else $(CC) $(SOLINK) -o $@ chan_iax.o endif @@ -137,7 +150,7 @@ chan_zap.so: chan_zap.o chan_sip.so: chan_sip.o ifeq ($(USE_MYSQL_FRIENDS),1) - $(CC) $(SOLINK) -o $@ chan_sip.o -L/usr/lib/mysql -lmysqlclient -lz + $(CC) $(SOLINK) -o $@ chan_sip.o $(MYSQLLIB) -lz else $(CC) $(SOLINK) -o $@ chan_sip.o endif @@ -158,7 +171,7 @@ chan_vpb.so: chan_vpb.o $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl chan_h323.so: chan_h323.o h323/libchanh323.a - $(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 + $(CC) $(SOLINK) -o $@ $< h323/libchanh323.a $(CHANH323LIB) -L$(PWLIBDIR)/lib $(PTLIB) -L$(OPENH323DIR)/lib $(H323LIB) -L/usr/lib -lpthread -lcrypto -lssl -lexpat #chan_modem.so : chan_modem.o diff --git a/channels/chan_h323.c b/channels/chan_h323.c index b29f6977be96775b687853553c69ca59e582d4e7..1dd16da4c18e119a8bc0c8d82a56b796572c218c 100755 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -55,7 +55,12 @@ #include <netdb.h> #include <sys/signal.h> #include <netinet/ip.h> - +#ifdef __OpenBSD__ +#include <netinet/in_systm.h> +#ifndef IPTOS_MINCOST +#define IPTOS_MINCOST 0x02 +#endif +#endif #include "h323/chan_h323.h" diff --git a/channels/h323/Makefile b/channels/h323/Makefile index cd796b15308a79e9ea48417241bc65526c44707b..d07ae7c3b9e41cf04ed9d2b7313b9101f08bd417 100755 --- a/channels/h323/Makefile +++ b/channels/h323/Makefile @@ -26,9 +26,15 @@ CFLAGS += -march=$(shell uname -m) -DPBYTE_ORDER=PLITTLE_ENDIAN # # Only change below if you know WTF your doing # +OSARCH=$(shell uname -s) CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations -CFLAGS += -DP_LINUX -D_REENTRANT -D_GNU_SOURCE +CFLAGS += -D_REENTRANT -D_GNU_SOURCE +ifeq (${OSARCH},OpenBSD) +CFLAGS += -DP_OPENBSD=200311 +else +CFLAGS += -DP_LINUX +endif CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA CFLAGS += -I../../include diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h index c2409a8dae0a951f3f0f6f7c89da06f36fee8139..0bec024bbe1f6e3c00c9e24fe2f6b8f033f10d08 100755 --- a/include/asterisk/frame.h +++ b/include/asterisk/frame.h @@ -30,6 +30,9 @@ extern "C" { #ifdef __linux__ #include <endian.h> #elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) +#if defined(__OpenBSD__) +#include <machine/types.h> +#endif /* __OpenBSD__ */ #include <machine/endian.h> #define __BYTE_ORDER BYTE_ORDER #define __LITTLE_ENDIAN LITTLE_ENDIAN diff --git a/md5.c b/md5.c index bdbb03ff759f4397fbf8e7ca63ee6bf9789645a6..abb277ac01e7ef03c934da68df23ee1561ff657c 100755 --- a/md5.c +++ b/md5.c @@ -1,6 +1,10 @@ /* MD5 checksum routines used for authentication. Not covered by GPL, but in the public domain as per the copyright below */ -#if defined( __FreeBSD__ ) || defined( __OpenBSD__ ) +#if defined( __OpenBSD__ ) +# include <machine/types.h> +# include <sys/endian.h> +#elif defined( __FreeBSD__ ) +# include <sys/types.h> # include <sys/endian.h> #elif defined( BSD ) && ( BSD >= 199103 ) # include <machine/endian.h>