pjproject_bundled: Tweaks to support out-of-tree development

* pjproject is now configured with --disable-libsrtp so it will
  build correctly when doing "out-of-tree" development.  Asterisk
  doesn't use pjproject for handling media so pjproject doesn't
  need libsrtp itself.

* The pjsua app (which we used to use for the testsuite) no longer
  builds in pjproject's master branch so we just skip it.  The
  testsuite no longer needs it anyway.

See third-party/pjproject/README-hacking.md for more info on building
pjproject "out-of-tree".

(cherry picked from commit 97ad7256d7)
This commit is contained in:
George Joseph
2024-10-17 09:51:38 -06:00
committed by Asterisk Development Team
parent 8c95b3c8be
commit f85838fb93
3 changed files with 19 additions and 17 deletions

View File

@@ -58,6 +58,7 @@ ifeq ($(SPECIAL_TARGETS),)
-include source/build.mak
CF := $(filter-out -W%,$(CC_CFLAGS))
CF := $(filter-out -I%,$(CF))
ifeq ($(PJPROJECT_BUNDLED_OOT),)
ifeq ($(AST_DEVMODE),yes)
apps := source/pjsip-apps/bin/pjsua-$(TARGET_NAME) source/pjsip-apps/bin/pjsystest-$(TARGET_NAME)
TARGETS += $(apps)
@@ -66,6 +67,7 @@ ifeq ($(SPECIAL_TARGETS),)
endif
CF += -DPJPROJECT_BUNDLED_ASSERTIONS=yes
endif
endif
MALLOC_DEBUG_LIBS = source/pjsip-apps/lib/libasterisk_malloc_debug.a
ifneq ($(findstring darwin,$(OSARCH)),)
MALLOC_DEBUG_LDFLAGS = -L$(PJDIR)/pjsip-apps/lib -Wl,-all_load -lasterisk_malloc_debug -Wl,-noall_load

View File

@@ -36,6 +36,7 @@ PJPROJECT_CONFIG_OPTS = $(PJPROJECT_CONFIGURE_OPTS) --prefix=/opt/pjproject \
--disable-openh264 \
--disable-ipp \
--disable-libwebrtc \
--disable-libsrtp \
--disable-upnp \
--without-external-pa \
--without-external-srtp

View File

@@ -174,10 +174,9 @@ applied. Since you're probably working off the pjproject master branch,
the patches aren't needed. Also, applying the patches would contaminate
the pjproject repo and you wouldn't be able to do a clean commit there.
You'll see compile and/or link warnings you wouldn't see with a normal
You may see compile and/or link warnings you wouldn't see with a normal
bundled build.
## How it works
When an asterisk top-level `configure` is run, `third-party/pjproject/configure.m4 `