Have generate_build_files.py output Rust sources.
The sources of bssl_crypto, at least, are non-trivial and it'll
otherwise be a pain to keep them in sync.
Change-Id: I879f691cc8870a2215345e7c8900d98c6ae45f37
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/65487
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Auto-Submit: Adam Langley <agl@google.com>
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index e4e95ca..74eb374 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -267,6 +267,8 @@
self.PrintVariableSection(
out, 'pki_internal_headers', files['pki_internal_headers'])
self.PrintVariableSection(out, 'pki_sources', files['pki'])
+ self.PrintVariableSection(out, 'rust_bssl_sys', files['rust_bssl_sys'])
+ self.PrintVariableSection(out, 'rust_bssl_crypto', files['rust_bssl_crypto'])
self.PrintVariableSection(out, 'tool_sources', files['tool'])
self.PrintVariableSection(out, 'tool_headers', files['tool_headers'])
@@ -355,6 +357,9 @@
files['crypto_nasm'])
self.PrintVariableSection(out, 'crypto_headers',
files['crypto_headers'])
+ self.PrintVariableSection(out, 'rust_bssl_sys', files['rust_bssl_sys'])
+ self.PrintVariableSection(out, 'rust_bssl_crypto',
+ files['rust_bssl_crypto'])
self.PrintVariableSection(out, 'ssl_sources',
files['ssl'] + files['ssl_internal_headers'])
self.PrintVariableSection(out, 'ssl_headers', files['ssl_headers'])
@@ -626,6 +631,21 @@
return cfiles
+def FindRustFiles(directory):
+ """Recurses through directory and returns a list of paths to all the Rust source
+ files."""
+ rust_files = []
+
+ for (path, dirnames, filenames) in os.walk(directory):
+ for filename in filenames:
+ if not filename.endswith('.rs'):
+ continue
+ rust_files.append(os.path.join(path, filename))
+
+ rust_files.sort()
+ return rust_files
+
+
def FindHeaderFiles(directory, filter_func):
"""Recurses through directory and returns a list of paths to all the header files that pass filter_func."""
hfiles = []
@@ -765,6 +785,8 @@
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'))
# BCM shared library C files
bcm_crypto_c_files = [
@@ -845,6 +867,8 @@
'pki_internal_headers': sorted(list(pki_internal_h_files)),
'pki_test': PrefixWithSrc(cmake['PKI_TEST_SOURCES']),
'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_headers': ssl_h_files,
'ssl_internal_headers': ssl_internal_h_files,