Handle fips_shared_support.c getting built in other builds. Other build systems will just take a list of the files, including fips_shared_support.c, so better to make it a no-op in the non-shared+FIPS case. Also add it to the other cases so that the CMake build better matches other builds in that respect. Change-Id: I1bea4f6b8266da32340a5fc0fed5fc3680f3b18f Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/36264 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/fipsmodule/CMakeLists.txt b/crypto/fipsmodule/CMakeLists.txt index 2fd55fd..e978820 100644 --- a/crypto/fipsmodule/CMakeLists.txt +++ b/crypto/fipsmodule/CMakeLists.txt
@@ -193,6 +193,7 @@ OBJECT + fips_shared_support.c is_fips.c ) @@ -209,8 +210,8 @@ OBJECT - is_fips.c fips_shared_support.c + is_fips.c ) add_dependencies(fipsmodule global_target) @@ -242,6 +243,7 @@ OBJECT bcm.c + fips_shared_support.c is_fips.c ${BCM_ASM_SOURCES}
diff --git a/crypto/fipsmodule/fips_shared_support.c b/crypto/fipsmodule/fips_shared_support.c index 07d5945..2a66a1f 100644 --- a/crypto/fipsmodule/fips_shared_support.c +++ b/crypto/fipsmodule/fips_shared_support.c
@@ -15,10 +15,7 @@ #include <stdint.h> -#if !defined(BORINGSSL_FIPS) || !defined(BORINGSSL_SHARED_LIBRARY) -#error "This file should only be built in a shared-object FIPS build" -#endif - +#if defined(BORINGSSL_FIPS) && defined(BORINGSSL_SHARED_LIBRARY) // BORINGSSL_bcm_text_hash is is default hash value for the FIPS integrity check // that must be replaced with the real value during the build process. This // value need only be distinct, i.e. so that we can safely search-and-replace it @@ -32,3 +29,4 @@ 0xd7, 0x25, 0xdb, 0x21, 0x98, 0xe9, 0xd5, 0x53, 0xbf, 0x5c, 0x32, 0x06, 0x83, 0x34, 0x0c, 0x65, 0x89, 0x52, 0xbd, 0x1f, }; +#endif // FIPS && SHARED_LIBRARY