Move ssl and decrepit sources to sources.cmake

Bug: 542
Change-Id: Iec0348555b988f8eb8eb24394a867e015b125c20
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/67227
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d5e0ae..fe90240 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -516,11 +516,20 @@
 add_library(crypto_test_data OBJECT crypto_test_data.cc)
 
 add_subdirectory(crypto)
-add_subdirectory(ssl)
 add_subdirectory(ssl/test)
 add_subdirectory(util/fipstools)
 add_subdirectory(util/fipstools/acvp/modulewrapper)
-add_subdirectory(decrepit)
+
+add_library(ssl ${SSL_SOURCES})
+# Although libssl also provides headers that require an include directory, the
+# flag is already specified by libcrypto, so we omit target_include_directories
+# here.
+install_if_enabled(TARGETS ssl EXPORT OpenSSLTargets ${INSTALL_DESTINATION_DEFAULT})
+set_property(TARGET ssl PROPERTY EXPORT_NAME SSL)
+target_link_libraries(ssl crypto)
+
+add_library(decrepit ${DECREPIT_SOURCES})
+target_link_libraries(decrepit crypto ssl)
 
 add_library(test_support_lib STATIC ${TEST_SUPPORT_SOURCES})
 if (LIBUNWIND_FOUND)
@@ -547,7 +556,6 @@
 add_executable(ssl_test ${SSL_TEST_SOURCES})
 target_link_libraries(ssl_test test_support_lib boringssl_gtest ssl crypto)
 add_dependencies(all_tests ssl_test)
-
 add_executable(decrepit_test ${DECREPIT_TEST_SOURCES})
 target_link_libraries(decrepit_test test_support_lib boringssl_gtest
                       decrepit crypto)
@@ -580,8 +588,8 @@
 # existing tools, we, for now, copy the targets into the subdirectories. This
 # will be removed sometime in 2024.
 copy_post_build(crypto crypto_test urandom_test)
-copy_post_build(ssl ssl_test)
-copy_post_build(decrepit decrepit_test)
+copy_post_build(ssl ssl ssl_test)
+copy_post_build(decrepit decrepit decrepit_test)
 copy_post_build(tool bssl)
 
 if(FUZZ)
diff --git a/decrepit/CMakeLists.txt b/decrepit/CMakeLists.txt
deleted file mode 100644
index 9c042bb..0000000
--- a/decrepit/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-add_library(
-  decrepit
-
-  bio/base64_bio.c
-  blowfish/blowfish.c
-  cast/cast.c
-  cast/cast_tables.c
-  cfb/cfb.c
-  des/cfb64ede.c
-  dh/dh_decrepit.c
-  dsa/dsa_decrepit.c
-  evp/dss1.c
-  evp/evp_do_all.c
-  obj/obj_decrepit.c
-  rc4/rc4_decrepit.c
-  ripemd/ripemd.c
-  rsa/rsa_decrepit.c
-  ssl/ssl_decrepit.c
-  x509/x509_decrepit.c
-  xts/xts.c
-)
-target_link_libraries(decrepit crypto ssl)
diff --git a/sources.cmake b/sources.cmake
index 262b3fd..c28ee65 100644
--- a/sources.cmake
+++ b/sources.cmake
@@ -331,6 +331,49 @@
 )
 
 set(
+  SSL_SOURCES
+
+  ssl/bio_ssl.cc
+  ssl/d1_both.cc
+  ssl/d1_lib.cc
+  ssl/d1_pkt.cc
+  ssl/d1_srtp.cc
+  ssl/dtls_method.cc
+  ssl/dtls_record.cc
+  ssl/encrypted_client_hello.cc
+  ssl/extensions.cc
+  ssl/handoff.cc
+  ssl/handshake.cc
+  ssl/handshake_client.cc
+  ssl/handshake_server.cc
+  ssl/s3_both.cc
+  ssl/s3_lib.cc
+  ssl/s3_pkt.cc
+  ssl/ssl_aead_ctx.cc
+  ssl/ssl_asn1.cc
+  ssl/ssl_buffer.cc
+  ssl/ssl_cert.cc
+  ssl/ssl_cipher.cc
+  ssl/ssl_credential.cc
+  ssl/ssl_file.cc
+  ssl/ssl_key_share.cc
+  ssl/ssl_lib.cc
+  ssl/ssl_privkey.cc
+  ssl/ssl_session.cc
+  ssl/ssl_stat.cc
+  ssl/ssl_transcript.cc
+  ssl/ssl_versions.cc
+  ssl/ssl_x509.cc
+  ssl/t1_enc.cc
+  ssl/tls_method.cc
+  ssl/tls_record.cc
+  ssl/tls13_both.cc
+  ssl/tls13_client.cc
+  ssl/tls13_enc.cc
+  ssl/tls13_server.cc
+)
+
+set(
   SSL_TEST_SOURCES
 
   crypto/test/gtest_main.cc
@@ -340,6 +383,28 @@
 )
 
 set(
+  DECREPIT_SOURCES
+
+  decrepit/bio/base64_bio.c
+  decrepit/blowfish/blowfish.c
+  decrepit/cast/cast.c
+  decrepit/cast/cast_tables.c
+  decrepit/cfb/cfb.c
+  decrepit/des/cfb64ede.c
+  decrepit/dh/dh_decrepit.c
+  decrepit/dsa/dsa_decrepit.c
+  decrepit/evp/dss1.c
+  decrepit/evp/evp_do_all.c
+  decrepit/obj/obj_decrepit.c
+  decrepit/rc4/rc4_decrepit.c
+  decrepit/ripemd/ripemd.c
+  decrepit/rsa/rsa_decrepit.c
+  decrepit/ssl/ssl_decrepit.c
+  decrepit/x509/x509_decrepit.c
+  decrepit/xts/xts.c
+)
+
+set(
   DECREPIT_TEST_SOURCES
 
   crypto/test/gtest_main.cc
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt
deleted file mode 100644
index c009317..0000000
--- a/ssl/CMakeLists.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-add_library(
-  ssl
-
-  bio_ssl.cc
-  d1_both.cc
-  d1_lib.cc
-  d1_pkt.cc
-  d1_srtp.cc
-  dtls_method.cc
-  dtls_record.cc
-  encrypted_client_hello.cc
-  extensions.cc
-  handoff.cc
-  handshake.cc
-  handshake_client.cc
-  handshake_server.cc
-  s3_both.cc
-  s3_lib.cc
-  s3_pkt.cc
-  ssl_aead_ctx.cc
-  ssl_asn1.cc
-  ssl_buffer.cc
-  ssl_cert.cc
-  ssl_cipher.cc
-  ssl_credential.cc
-  ssl_file.cc
-  ssl_key_share.cc
-  ssl_lib.cc
-  ssl_privkey.cc
-  ssl_session.cc
-  ssl_stat.cc
-  ssl_transcript.cc
-  ssl_versions.cc
-  ssl_x509.cc
-  t1_enc.cc
-  tls_method.cc
-  tls_record.cc
-  tls13_both.cc
-  tls13_client.cc
-  tls13_enc.cc
-  tls13_server.cc
-)
-# Although libssl also provides headers that require an include directory, the
-# flag is already specified by libcrypto, so we omit target_include_directories
-# here.
-install_if_enabled(TARGETS ssl EXPORT OpenSSLTargets ${INSTALL_DESTINATION_DEFAULT})
-set_property(TARGET ssl PROPERTY EXPORT_NAME SSL)
-target_link_libraries(ssl crypto)
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index 7024090..1b34dc2 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -796,7 +796,6 @@
   crypto_c_files = (FindCFiles(os.path.join('src', 'crypto'), NoTestsNorFIPSFragments) +
                     FindCFiles(os.path.join('src', 'third_party', 'fiat'), NoTestsNorFIPSFragments))
   fips_fragments = FindCFiles(os.path.join('src', 'crypto', 'fipsmodule'), OnlyFIPSFragments)
-  ssl_source_files = FindCFiles(os.path.join('src', 'ssl'), NoTests)
   tool_h_files = FindHeaderFiles(os.path.join('src', 'tool'), AllFiles)
   bssl_sys_files = FindRustFiles(os.path.join('src', 'rust', 'bssl-sys', 'src'))
   bssl_crypto_files = FindRustFiles(os.path.join('src', 'rust', 'bssl-crypto', 'src'))
@@ -883,7 +882,7 @@
       'pki_test_data': PrefixWithSrc(cmake['PKI_TEST_DATA']),
       'rust_bssl_crypto': bssl_crypto_files,
       'rust_bssl_sys': bssl_sys_files,
-      'ssl': ssl_source_files,
+      'ssl': PrefixWithSrc(cmake['SSL_SOURCES']),
       'ssl_headers': ssl_h_files,
       'ssl_internal_headers': ssl_internal_h_files,
       'ssl_test': PrefixWithSrc(cmake['SSL_TEST_SOURCES']),
diff --git a/util/run_android_tests.go b/util/run_android_tests.go
index 79bcfe8..4b5a18a 100644
--- a/util/run_android_tests.go
+++ b/util/run_android_tests.go
@@ -365,8 +365,8 @@
 			"libboringssl_gtest.so",
 			"libpki.so",
 			"crypto/libcrypto.so",
-			"decrepit/libdecrepit.so",
-			"ssl/libssl.so",
+			"libdecrepit.so",
+			"libssl.so",
 		}
 	} else if !os.IsNotExist(err) {
 		fmt.Printf("Failed to stat crypto/libcrypto.so: %s\n", err)