Build fips_shared_support.c as part of libcrypto
This aligns with the generated build, where fips_shared_support.c is
part of crypto_sources, not the delocated part.
It is conceptually part of bcm, but our generated builds currently
only separate on basis of delocated/partial-linked vs. not delocated.
Bug: 542
Change-Id: Ib8de3fb0a7778c9000c3b4fca978d43cb9a29d12
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/67267
Reviewed-by: Adam Langley <agl@google.com>
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index e064938..70dfdff 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -3,12 +3,9 @@
if(FIPS_DELOCATE OR FIPS_SHARED)
SET_SOURCE_FILES_PROPERTIES(fipsmodule/bcm.o PROPERTIES EXTERNAL_OBJECT true)
SET_SOURCE_FILES_PROPERTIES(fipsmodule/bcm.o PROPERTIES GENERATED true)
-
- set(
- CRYPTO_FIPS_OBJECTS
-
- fipsmodule/bcm.o
- )
+ set(CRYPTO_FIPS_OBJECTS fipsmodule/bcm.o)
+else()
+ set(CRYPTO_FIPS_OBJECTS $<TARGET_OBJECTS:fipsmodule>)
endif()
set(
@@ -175,6 +172,7 @@
evp/scrypt.c
evp/sign.c
ex_data.c
+ fipsmodule/fips_shared_support.c
hpke/hpke.c
hrss/hrss.c
keccak/keccak.c
@@ -300,7 +298,6 @@
x509/x509rset.c
x509/x509spki.c
- $<TARGET_OBJECTS:fipsmodule>
${CRYPTO_FIPS_OBJECTS}
)
if(OPENSSL_ASM)
diff --git a/crypto/fipsmodule/CMakeLists.txt b/crypto/fipsmodule/CMakeLists.txt
index 9ab3da3..239ebee 100644
--- a/crypto/fipsmodule/CMakeLists.txt
+++ b/crypto/fipsmodule/CMakeLists.txt
@@ -58,13 +58,7 @@
message(FATAL_ERROR "Can't set both delocate and shared mode for FIPS build")
endif()
- add_library(
- bcm_c_generated_asm
-
- STATIC
-
- bcm.c
- )
+ add_library(bcm_c_generated_asm STATIC bcm.c)
add_dependencies(bcm_c_generated_asm boringssl_prefix_symbols)
target_include_directories(bcm_c_generated_asm PRIVATE ../../include)
set_target_properties(bcm_c_generated_asm PROPERTIES COMPILE_OPTIONS "-S")
@@ -98,13 +92,7 @@
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
- add_library(
- bcm_hashunset
-
- STATIC
-
- bcm-delocated.S
- )
+ add_library(bcm_hashunset STATIC bcm-delocated.S)
set_target_properties(bcm_hashunset PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(bcm_hashunset PROPERTIES LINKER_LANGUAGE C)
@@ -121,40 +109,12 @@
# CMakeLists.txt that defines it. Thus we have to wrap bcm.o in a custom target
# so that crypto can depend on it.
add_custom_target(bcm_o_target DEPENDS bcm.o)
-
- add_library(
- fipsmodule
-
- OBJECT
-
- fips_shared_support.c
- )
- add_dependencies(fipsmodule boringssl_prefix_symbols)
- target_include_directories(fipsmodule PRIVATE ../../include)
- set_target_properties(fipsmodule PROPERTIES LINKER_LANGUAGE C)
elseif(FIPS_SHARED)
if(NOT BUILD_SHARED_LIBS)
message(FATAL_ERROR "FIPS_SHARED set but not BUILD_SHARED_LIBS")
endif()
- add_library(
- fipsmodule
-
- OBJECT
-
- fips_shared_support.c
- )
- add_dependencies(fipsmodule boringssl_prefix_symbols)
- target_include_directories(fipsmodule PRIVATE ../../include)
-
- add_library(
- bcm_library
-
- STATIC
-
- bcm.c
- ${BCM_SOURCES_ASM_USED}
- )
+ add_library(bcm_library STATIC bcm.c ${BCM_SOURCES_ASM_USED})
add_dependencies(bcm_library boringssl_prefix_symbols)
target_include_directories(bcm_library PRIVATE ../../include)
@@ -167,15 +127,7 @@
add_custom_target(bcm_o_target DEPENDS bcm.o)
else()
- add_library(
- fipsmodule
-
- OBJECT
-
- bcm.c
- fips_shared_support.c
- ${BCM_SOURCES_ASM_USED}
- )
+ add_library(fipsmodule OBJECT bcm.c ${BCM_SOURCES_ASM_USED})
add_dependencies(fipsmodule boringssl_prefix_symbols)
target_include_directories(fipsmodule PRIVATE ../../include)
endif()