From: George Joseph Date: Thu, 17 Nov 2016 02:24:08 +0000 (-0700) Subject: build: Various OpenBSD issues X-Git-Tag: 14.2.0-rc1~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54d7e65014dbe18b0ae882892782e43810de0f2d;p=thirdparty%2Fasterisk.git build: Various OpenBSD issues OpenBSD's 'find' doesn't take the -delete argument so you have to pipe through 'xargs rm -rf'. 'echo -e' doesn't like \t starting a line. It just prints 't' which causes the libasteriskpj.exports file to be garbage. They were just cosmetic so they were removed. librt doesn't exist so the link of libasteriskpj.so fails. It's not actually needed for linux anyway so -lrt was removed from the link. res_rtp_asterisk was failing to load because of an undefined DTLS_method. '|| defined(LIBRESSL_VERSION_NUMBER)' was added to the #if so DTLSv1_method is used instead. ASTERISK-26608 Change-Id: I926ec95b0b69633231e3ad1d6e803b977272c49c --- diff --git a/main/Makefile b/main/Makefile index 3db0392ff3..0c1b11ed83 100644 --- a/main/Makefile +++ b/main/Makefile @@ -279,15 +279,15 @@ ASTPJ_LIB:=libasteriskpj.so libasteriskpj.exports: $(ASTTOPDIR)/$(PJPROJECT_DIR)/pjproject.symbols $(ECHO_PREFIX) echo " [GENERATE] libasteriskpj.exports" ifeq ($(GNU_LD),1) - $(CMD_PREFIX) echo -e "{\n\tglobal:" > libasteriskpj.exports - $(CMD_PREFIX) sed -r -e "s/.*/\t\t$(LINKER_SYMBOL_PREFIX)&;/" $(ASTTOPDIR)/$(PJPROJECT_DIR)/pjproject.symbols >> libasteriskpj.exports - $(CMD_PREFIX) echo -e "\t\t$(LINKER_SYMBOL_PREFIX)ast_pj_init;\n" >> libasteriskpj.exports - $(CMD_PREFIX) echo -e "\tlocal:\n\t\t*;\n};" >> libasteriskpj.exports + $(CMD_PREFIX) echo -e "{\nglobal:" > libasteriskpj.exports + $(CMD_PREFIX) sed -r -e "s/.*/$(LINKER_SYMBOL_PREFIX)&;/" $(ASTTOPDIR)/$(PJPROJECT_DIR)/pjproject.symbols >> libasteriskpj.exports + $(CMD_PREFIX) echo -e "$(LINKER_SYMBOL_PREFIX)ast_pj_init;\n" >> libasteriskpj.exports + $(CMD_PREFIX) echo -e "local:\n*;\n};" >> libasteriskpj.exports endif $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTLDFLAGS+=-Wl,-soname=$(ASTPJ_LIB) $(PJ_LDFLAGS) $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" -DAST_NOT_MODULE $(PJ_CFLAGS) -$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lrt -lpthread +$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lpthread ifeq ($(GNU_LD),1) $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SO_SUPPRESS_SYMBOLS=-Wl,--version-script,libasteriskpj.exports,--warn-common endif diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index cdf0c560d0..7fd552450f 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -1367,7 +1367,7 @@ static int ast_rtp_dtls_set_configuration(struct ast_rtp_instance *instance, con return 0; } -#if OPENSSL_VERSION_NUMBER < 0x10002000L +#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER) rtp->ssl_ctx = SSL_CTX_new(DTLSv1_method()); #else rtp->ssl_ctx = SSL_CTX_new(DTLS_method()); diff --git a/third-party/pjproject/Makefile b/third-party/pjproject/Makefile index 106938b6cc..5a4c2d1b6a 100644 --- a/third-party/pjproject/Makefile +++ b/third-party/pjproject/Makefile @@ -193,9 +193,9 @@ clean: $(ECHO_PREFIX) Cleaning +-$(CMD_PREFIX) test -d source && ($(SUBMAKE) -C source clean || : ;\ rm -rf source/pjsip-apps/bin/* || : ;\ - find source -name *.a -delete ;\ - find source -name *.o -delete ;\ - find source -name *.so -delete ; ) || : + find source -name *.a | xargs rm -rf ;\ + find source -name *.o | xargs rm -rf ;\ + find source -name *.so | xargs rm -rf ; ) || : -$(CMD_PREFIX) rm -rf pjproject.symbols distclean: