]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
pjproject_bundled: Tweaks to support out-of-tree development
authorGeorge Joseph <gjoseph@sangoma.com>
Thu, 17 Oct 2024 15:51:38 +0000 (09:51 -0600)
committerAsterisk Development Team <asteriskteam@digium.com>
Thu, 14 Nov 2024 20:01:34 +0000 (20:01 +0000)
* 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 23218032eff45362b6c3d035460823a83e1a9fff)

third-party/pjproject/Makefile
third-party/pjproject/Makefile.rules
third-party/pjproject/README-hacking.md

index 28cb5db85bf4120388f0b7b0e633e01c7f48ba24..716806e7c1e4b230114f50eed0792df9ffe65638 100644 (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
index e1a9a2248f1d889244c7af8395fe8af7523397ae..42c6e4b66eef0bf2fc25282a0176d6c0c9f99b90 100644 (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
index 0ce57ecf2c97788b76e82fa0a173febdda7b245b..078f632275057972163e6e336427795001671877 100644 (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 `
@@ -190,24 +189,24 @@ When a `make` is done, either from top-level asterisk or from the
 third-party/pjproject directory, it checks `PJPROJECT_BUNDLED_OOT`
 and if set to yes it...
 
-    * Alters the behavior of `clean` and `distclean` to just run
-    pjproject's `clean` or `distclean` targets and to NOT remove the
-    `source` directory or symlink as it would normally do.
+* Alters the behavior of `clean` and `distclean` to just run
+pjproject's `clean` or `distclean` targets and to NOT remove the
+`source` directory or symlink as it would normally do.
 
-    * Generates `astdep` dependency files in the pjproject source tree
-    if they don't already exist.  These are git-ignored by the edit
-    to pjproject's `.git/info/exclude` done above.  You'll
-    see new progress messages during the make as the astdep files are
-    built.
+* Generates `astdep` dependency files in the pjproject source tree
+if they don't already exist.  These are git-ignored by the edit
+to pjproject's `.git/info/exclude` done above.  You'll
+see new progress messages during the make as the astdep files are
+built.
 
-    * Copies asterisk_malloc_debug.c, asterisk_malloc_debug.h and
-    config_site.h from the patches directory into the pjproject source
-    tree.  These are also git-ignored by the edit to pjproject's
-    `.git/info/exclude` file.
+* Copies asterisk_malloc_debug.c, asterisk_malloc_debug.h and
+config_site.h from the patches directory into the pjproject source
+tree.  These are also git-ignored by the edit to pjproject's
+`.git/info/exclude` file.
 
-    * Compiles only the out-of-date source files into their respective
-    libpj libraries.  That in turn triggers the asterisk top-level
-    make to re-link main/libasteriskpj.so.
+* Compiles only the out-of-date source files into their respective
+libpj libraries.  That in turn triggers the asterisk top-level
+make to re-link main/libasteriskpj.so.