From b213045fe4a32d4b41ca9a29af383b17a885ca35 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Wed, 16 Nov 2016 19:24:08 -0700 Subject: [PATCH] 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 --- main/Makefile | 10 +++++----- res/res_rtp_asterisk.c | 2 +- third-party/pjproject/Makefile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/main/Makefile b/main/Makefile index e0b7135a10..df9a01cc41 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\" $(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 6dc0d3abe6..75bace26bb 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: -- 2.47.2