mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
pjproject_bundled: Various fixes discovered during testing of OSes
For all OSes: * Disabled third-party codecs in pjproject and added '--disable-speex-codec --disable-speex-aec --disable-gsm-codec' to the configure options since we don't use the pjsip codec capability. FreeBSD: * Added FreeBSD support to install_prereq. * Changed pjproject/configure.m4 to use $GNU_MAKE instead of hardcoding "make". * Added __progname and environ to asterisk.exports.in. * Reverted the use of ldconfig to create shared library symlinks to ln. * Only enable epoll in pjproject if `uname -s` is Linux. * Added a patch to pjproject to take the name of the 'make' command from an environment variable if supplied. This is needed for the python bindings. (merged by Teluu into pjproject trunk 5/3/2016) FreeBSD support isn't complete. Still some general issues regarding make/gmake having nothing to do with pjproject. With some handholding it DOES build successfully. CentOS: Added 'patch' and 'bzip2' to install_prereq PACKAGES_RH. CentOS 6/7 32/64 build and run the pjsip testsuite successfully. Ubuntu: No changes required. Ubuntu 15/16 32/64 build and run the pjsip testsuite successfully. Debian: No changes required. Debian 6/7/8 32/64 build and run the pjsip testsuite successfully. There will utimately be a follow-up patch to create an install_prereq for the testsuite as I've discovered a few missing requirements. ASTERISK-25968 #close Change-Id: I5756a07facfc63798115a5e73a8709382fe9259c
This commit is contained in:
3
third-party/pjproject/Makefile
vendored
3
third-party/pjproject/Makefile
vendored
@@ -115,8 +115,7 @@ source/pjsip-apps/bin/pjsua-$(TARGET_NAME): source/pjlib/lib/libpj-$(TARGET_NAME
|
||||
|
||||
source/pjsip-apps/src/python/build/_pjsua.so: source/pjlib/lib/libpj-$(TARGET_NAME).a
|
||||
$(ECHO_PREFIX) Compiling python bindings
|
||||
$(CMD_PREFIX) (cd source/pjsip-apps/src/python ; python setup.py build --build-platlib=./build $(REALLY_QUIET))
|
||||
|
||||
$(CMD_PREFIX) (cd source/pjsip-apps/src/python ; MAKE=$(MAKE) python setup.py build --build-platlib=./build $(REALLY_QUIET))
|
||||
|
||||
_all: pjproject.symbols source/pjsip-apps/bin/pjsua-$(TARGET_NAME) source/pjsip-apps/src/python/build/_pjsua.so
|
||||
|
||||
|
11
third-party/pjproject/Makefile.rules
vendored
11
third-party/pjproject/Makefile.rules
vendored
@@ -1,7 +1,10 @@
|
||||
PJPROJECT_URL = http://www.pjsip.org/release/$(PJPROJECT_VERSION)
|
||||
|
||||
# Even though we're not installing pjproject, we're setting prefix to /opt/pjproject to be safe
|
||||
PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject --with-external-speex --with-external-gsm --with-external-srtp \
|
||||
--disable-video --disable-v4l2 --disable-sound --disable-opencore-amr --disable-ilbc-codec \
|
||||
--without-libyuv --disable-g7221-codec \
|
||||
--enable-epoll
|
||||
PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject --disable-speex-codec --disable-speex-aec \
|
||||
--disable-gsm-codec --disable-video --disable-v4l2 --disable-sound --disable-opencore-amr \
|
||||
--disable-ilbc-codec --without-libyuv --disable-g7221-codec
|
||||
|
||||
ifeq ($(shell uname -s),Linux)
|
||||
PJPROJECT_CONFIG_OPTS += --enable-epoll
|
||||
endif
|
||||
|
4
third-party/pjproject/apply_patches
vendored
4
third-party/pjproject/apply_patches
vendored
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "-q" ] ; then
|
||||
quiet=1
|
||||
@@ -27,7 +27,7 @@ if [ ! "$(ls -A $patchdir/*.patch 2>/dev/null)" ] ; then
|
||||
fi
|
||||
|
||||
for patchfile in $patchdir/*.patch ; do
|
||||
patch -d $sourcedir -p1 -s -r- -f -N --dry-run -i "$patchfile" || (echo "Patchfile $(basename $patchfile) failed to apply >&2" ; exit 1) || exit 1
|
||||
patch -d $sourcedir -p1 -s -r- -f -N --dry-run -i "$patchfile" || (echo "Patchfile $(basename $patchfile) failed to apply" >&2 ; exit 1) || exit 1
|
||||
done
|
||||
|
||||
for patchfile in "$patchdir"/*.patch ; do
|
||||
|
6
third-party/pjproject/configure.m4
vendored
6
third-party/pjproject/configure.m4
vendored
@@ -21,14 +21,14 @@ AC_DEFUN([PJPROJECT_CONFIGURE],
|
||||
[
|
||||
AC_MSG_CHECKING(for embedded pjproject (may have to download))
|
||||
AC_MSG_RESULT(configuring)
|
||||
make --quiet --no-print-directory -C $1 configure
|
||||
${GNU_MAKE} --quiet --no-print-directory -C $1 configure
|
||||
if test $? -ne 0 ; then
|
||||
AC_MSG_RESULT(failed)
|
||||
AC_MSG_NOTICE(Unable to configure $1)
|
||||
AC_MSG_ERROR(Run "make -C $1 NOISY_BUILD=yes configure" to see error details.)
|
||||
AC_MSG_ERROR(Run "${GNU_MAKE} -C $1 NOISY_BUILD=yes configure" to see error details.)
|
||||
fi
|
||||
|
||||
PJPROJECT_INCLUDE=$(make --quiet --no-print-directory -C $1 echo_cflags)
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C $1 echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
PJPROJECT_BUNDLED=yes
|
||||
|
51
third-party/pjproject/patches/0001-pjsip-apps-src-python-setup.py-Take-make-from-the-en.patch
vendored
Normal file
51
third-party/pjproject/patches/0001-pjsip-apps-src-python-setup.py-Take-make-from-the-en.patch
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
From 61668b8fcaa0f2a8a05100097284c0c427600033 Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <george.joseph@fairview5.com>
|
||||
Date: Mon, 2 May 2016 17:08:15 -0600
|
||||
Subject: [PATCH] pjsip-apps/src/python/setup.py: Take "make" from the
|
||||
environment
|
||||
|
||||
With "make" hard coded in setup.py, it chokes on FreeBSD because the system
|
||||
make command isn't GNU compatibile. This patch allows setup.py to take the
|
||||
name of the make command from the MAKE environment variable if it exists.
|
||||
If it doesn't, it defaults to "make".
|
||||
---
|
||||
pjsip-apps/src/python/setup.py | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/pjsip-apps/src/python/setup.py b/pjsip-apps/src/python/setup.py
|
||||
index 69a9859..ea1427d 100644
|
||||
--- a/pjsip-apps/src/python/setup.py
|
||||
+++ b/pjsip-apps/src/python/setup.py
|
||||
@@ -60,25 +60,25 @@ if pj_version_suffix:
|
||||
pj_version += "-" + pj_version_suffix
|
||||
|
||||
#print 'PJ_VERSION = "'+ pj_version + '"'
|
||||
-
|
||||
+MAKE = os.environ.get('MAKE') or "make"
|
||||
|
||||
# Fill in pj_inc_dirs
|
||||
pj_inc_dirs = []
|
||||
-f = os.popen("make -f helper.mak inc_dir")
|
||||
+f = os.popen("%s -f helper.mak inc_dir" % MAKE)
|
||||
for line in f:
|
||||
pj_inc_dirs.append(line.rstrip("\r\n"))
|
||||
f.close()
|
||||
|
||||
# Fill in pj_lib_dirs
|
||||
pj_lib_dirs = []
|
||||
-f = os.popen("make -f helper.mak lib_dir")
|
||||
+f = os.popen("%s -f helper.mak lib_dir" % MAKE)
|
||||
for line in f:
|
||||
pj_lib_dirs.append(line.rstrip("\r\n"))
|
||||
f.close()
|
||||
|
||||
# Fill in pj_libs
|
||||
pj_libs = []
|
||||
-f = os.popen("make -f helper.mak libs")
|
||||
+f = os.popen("%s -f helper.mak libs" % MAKE)
|
||||
for line in f:
|
||||
pj_libs.append(line.rstrip("\r\n"))
|
||||
f.close()
|
||||
--
|
||||
2.5.5
|
||||
|
Reference in New Issue
Block a user