build: Pass --fno-partial-inlining to third-party when appropriate
authorGeorge Joseph <gjoseph@digium.com>
Fri, 3 May 2019 18:31:06 +0000 (12:31 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Fri, 3 May 2019 18:42:27 +0000 (12:42 -0600)
When the gcc version is >= 8.2.1, we were already setting the
--fno-partial-inlining flag for Asterisk source files to get around
a gcc bug but we weren't passing the flag down to the bundled
builds of pjproject and jansson.

ASTERISK-28392

Change-Id: I99ede9bc35408ecd096f7d5369e8192d3dc75704

third-party/jansson/Makefile
third-party/pjproject/Makefile

index a81502c..8c9da1a 100644 (file)
@@ -49,6 +49,11 @@ include ../../Makefile.rules
 include ../Makefile.rules
 include Makefile.rules
 
+OPTIMIZE_CFLAGS = -g3
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
+    OPTIMIZE_CFLAGS += $(OPTIMIZE)
+endif
+
 ECHO_PREFIX := $(ECHO_PREFIX) echo '[jansson] '
 SHELL_ECHO_PREFIX := echo '[jansson] '
 
@@ -82,7 +87,7 @@ source/.unpacked: $(DOWNLOAD_DIR)/$(TARBALL_FILE)
 source/config.status: source/.unpacked Makefile.rules .rebuild_needed
        $(ECHO_PREFIX) Configuring
        $(CMD_PREFIX) (cd source ; ./configure $(QUIET_CONFIGURE) $(JANSSON_CONFIG_OPTS) --disable-shared \
-               --enable-static --prefix=$(JANSSON_DIR)/dest --libdir=$(JANSSON_DIR)/dest/lib)
+               --enable-static --prefix=$(JANSSON_DIR)/dest --libdir=$(JANSSON_DIR)/dest/lib CFLAGS="$(OPTIMIZE_CFLAGS)")
 
 configure: source/config.status
 
index 97835e4..af0e9f8 100644 (file)
@@ -45,6 +45,9 @@ ifeq ($(SPECIAL_TARGETS),)
         else
             $(warning ASTTOPDIR/menuselect hasn't been run yet.  Can't find debug options.)
         endif
+               include ../../Makefile.rules
+               include ../Makefile.rules
+               include Makefile.rules
 
         all: _all
         install: _install
@@ -64,20 +67,19 @@ ifeq ($(SPECIAL_TARGETS),)
         endif
         MALLOC_DEBUG_LIBS = source/pjsip-apps/lib/libasterisk_malloc_debug.a
         MALLOC_DEBUG_LDFLAGS = -L$(PJDIR)/pjsip-apps/lib -Wl,-whole-archive -lasterisk_malloc_debug -Wl,-no-whole-archive
-        ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
-            CF += -O3
-        endif
-        export CFLAGS += $(CF) -g3
-        export LDFLAGS += $(CC_LDFLAGS)
         TARGETS += pjproject.symbols
     else
         all install:
     endif
+else
+       include ../../Makefile.rules
+       include ../Makefile.rules
+       include Makefile.rules
 endif
 
-include ../../Makefile.rules
-include ../Makefile.rules
-include Makefile.rules
+export PJ_CFLAGS := $(filter-out -O% -g%,$(PJ_CFLAGS))
+export CFLAGS += $(CF)
+export LDFLAGS += $(CC_LDFLAGS)
 
 ECHO_PREFIX := $(ECHO_PREFIX) echo '[pjproject] '
 SHELL_ECHO_PREFIX := echo '[pjproject] '