blob: 52daadecb6de3c3c19b17ef225716adb911844fa [file] [log] [blame]
diff --git a/nss/coreconf/Werror.mk b/nss/coreconf/Werror.mk
index a569a49..e69de29 100644
--- a/nss/coreconf/Werror.mk
+++ b/nss/coreconf/Werror.mk
@@ -1,107 +0,0 @@
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# This sets WARNING_CFLAGS for gcc-like compilers.
-
-ifndef CC_IS_CLANG
- CC_IS_CLANG := $(and $(findstring clang, $(shell $(CC) --version 2>&1)), 1)
- # Export CC_IS_CLANG to save a shell invocation when recursing.
- export CC_IS_CLANG
-endif
-
-ifdef CC_IS_CLANG
- # Clang claims GCC 4.2.1 compatibility, see GCC_VERSION
- CC_IS_GCC = 1
- # Export CC_IS_GCC to save a shell invocation when recursing.
- export CC_IS_GCC
-endif
-
-ifndef CC_IS_GCC
- CC_IS_GCC := $(shell $(CC) -x c -E -Wall -Werror /dev/null >/dev/null 2>&1 && echo 1)
- # Export CC_IS_GCC to save a shell invocation when recursing.
- export CC_IS_GCC
-endif
-
-ifndef CC_NAME
- ifeq (1,$(CC_IS_GCC))
- CC_NAME := $(shell $(CC) -? 2>&1 >/dev/null | sed -e 's/:.*//;1q')
- else
- CC_NAME := $(notdir $(CC))
- endif
- # Export CC_NAME to save a shell invocation when recursing.
- export CC_NAME
-endif
-
-ifndef GCC_VERSION
- ifeq (1,$(CC_IS_GCC))
- GCC_VERSION := $(subst ., ,$(shell $(CC) -dumpversion || echo x.x.x))
- # Export GCC_VERSION to save a shell invocation when recursing.
- export GCC_VERSION
- endif
-endif
-
-ifndef WARNING_CFLAGS
- ifneq (1,$(CC_IS_GCC))
- WARNING_CFLAGS = $(NULL)
- else
- # This tests to see if enabling the warning is possible before
- # setting an option to disable it.
- set_warning = $(shell $(CC) -x c -E -Werror -W$(1) /dev/null >/dev/null 2>&1 && echo -W$(2)$(1))
- enable_warning = $(call set_warning,$(1),)
- disable_warning = $(call set_warning,$(1),no-)
-
- WARNING_CFLAGS = -Wall $(call enable_warning,shadow)
- ifdef CC_IS_CLANG
- # -Qunused-arguments : clang objects to arguments that it doesn't understand
- # and fixing this would require rearchitecture
- WARNING_CFLAGS += -Qunused-arguments
- # -Wno-parentheses-equality : because clang warns about macro expansions
- WARNING_CFLAGS += $(call disable_warning,parentheses-equality)
- ifdef BUILD_OPT
- # clang is unable to handle glib's expansion of strcmp and similar for optimized
- # builds, so ignore the resulting errors.
- # See https://llvm.org/bugs/show_bug.cgi?id=20144
- WARNING_CFLAGS += $(call disable_warning,array-bounds)
- WARNING_CFLAGS += $(call disable_warning,unevaluated-expression)
- endif
- endif # if clang
-
- ifndef NSS_ENABLE_WERROR
- ifeq ($(OS_TARGET),Android)
- # Android lollipop generates the following warning:
- # error: call to 'sprintf' declared with attribute warning:
- # sprintf is often misused; please use snprintf [-Werror]
- # So, just suppress -Werror entirely on Android
- NSS_ENABLE_WERROR = 0
- $(warning OS_TARGET is Android, disabling -Werror)
- else
- ifdef CC_IS_CLANG
- # Clang reports its version as an older gcc, but it's OK
- NSS_ENABLE_WERROR = 1
- else
- ifneq (,$(filter 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
- NSS_ENABLE_WERROR = 1
- endif
- ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
- NSS_ENABLE_WERROR = 1
- endif
- endif
- ifndef NSS_ENABLE_WERROR
- $(warning Unable to find gcc 4.8 or greater, disabling -Werror)
- NSS_ENABLE_WERROR = 0
- endif
- endif
- endif #ndef NSS_ENABLE_WERROR
-
- ifeq ($(NSS_ENABLE_WERROR),1)
- WARNING_CFLAGS += -Werror
- else
- # Old versions of gcc (< 4.8) don't support #pragma diagnostic in functions.
- # Use this to disable use of that #pragma and the warnings it suppresses.
- WARNING_CFLAGS += -DNSS_NO_GCC48
- endif
- endif
- export WARNING_CFLAGS
-endif # ndef WARNING_CFLAGS
--
2.35.1.1178.g4f1659d476-goog