blob: 47ce11a71feab7417d8195b53f8aedede583d5cc [file] [log] [blame]
Serge Bazanski72c1f2b2024-06-04 13:42:48 +00001From fa72e847a7fb503daa25b5007edb28483a0f6e42 Mon Sep 17 00:00:00 2001
2From: Serge Bazanski <serge@monogon.tech>
3Date: Tue, 4 Jun 2024 14:31:54 +0200
4Subject: [PATCH 6/6] bazel support: implement
5
6---
7 BUILD.bazel | 45 ++++++++++++++++++++++++++++++++++++++++
8 WORKSPACE | 0
9 include/libtpms/config.h | 3 +++
10 src/tpm_library.c | 1 +
11 src/tpm_tpm2_interface.c | 1 +
12 5 files changed, 50 insertions(+)
13 create mode 100644 BUILD.bazel
14 create mode 100644 WORKSPACE
15 create mode 100644 include/libtpms/config.h
16
17diff --git a/BUILD.bazel b/BUILD.bazel
18new file mode 100644
19index 0000000..591942d
20--- /dev/null
21+++ b/BUILD.bazel
Tim Windelschmidt0de92122024-09-24 06:37:30 +020022@@ -0,0 +1,51 @@
23+filegroup(
24+ name = "all",
25+ srcs = glob(["**"]),
26+ visibility = ["//visibility:public"],
27+)
28+
Serge Bazanski72c1f2b2024-06-04 13:42:48 +000029+cc_library(
30+ name = "libtpms_tpm2",
31+ includes = [
32+ "include",
33+ ],
34+ copts = [
Tim Windelschmidt0de92122024-09-24 06:37:30 +020035+ "-I{path}/include/libtpms".format(path = package_relative_label(":all").workspace_root),
36+ "-I{path}/src".format(path = package_relative_label(":all").workspace_root),
37+ "-I{path}/src/tpm2".format(path = package_relative_label(":all").workspace_root),
38+ "-I{path}/src/tpm2/crypto".format(path = package_relative_label(":all").workspace_root),
39+ "-I{path}/src/tpm2/crypto/openssl".format(path = package_relative_label(":all").workspace_root),
Serge Bazanski72c1f2b2024-06-04 13:42:48 +000040+ ],
41+ defines = [
42+ "TPM_LIBTPMS_CALLBACKS",
43+ "TPM_NV_DISK",
44+ ],
45+ deps = [
46+ "@boringssl//:ssl",
47+ ],
48+ textual_hdrs = [
49+ "src/tpm2/EccConstantData.inl",
50+ ],
51+ srcs = glob([
52+ "include/config.h",
53+ "include/libtpms/*.h",
54+
55+ "src/*.h",
56+ "src/*.c",
57+
58+ "src/tpm2/*.h",
59+ "src/tpm2/*.c",
60+
61+ "src/tpm2/crypto/*.h",
62+ "src/tpm2/crypto/openssl/*.h",
63+ "src/tpm2/crypto/openssl/*.c",
64+
65+ "src/monogon_unsafe.c",
66+ ], [
67+ # No TPM1.2 support.
68+ "src/tpm_tpm12*",
69+ ]),
70+ visibility = [
71+ "//visibility:public",
72+ ],
73+)
74diff --git a/WORKSPACE b/WORKSPACE
75new file mode 100644
76index 0000000..e69de29
77diff --git a/include/libtpms/config.h b/include/libtpms/config.h
78new file mode 100644
79index 0000000..bb4316e
80--- /dev/null
81+++ b/include/libtpms/config.h
82@@ -0,0 +1,3 @@
83+#pragma once
84+
85+#define WITH_TPM2 1
86diff --git a/src/tpm_library.c b/src/tpm_library.c
87index 20153b7..a3c5694 100644
88--- a/src/tpm_library.c
89+++ b/src/tpm_library.c
90@@ -63,6 +63,7 @@
91 #include "tpm_debug.h"
92 #include "tpm_error.h"
93 #include "tpm_library.h"
94+#include "tpm_library_conf.h"
95 #include "tpm_library_intern.h"
96 #include "tpm_nvfilename.h"
97 #include "tpm_tis.h"
98diff --git a/src/tpm_tpm2_interface.c b/src/tpm_tpm2_interface.c
99index 4570d78..7e51b5e 100644
100--- a/src/tpm_tpm2_interface.c
101+++ b/src/tpm_tpm2_interface.c
102@@ -65,6 +65,7 @@
103 #include "tpm_nvfile.h" // TPM_NVRAM_Loaddata()
104 #include "tpm_error.h"
105 #include "tpm_library_intern.h"
106+#include "tpm_library_conf.h"
107 #include "tpm_nvfilename.h"
108
109 extern BOOL g_inFailureMode;
110--
1112.42.0
112