build: Fix issues building pjproject

The change to allow easier hacking on bundled pjproject created
a few issues:

* The new Makefile was trying to run the bundled make even if
  PJPROJECT_BUNDLED=no.  third-party/Makefile now checks for
  PJPROJECT_BUNDLED and JANSSON_BUNDLED and skips them if they
  are "no".

* When building with bundled, config_site.h was being copied
  only if a full make or a "make main" was done.  A "make res"
  would fail all the pjsip modules because they couldn't find
  config_site.h.  The Makefile now copies config_site.h and
  asterisk_malloc_debug.h into the pjproject source tree
  when it's "configure" is performed.  This is how it used
  to be before the big change.

ASTERISK-29858

Change-Id: I9427264fa3cb8b3f59a95e5f9693eac236a6f76d
This commit is contained in:
George Joseph 2022-01-12 10:12:01 -07:00 committed by Joshua Colp
parent 2f2af26e96
commit 5fdf6e4e18
2 changed files with 18 additions and 3 deletions

19
third-party/Makefile vendored
View File

@ -1,13 +1,26 @@
-include ../makeopts
include Makefile.rules
TP_SUBDIRS := pjproject jansson
TP_SUBDIRS :=
# Sub directories that contain special install/uninstall targets must be explicitly listed
# to prevent accidentally running the package's default install target.
TP_INSTALL_SUBDIRS := pjproject jansson
TP_INSTALL_SUBDIRS :=
ifeq ($(PJPROJECT_BUNDLED),yes)
TP_SUBDIRS += pjproject
TP_INSTALL_SUBDIRS += pjproject
endif
ifeq ($(JANSSON_BUNDLED),yes)
TP_SUBDIRS += jansson
TP_INSTALL_SUBDIRS += jansson
endif
.PHONY: all dist-clean distclean install clean moduleinfo makeopts uninstall $(TP_SUBDIRS)
ifneq ($(TP_SUBDIRS),)
override MAKECMDGOALS?=all
MAKECMDGOALS:=$(subst dist-clean,distclean,$(MAKECMDGOALS))
@ -17,3 +30,5 @@ install uninstall: $(TP_INSTALL_SUBDIRS)
$(TP_SUBDIRS):
+$(CMD_PREFIX) $(SUBMAKE) -C $@ $(MAKECMDGOALS)
endif

View File

@ -116,7 +116,7 @@ source/pjlib/include/pj/%.h: patches/%.h
$(ECHO_PREFIX) Rebuilding
$(CMD_PREFIX) $(MAKE) clean $(REALLY_QUIET)
source/build.mak: Makefile.rules source/user.mak $(if $(PJPROJECT_BUNDLED_OOT),,.rebuild_needed)
source/build.mak: Makefile.rules source/user.mak $(if $(PJPROJECT_BUNDLED_OOT),,.rebuild_needed) $(subst patches,source/pjlib/include/pj,$(wildcard patches/*.h))
$(ECHO_PREFIX) Configuring with $(PJPROJECT_CONFIG_OPTS)
$(CMD_PREFIX) (cd source ; ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS))