[tls] Add a build script for mbedtls library
Add a build target for third_party/mbedtls library for baremetal use.
Change-Id: I0fad79e4e212f01bedf509ba0201f905ac3930f2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/38380
Reviewed-by: Ali Zhang <alizhang@google.com>
Commit-Queue: Yecheng Zhao <zyecheng@google.com>
diff --git a/third_party/mbedtls/generate_sources_gni.py b/third_party/mbedtls/generate_sources_gni.py
new file mode 100644
index 0000000..7519b48
--- /dev/null
+++ b/third_party/mbedtls/generate_sources_gni.py
@@ -0,0 +1,50 @@
+# Copyright 2021 The Pigweed Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+import os
+
+"""Generate sources.gni for the list of mbedtls source files"""
+
+LICENSE_HEADER = """# Copyright 2021 The Pigweed Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+"""
+
+if __name__ == "__main__":
+
+ cfiles = []
+ for (path, dirnames, filenames) in os.walk("src/library"):
+ for filename in filenames:
+ if not filename.endswith('.c'):
+ continue
+ cfiles.append(os.path.join(path, filename))
+ cfiles.sort()
+
+ with open("sources.gni", 'w') as f:
+ f.write(LICENSE_HEADER)
+ f.write("mbedtls_sources = [\n")
+ for source in cfiles:
+ f.write(f' \"{source}\",\n')
+ f.write("]\n")