From a69e99b4c819dc69373ae8bded0074324c49fa69 Mon Sep 17 00:00:00 2001 From: Patrice Levesque Date: Mon, 6 Jun 2016 11:03:32 -0400 Subject: [PATCH] Do not force -frecord-gcc-switches flag The -frecord-gcc-switches flag does not exist for GCC <= 4.3; hence only use it when available. --- general.make | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/general.make b/general.make index 3dd3c396d..a088e7815 100644 --- a/general.make +++ b/general.make @@ -1,3 +1,16 @@ +# Macros that allow testing for GCC flag existence +try-run = $(shell set -e; \ + TMP="/tmp/SOGo-gcc-flags-check.$$$$.tmp"; \ + TMPO="/tmp/SOGo-gcc-flags-check.$$$$.o"; \ + if ($(1)) >/dev/null 2>&1; \ + then echo "$(2)"; \ + else echo "$(3)"; \ + fi; \ + rm -f "$$TMP" "$$TMPO") + +cc-option = $(call try-run,\ + $(CC) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) + # Use GCC level 2 optimization by default # Might be overridden below ADDITIONAL_OBJCFLAGS=-O2 @@ -12,5 +25,5 @@ endif # information plus the compiler flags used; that can # be afterwards read with: # readelf -p .GCC.command.line /path/to/elf_file -ADDITIONAL_OBJCFLAGS += -g -frecord-gcc-switches +ADDITIONAL_OBJCFLAGS += -g $(call cc-option,-frecord-gcc-switches)