BUILD: makefile: add FAILFAST to select the -Wfatal-errors behavior
-Wfatal-errors is set by default and is not supported on older compilers. Since it's part of all the automatically detected flags, it's painful to remove when needed. Also it's a matter of taste, some developers might prefer to get a long list of all errors at once, others prefer that the build stops immediately after the root cause. The default is now back to no -Wfatal-errors, and when FAILFAST is set to any non-empty non-zero value, -Wfatal-errors is added: $ make TARGET=linux-glibc USE_OPENSSL=0 USE_QUIC=1 FAILFAST=0 2>&1 | wc 132 536 6111 $ make TARGET=linux-glibc USE_OPENSSL=0 USE_QUIC=1 FAILFAST=1 2>&1 | wc 8 39 362
This commit is contained in:
parent
617e646ec0
commit
fc27ed9f18
5
INSTALL
5
INSTALL
|
@ -665,7 +665,10 @@ way to get a usable core when you need one. Otherwise, you can set DEBUG to
|
||||||
If the ERR variable is set to any non-empty value other than "0", then -Werror
|
If the ERR variable is set to any non-empty value other than "0", then -Werror
|
||||||
will be added to the compiler so that any build warning will trigger an error.
|
will be added to the compiler so that any build warning will trigger an error.
|
||||||
This is the recommended way to build when developing, and it is expected that
|
This is the recommended way to build when developing, and it is expected that
|
||||||
contributed patches were tested with ERR=1.
|
contributed patches were tested with ERR=1. Similarly, for developers, another
|
||||||
|
variable, FAILFAST enables -Wfatal-errors when set to non-empty except 0, and
|
||||||
|
makes the compiler stop at the first error instead of scrolling pages. It's
|
||||||
|
essentially a matter of taste.
|
||||||
|
|
||||||
The DEBUG variable is used to extend the CFLAGS and is preset to a list of
|
The DEBUG variable is used to extend the CFLAGS and is preset to a list of
|
||||||
build-time options that are known for providing significant reliability
|
build-time options that are known for providing significant reliability
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -82,6 +82,7 @@
|
||||||
# DEP may be cleared to ignore changes to include files during development
|
# DEP may be cleared to ignore changes to include files during development
|
||||||
# DEBUG may be used to set some internal debugging options.
|
# DEBUG may be used to set some internal debugging options.
|
||||||
# ERR may be set to non-empty to pass -Werror to the compiler
|
# ERR may be set to non-empty to pass -Werror to the compiler
|
||||||
|
# FAILFAST may be set to non-empty to pass -Wfatal-errors to the compiler
|
||||||
# ADDINC may be used to complete the include path in the form -Ipath.
|
# ADDINC may be used to complete the include path in the form -Ipath.
|
||||||
# ADDLIB may be used to complete the library list in the form -Lpath -llib.
|
# ADDLIB may be used to complete the library list in the form -Lpath -llib.
|
||||||
# DEFINE may be used to specify any additional define, which will be reported
|
# DEFINE may be used to specify any additional define, which will be reported
|
||||||
|
@ -205,7 +206,7 @@ STD_CFLAGS := $(call cc-opt-alt,-fwrapv,-fno-strict-overflow)
|
||||||
#### Compiler-specific flags to enable/disable certain classes of warnings.
|
#### Compiler-specific flags to enable/disable certain classes of warnings.
|
||||||
WARN_CFLAGS := -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 \
|
WARN_CFLAGS := -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 \
|
||||||
-Wduplicated-cond -Wnull-dereference
|
-Wduplicated-cond -Wnull-dereference
|
||||||
SPEC_CFLAGS := -Wall -Wextra -Wundef -Wdeclaration-after-statement -Wfatal-errors
|
SPEC_CFLAGS := -Wall -Wextra -Wundef -Wdeclaration-after-statement
|
||||||
SPEC_CFLAGS += $(call cc-all-fast,$(WARN_CFLAGS))
|
SPEC_CFLAGS += $(call cc-all-fast,$(WARN_CFLAGS))
|
||||||
|
|
||||||
SPEC_CFLAGS += $(cc-wnouwo)
|
SPEC_CFLAGS += $(cc-wnouwo)
|
||||||
|
@ -223,6 +224,10 @@ ifneq ($(ERR:0=),)
|
||||||
SPEC_CFLAGS += -Werror
|
SPEC_CFLAGS += -Werror
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(FAILFAST:0=),)
|
||||||
|
SPEC_CFLAGS += -Wfatal-errors
|
||||||
|
endif
|
||||||
|
|
||||||
#### No longer used
|
#### No longer used
|
||||||
SMALL_OPTS =
|
SMALL_OPTS =
|
||||||
ifneq ($(SMALL_OPTS),)
|
ifneq ($(SMALL_OPTS),)
|
||||||
|
|
Loading…
Reference in New Issue