diff options
Diffstat (limited to 'config.mak.dev')
-rw-r--r-- | config.mak.dev | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/config.mak.dev b/config.mak.dev index 022fb58218..3deb076d5e 100644 --- a/config.mak.dev +++ b/config.mak.dev @@ -1,13 +1,34 @@ +ifndef COMPILER_FEATURES +COMPILER_FEATURES := $(shell ./detect-compiler $(CC)) +endif + ifeq ($(filter no-error,$(DEVOPTS)),) DEVELOPER_CFLAGS += -Werror SPARSE_FLAGS += -Wsparse-error endif -ifneq ($(filter pedantic,$(DEVOPTS)),) + +DEVELOPER_CFLAGS += -Wall +ifeq ($(filter no-pedantic,$(DEVOPTS)),) DEVELOPER_CFLAGS += -pedantic -# don't warn for each N_ use -DEVELOPER_CFLAGS += -DUSE_PARENS_AROUND_GETTEXT_N=0 +ifneq (($or $(filter gcc5,$(COMPILER_FEATURES)),$(filter clang4,$(COMPILER_FEATURES))),) +DEVELOPER_CFLAGS += -Wpedantic +ifneq ($(filter gcc10,$(COMPILER_FEATURES)),) +ifeq ($(uname_S),MINGW) +DEVELOPER_CFLAGS += -Wno-pedantic-ms-format endif -DEVELOPER_CFLAGS += -Wall +endif +endif +endif + +ifneq ($(uname_S),FreeBSD) +ifneq ($(or $(filter gcc6,$(COMPILER_FEATURES)),$(filter clang7,$(COMPILER_FEATURES))),) +DEVELOPER_CFLAGS += -std=gnu99 +endif +else +# FreeBSD cannot limit to C99 because its system headers unconditionally +# rely on C11 features. +endif + DEVELOPER_CFLAGS += -Wdeclaration-after-statement DEVELOPER_CFLAGS += -Wformat-security DEVELOPER_CFLAGS += -Wold-style-definition @@ -18,10 +39,6 @@ DEVELOPER_CFLAGS += -Wunused DEVELOPER_CFLAGS += -Wvla DEVELOPER_CFLAGS += -fno-common -ifndef COMPILER_FEATURES -COMPILER_FEATURES := $(shell ./detect-compiler $(CC)) -endif - ifneq ($(filter clang4,$(COMPILER_FEATURES)),) DEVELOPER_CFLAGS += -Wtautological-constant-out-of-range-compare endif |