Hi Pedro, If there are specific issues with specific submodules, I would prefer that we disable only the specific subset of warnings that are triggered by that one project. Disabling all warnings as errors may hide way too much. The INF file for building a lib that uses submodule content can append CC_FLAGS with specific warning disable. We did this approach for the Python3 work in edk2-libc. I think we ran into issue around MIN() macro as well, but I can’t recall exactly how we fixed it. Mike From: devel@edk2.groups.io On Behalf Of Pedro Falcato Sent: Friday, December 3, 2021 9:58 AM To: edk2-devel-groups-io ; Kinney, Michael D Cc: kraxel@redhat.com; Yao, Jiewen ; Wang, Jian J ; Jiang, Guomin ; Pawel Polawski ; Philippe Mathieu-Daudé ; Lu, XiaoyuX Subject: Re: [edk2-devel] [PATCH 24/24] [hack] turn off -Werror Mike, If I get the patch right, it's working around a bug in upstream openssl, which is in a git submodule. That may make it impossible to undefine MIN, unless it comes from one of our headers in edk2 proper. We also have similar build warning-as-errors with the brotli submodule(s) which have been breaking the build for recent GCC compilers, for months now. I suggest we find a good way to fix these submodule Werrors for once and for all. Maybe having a project-wide policy of disabling Werror in external (submodule) code isn't such a bad idea? Best regards, Pedro On Fri, Dec 3, 2021 at 4:27 PM Michael D Kinney > wrote: You should be able to undefine MIN at the right place instead of turning off all warnings as errors. Mike > -----Original Message----- > From: devel@edk2.groups.io > On Behalf Of Gerd Hoffmann > Sent: Friday, December 3, 2021 8:08 AM > To: devel@edk2.groups.io > Cc: Yao, Jiewen >; Wang, Jian J >; Jiang, Guomin >; > Pawel Polawski >; Philippe Mathieu-Daudé >; Lu, XiaoyuX >; Gerd > Hoffmann > > Subject: [edk2-devel] [PATCH 24/24] [hack] turn off -Werror > > workaround for this: > CryptoPkg/Library/OpensslLib/openssl/providers/implementations/kdfs/kbkdf.c:49: warning: "MIN" redefined > > Signed-off-by: Gerd Hoffmann > > --- > CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > index 7424cd16ac21..0ec925d8b53e 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > @@ -16,7 +16,7 @@ [Defines] > VERSION_STRING = 1.0 > LIBRARY_CLASS = OpensslLib > DEFINE OPENSSL_PATH = openssl > - DEFINE OPENSSL_FLAGS = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE - > D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_ASM > + DEFINE OPENSSL_FLAGS = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE - > D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_ASM -Wno-error > > # > # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 > -- > 2.33.1 > > > > > -- Pedro Falcato