Skip to content
Snippets Groups Projects
Commit f27f837a authored by George Joseph's avatar George Joseph
Browse files

pjproject_bundled: Fix compile of pjsua so it handles audio

In order for pjsua and its python binding to actually negotiate
audio for the testsuite tests, it needs g711 and resample.  The
pj* libraries themselves do not.  Unfortunately, pjproject relies
on a brand new libresample that most distros don't ship so we need
to use the libresample already bundled with pjproject.  Only the pjsua
executable and the _pjsua.so python library are linked with it so it
shouldn't interfere with asterisk itself.

Also it was pointed out that apply_patches couldn't handle multiple
patches that depended on each other during the dry-run, so the
dry-run was removed.

Change-Id: I24f397462b486dcdde0dcafe40e6c55a6593f098
parent 3ad47199
No related branches found
No related tags found
No related merge requests found
......@@ -125,11 +125,17 @@ libpj%.a: .rebuild_needed source/build.mak
$(CMD_PREFIX) $(MAKE) -C $(dir $(shell dirname $@))/build $(@F) $(REALLY_QUIET)
-@rm -rf .rebuild_needed
# pjsua needs resample and g711 to successfully run the testsuite
libresample%.a: .rebuild_needed source/build.mak
$(ECHO_PREFIX) Compiling lib $(@F)
$(CMD_PREFIX) $(MAKE) -C $(dir $(shell dirname $@))/build/resample all $(REALLY_QUIET)
-@rm -rf .rebuild_needed
# We need to compile pjlib, then pjlib-util, then the rest
# so we separate them out and create the dependencies
PJLIB_LIB_FILES = $(foreach lib,$(PJ_LIB_FILES),$(if $(findstring libpj-,$(lib)),$(lib),))
PJLIB_UTIL_LIB_FILES = $(foreach lib,$(PJ_LIB_FILES),$(if $(findstring libpjlib-util,$(lib)),$(lib),))
PJSIP_LIB_FILES = $(filter-out $(PJLIB_LIB_FILES) $(PJLIB_UTIL_LIB_FILES),$(PJ_LIB_FILES))
PJSIP_LIB_FILES = $(filter-out $(PJLIB_LIB_FILES) $(PJLIB_UTIL_LIB_FILES) $(APP_THIRD_PARTY_LIB_FILES),$(PJ_LIB_FILES))
ALL_LIB_FILES = $(PJLIB_LIB_FILES) $(PJLIB_UTIL_LIB_FILES) $(PJSIP_LIB_FILES)
$(PJLIB_UTIL_LIB_FILES): $(PJLIB_LIB_FILES)
......@@ -152,7 +158,7 @@ source/pjsip-apps/lib/libasterisk_malloc_debug.a: source/pjsip-apps/lib/asterisk
$(CMD_PREFIX) ar qs $@ $< >/dev/null 2>&1
$(apps): APP = $(filter pj%,$(subst -, ,$(notdir $@)))
$(apps): pjproject.symbols
$(apps): pjproject.symbols $(APP_THIRD_PARTY_LIB_FILES)
$(ECHO_PREFIX) Compiling $(APP)
$(CMD_PREFIX) +$(MAKE) -C source/pjsip-apps/build $(filter pj%,$(subst -, ,$(notdir $@))) $(REALLY_QUIET)
......
......@@ -9,7 +9,6 @@ PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \
--disable-gsm-codec \
--disable-ilbc-codec \
--disable-l16-codec \
--disable-g711-codec \
--disable-g722-codec \
--disable-g7221-codec \
--disable-opencore-amr \
......@@ -23,7 +22,6 @@ PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \
--disable-oss \
--disable-sdl \
--disable-libyuv \
--disable-resample \
--disable-ffmpeg \
--disable-openh264 \
--disable-ipp \
......@@ -31,5 +29,5 @@ PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \
--without-external-srtp
ifeq ($(shell uname -s),Linux)
PJPROJECT_CONFIG_OPTS += --enable-epoll
PJPROJECT_CONFIG_OPTS += --enable-epoll
endif
......@@ -28,16 +28,6 @@ if [ ! "$(ls -A $patchdir/*.patch 2>/dev/null)" ] ; then
exit 0
fi
if patch --dry-run </dev/null >/dev/null 2>&1 ; then
DRY_RUN=--dry-run
else
DRY_RUN=-C
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
done
for patchfile in "$patchdir"/*.patch ; do
[ -z $quiet ] && echo "Applying patch $(basename $patchfile)"
${PATCH} -d "$sourcedir" -p1 -s -i "$patchfile" || exit 1
......
diff --git a/build.mak.in b/build.mak.in
index 802211c..006d887 100644
index 802211c..25fd05e 100644
--- a/build.mak.in
+++ b/build.mak.in
@@ -1,4 +1,3 @@
......@@ -7,7 +7,7 @@ index 802211c..006d887 100644
include $(PJDIR)/version.mak
export PJ_DIR := $(PJDIR)
@@ -9,7 +9,7 @@ export HOST_NAME := unix
@@ -9,7 +8,7 @@ export HOST_NAME := unix
export CC_NAME := gcc
export TARGET_NAME := @target@
export CROSS_COMPILE := @ac_cross_compile@
......@@ -16,7 +16,7 @@ index 802211c..006d887 100644
export SHLIB_SUFFIX := @ac_shlib_suffix@
export prefix := @prefix@
@@ -28,114 +28,6 @@ export APP_THIRD_PARTY_EXT :=
@@ -28,19 +27,6 @@ export APP_THIRD_PARTY_EXT :=
export APP_THIRD_PARTY_LIBS :=
export APP_THIRD_PARTY_LIB_FILES :=
......@@ -33,22 +33,13 @@ index 802211c..006d887 100644
-endif
-endif
-
-ifeq (@ac_pjmedia_resample@,libresample)
-APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
-ifeq ($(PJ_SHARED_LIBRARIES),)
-ifeq (@ac_resample_dll@,1)
-export PJ_RESAMPLE_DLL := 1
-APP_THIRD_PARTY_LIBS += -lresample
-APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
-else
-APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME)
-endif
-else
-APP_THIRD_PARTY_LIBS += -lresample
-APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
-endif
-endif
-
ifeq (@ac_pjmedia_resample@,libresample)
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
ifeq ($(PJ_SHARED_LIBRARIES),)
@@ -57,85 +43,6 @@ APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFI
endif
endif
-ifneq (@ac_no_gsm_codec@,1)
-ifeq (@ac_external_gsm@,1)
-# External GSM library
......@@ -131,7 +122,7 @@ index 802211c..006d887 100644
# Additional flags
@ac_build_mak_vars@
@@ -149,7 +41,7 @@ SDL_CFLAGS = @ac_sdl_cflags@
@@ -149,7 +56,7 @@ SDL_CFLAGS = @ac_sdl_cflags@
SDL_LDFLAGS = @ac_sdl_ldflags@
# FFMPEG flags
......@@ -140,7 +131,7 @@ index 802211c..006d887 100644
FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
# Video4Linux2
@@ -157,7 +49,7 @@ V4L2_CFLAGS = @ac_v4l2_cflags@
@@ -157,7 +64,7 @@ V4L2_CFLAGS = @ac_v4l2_cflags@
V4L2_LDFLAGS = @ac_v4l2_ldflags@
# OPENH264 flags
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment