diff options
| -rw-r--r-- | share/mk/configure/build-depends/cpp/cpp.mk | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/share/mk/configure/build-depends/cpp/cpp.mk b/share/mk/configure/build-depends/cpp/cpp.mk index be7594e771..367be0c5c1 100644 --- a/share/mk/configure/build-depends/cpp/cpp.mk +++ b/share/mk/configure/build-depends/cpp/cpp.mk @@ -6,17 +6,32 @@ ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPP_CPP_INCLUDED MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPP_CPP_INCLUDED := 1 +include $(MAKEFILEDIR)/configure/build-depends/coreutils/echo.mk include $(MAKEFILEDIR)/configure/build-depends/gcc/cc.mk +include $(MAKEFILEDIR)/configure/build-depends/grep/grep.mk include $(MAKEFILEDIR)/configure/build-depends/pkgconf/pkgconf.mk include $(MAKEFILEDIR)/configure/verbose.mk +CPP := $(CC) $(CFLAGS_) -E + + +CPP_HAS_ALREADY_D_FORTIFY_SOURCE := \ + $(shell \ + $(CPP) -dM - -Wno-error </dev/null \ + | $(GREP) '#define _FORTIFY_SOURCE ' >/dev/null \ + && $(ECHO) yes \ + || $(ECHO) no; \ + ) + + DEFAULT_CPPFLAGS := \ - $(shell $(PKGCONF_CMD) --cflags $(PKGCONF_LIBS) $(HIDE_ERR)) \ - -D_FORTIFY_SOURCE=2 + $(shell $(PKGCONF_CMD) --cflags $(PKGCONF_LIBS) $(HIDE_ERR)) +ifeq ($(CPP_HAS_ALREADY_D_FORTIFY_SOURCE),no) +DEFAULT_CPPFLAGS += -D_FORTIFY_SOURCE=2 +endif CPPFLAGS := CPPFLAGS_ := $(DEFAULT_CPPFLAGS) $(CPPFLAGS) -CPP := $(CC) $(CFLAGS_) -E endif # include guard |
