mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
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 23218032ef
)
This commit is contained in:
committed by
Asterisk Development Team
parent
16d8c3f438
commit
bfe56d18c4
2
third-party/pjproject/Makefile
vendored
2
third-party/pjproject/Makefile
vendored
@@ -58,6 +58,7 @@ ifeq ($(SPECIAL_TARGETS),)
|
|||||||
-include source/build.mak
|
-include source/build.mak
|
||||||
CF := $(filter-out -W%,$(CC_CFLAGS))
|
CF := $(filter-out -W%,$(CC_CFLAGS))
|
||||||
CF := $(filter-out -I%,$(CF))
|
CF := $(filter-out -I%,$(CF))
|
||||||
|
ifeq ($(PJPROJECT_BUNDLED_OOT),)
|
||||||
ifeq ($(AST_DEVMODE),yes)
|
ifeq ($(AST_DEVMODE),yes)
|
||||||
apps := source/pjsip-apps/bin/pjsua-$(TARGET_NAME) source/pjsip-apps/bin/pjsystest-$(TARGET_NAME)
|
apps := source/pjsip-apps/bin/pjsua-$(TARGET_NAME) source/pjsip-apps/bin/pjsystest-$(TARGET_NAME)
|
||||||
TARGETS += $(apps)
|
TARGETS += $(apps)
|
||||||
@@ -66,6 +67,7 @@ ifeq ($(SPECIAL_TARGETS),)
|
|||||||
endif
|
endif
|
||||||
CF += -DPJPROJECT_BUNDLED_ASSERTIONS=yes
|
CF += -DPJPROJECT_BUNDLED_ASSERTIONS=yes
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
MALLOC_DEBUG_LIBS = source/pjsip-apps/lib/libasterisk_malloc_debug.a
|
MALLOC_DEBUG_LIBS = source/pjsip-apps/lib/libasterisk_malloc_debug.a
|
||||||
ifneq ($(findstring darwin,$(OSARCH)),)
|
ifneq ($(findstring darwin,$(OSARCH)),)
|
||||||
MALLOC_DEBUG_LDFLAGS = -L$(PJDIR)/pjsip-apps/lib -Wl,-all_load -lasterisk_malloc_debug -Wl,-noall_load
|
MALLOC_DEBUG_LDFLAGS = -L$(PJDIR)/pjsip-apps/lib -Wl,-all_load -lasterisk_malloc_debug -Wl,-noall_load
|
||||||
|
1
third-party/pjproject/Makefile.rules
vendored
1
third-party/pjproject/Makefile.rules
vendored
@@ -36,6 +36,7 @@ PJPROJECT_CONFIG_OPTS = $(PJPROJECT_CONFIGURE_OPTS) --prefix=/opt/pjproject \
|
|||||||
--disable-openh264 \
|
--disable-openh264 \
|
||||||
--disable-ipp \
|
--disable-ipp \
|
||||||
--disable-libwebrtc \
|
--disable-libwebrtc \
|
||||||
|
--disable-libsrtp \
|
||||||
--disable-upnp \
|
--disable-upnp \
|
||||||
--without-external-pa \
|
--without-external-pa \
|
||||||
--without-external-srtp
|
--without-external-srtp
|
||||||
|
33
third-party/pjproject/README-hacking.md
vendored
33
third-party/pjproject/README-hacking.md
vendored
@@ -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 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.
|
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.
|
bundled build.
|
||||||
|
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
When an asterisk top-level `configure` is run, `third-party/pjproject/configure.m4 `
|
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`
|
third-party/pjproject directory, it checks `PJPROJECT_BUNDLED_OOT`
|
||||||
and if set to yes it...
|
and if set to yes it...
|
||||||
|
|
||||||
* Alters the behavior of `clean` and `distclean` to just run
|
* Alters the behavior of `clean` and `distclean` to just run
|
||||||
pjproject's `clean` or `distclean` targets and to NOT remove the
|
pjproject's `clean` or `distclean` targets and to NOT remove the
|
||||||
`source` directory or symlink as it would normally do.
|
`source` directory or symlink as it would normally do.
|
||||||
|
|
||||||
* Generates `astdep` dependency files in the pjproject source tree
|
* Generates `astdep` dependency files in the pjproject source tree
|
||||||
if they don't already exist. These are git-ignored by the edit
|
if they don't already exist. These are git-ignored by the edit
|
||||||
to pjproject's `.git/info/exclude` done above. You'll
|
to pjproject's `.git/info/exclude` done above. You'll
|
||||||
see new progress messages during the make as the astdep files are
|
see new progress messages during the make as the astdep files are
|
||||||
built.
|
built.
|
||||||
|
|
||||||
* Copies asterisk_malloc_debug.c, asterisk_malloc_debug.h and
|
* Copies asterisk_malloc_debug.c, asterisk_malloc_debug.h and
|
||||||
config_site.h from the patches directory into the pjproject source
|
config_site.h from the patches directory into the pjproject source
|
||||||
tree. These are also git-ignored by the edit to pjproject's
|
tree. These are also git-ignored by the edit to pjproject's
|
||||||
`.git/info/exclude` file.
|
`.git/info/exclude` file.
|
||||||
|
|
||||||
* Compiles only the out-of-date source files into their respective
|
* Compiles only the out-of-date source files into their respective
|
||||||
libpj libraries. That in turn triggers the asterisk top-level
|
libpj libraries. That in turn triggers the asterisk top-level
|
||||||
make to re-link main/libasteriskpj.so.
|
make to re-link main/libasteriskpj.so.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user