mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-23 21:22:17 +00:00
BUILD: Makefile: improve detection of support for compiler warnings
Some compiler versions don't emit an error when facing an unknown no-warning unless another error is reported, resulting in all -Wno-* options being enabled by default and being reported as wrong with build errors. Let's create a new "cc-nowarn" function to disable warnings only after checking that the positive one is supported.
This commit is contained in:
parent
065843c876
commit
b780166499
12
Makefile
12
Makefile
@ -96,6 +96,12 @@
|
||||
# call it only once.
|
||||
cc-opt = $(shell set -e; if $(CC) $(1) -c -xc - -o /dev/null </dev/null >&0 2>&0; then echo "$(1)"; fi;)
|
||||
|
||||
# Disable a warning when supported by the compiler. Don't put spaces around the
|
||||
# warning! And don't use cc-opt which doesn't always report an error until
|
||||
# another one is also returned.
|
||||
# Usage: CFLAGS += $(call cc-nowarn,warning). Eg: $(call cc-opt,format-truncation)
|
||||
cc-nowarn = $(shell set -e; if $(CC) -W$(1) -c -xc - -o /dev/null </dev/null >&0 2>&0; then echo "-Wno-$(1)"; fi;)
|
||||
|
||||
#### Installation options.
|
||||
DESTDIR =
|
||||
PREFIX = /usr/local
|
||||
@ -140,9 +146,9 @@ DEBUG_CFLAGS = -g
|
||||
# to be sure we get the intended behavior.
|
||||
SPEC_CFLAGS := -fno-strict-aliasing -Wdeclaration-after-statement
|
||||
SPEC_CFLAGS += $(call cc-opt,-fwrapv)
|
||||
SPEC_CFLAGS += $(call cc-opt,-Wno-format-truncation)
|
||||
SPEC_CFLAGS += $(call cc-opt,-Wno-address-of-packed-member)
|
||||
SPEC_CFLAGS += $(call cc-opt,-Wno-null-dereference)
|
||||
SPEC_CFLAGS += $(call cc-nowarn,format-truncation)
|
||||
SPEC_CFLAGS += $(call cc-nowarn,address-of-packed-member)
|
||||
SPEC_CFLAGS += $(call cc-nowarn,null-dereference)
|
||||
|
||||
#### Memory usage tuning
|
||||
# If small memory footprint is required, you can reduce the buffer size. There
|
||||
|
Loading…
Reference in New Issue
Block a user