From 5d1407aa06fcd7c0fc72bde15d7732ad65e889df Mon Sep 17 00:00:00 2001
From: George Joseph <gjoseph@digium.com>
Date: Wed, 12 Jan 2022 10:12:01 -0700
Subject: [PATCH] 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
---
 third-party/Makefile           | 19 +++++++++++++++++--
 third-party/pjproject/Makefile |  2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/third-party/Makefile b/third-party/Makefile
index e87e26f326..532bf532ef 100644
--- a/third-party/Makefile
+++ b/third-party/Makefile
@@ -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
\ No newline at end of file
diff --git a/third-party/pjproject/Makefile b/third-party/pjproject/Makefile
index 612c116bd9..28cb5db85b 100644
--- a/third-party/pjproject/Makefile
+++ b/third-party/pjproject/Makefile
@@ -126,7 +126,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))
 
-- 
GitLab