xref: /aosp_15_r20/external/coreboot/Android.bp (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1package {
2    default_applicable_licenses: ["external_coreboot_license"],
3}
4
5license {
6    name: "external_coreboot_license",
7    visibility: [":__subpackages__"],
8    license_kinds: [
9        "SPDX-license-identifier-Apache-2.0",
10        "SPDX-license-identifier-BSD-2-Clause",
11        "SPDX-license-identifier-BSD-2-Clause-Patent",
12        "SPDX-license-identifier-BSD-3-Clause",
13        "SPDX-license-identifier-BSD-4-Clause-UC",
14        "SPDX-license-identifier-CC-BY-4.0",
15        "SPDX-license-identifier-CC-BY-SA-3.0",
16        "SPDX-license-identifier-GPL-2.0-only",
17        "SPDX-license-identifier-GPL-2.0-or-later",
18        "SPDX-license-identifier-GPL-3.0-only",
19        "SPDX-license-identifier-GPL-3.0-or-later",
20        "SPDX-license-identifier-HPND",
21        "SPDX-license-identifier-ISC",
22        "SPDX-license-identifier-LGPL-2.1-or-later",
23        "SPDX-license-identifier-MIT",
24    ],
25    license_text: [
26        "COPYING",
27        "LICENSE",
28    ],
29}
30
31cc_defaults {
32    name: "coreboot-tools-defaults",
33    cflags: [
34        "-Werror",
35        "-Wall",
36        "-Wextra",
37        "-Wshadow",
38        "-Wcast-qual",
39        "-Wmissing-prototypes",
40        "-Wredundant-decls",
41        "-Wstrict-prototypes",
42        "-Wwrite-strings",
43
44        "-Wno-unused-parameter",
45        "-Wno-address-of-packed-member",
46        "-Wno-enum-conversion",
47        "-Wno-missing-braces",
48        "-Wno-error=gnu-pointer-arith",
49
50        "-Wno-sign-compare",
51        "-Wno-cast-qual",
52
53        "-D_DEFAULT_SOURCE",
54        "-D_GNU_SOURCE",
55
56        "-include src/commonlib/bsd/include/commonlib/bsd/compiler.h",
57    ],
58
59    local_include_dirs: [
60        "util/cbfstool/flashmap",
61        "util/cbfstool",
62        "src/commonlib/include",
63        "src/commonlib/bsd/include",
64        "src",
65        "src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include",
66    ],
67}
68
69cc_defaults {
70    name: "coreboot-tools-with-vboot-defaults",
71    defaults: [ "coreboot-tools-defaults" ],
72    include_dirs: ["external/vboot_reference/host/lib/include"],
73    static_libs: ["libvboot_host"],
74}
75
76genrule {
77    name: "fmd_shipped_headers",
78    srcs: [
79        "util/cbfstool/fmd_scanner.h_shipped",
80        "util/cbfstool/fmd_parser.h_shipped",
81    ],
82    cmd: "for f in $(in); do b=$$(basename $$f); cp $$f $(genDir)/$${b%_shipped}; done",
83    out: [
84        "fmd_scanner.h",
85        "fmd_parser.h",
86    ],
87}
88
89genrule {
90    name: "fmd_shipped_sources",
91    srcs: [
92        "util/cbfstool/fmd_scanner.c_shipped",
93        "util/cbfstool/fmd_parser.c_shipped",
94    ],
95    cmd: "for f in $(in); do b=$$(basename $$f); cp $$f $(genDir)/$${b%_shipped}; done",
96    out: [
97        "fmd_scanner.c",
98        "fmd_parser.c",
99    ],
100}
101
102cc_binary {
103    name: "cbfstool",
104    defaults: [ "coreboot-tools-with-vboot-defaults" ],
105    host_supported: true,
106    vendor: true,
107    cflags: [
108        "-Wno-error=missing-prototypes",
109        "-Wno-error=strict-prototypes",
110    ],
111    srcs: [
112        "util/cbfstool/cbfstool.c",
113        "util/cbfstool/common.c",
114        "util/cbfstool/cbfs_image.c",
115        "util/cbfstool/cbfs-mkstage.c",
116        "util/cbfstool/cbfs-mkpayload.c",
117        "util/cbfstool/elfheaders.c",
118        "util/cbfstool/rmodule.c",
119        "util/cbfstool/xdr.c",
120        "util/cbfstool/partitioned_file.c",
121        "util/cbfstool/platform_fixups.c",
122
123        "src/commonlib/bsd/cbfs_private.c",
124        "src/commonlib/fsp_relocate.c",
125
126        "util/cbfstool/flashmap/fmap.c",
127        "util/cbfstool/flashmap/kv_pair.c",
128        "util/cbfstool/flashmap/valstr.c",
129
130        "util/cbfstool/linux_trampoline.c",
131        "util/cbfstool/cbfs-payload-linux.c",
132
133        "util/cbfstool/compress.c",
134
135        "util/cbfstool/lz4/lib/lz4.c",
136        "util/cbfstool/lz4/lib/lz4hc.c",
137        "util/cbfstool/lz4/lib/lz4frame.c",
138        "util/cbfstool/lz4/lib/xxhash.c",
139        "src/commonlib/bsd/lz4_wrapper.c",
140
141        "util/cbfstool/lzma/lzma.c",
142        "util/cbfstool/lzma/C/LzFind.c",
143        "util/cbfstool/lzma/C/LzmaDec.c",
144        "util/cbfstool/lzma/C/LzmaEnc.c",
145    ],
146    generated_headers: ["fmd_shipped_headers"],
147}
148
149cc_binary {
150    name: "elogtool",
151    defaults: [ "coreboot-tools-with-vboot-defaults" ],
152    vendor: true,
153    srcs: [
154        "util/cbfstool/common.c",
155        "util/cbfstool/elogtool.c",
156        "util/cbfstool/eventlog.c",
157        "util/cbfstool/flashrom.c",
158        "util/cbfstool/flashmap/valstr.c",
159        "src/commonlib/bsd/elog.c",
160    ],
161}
162
163cc_binary {
164    name: "ifdtool",
165    defaults: ["coreboot-tools-defaults"],
166    vendor: true,
167    cflags: [
168        "-Wno-error=incompatible-pointer-types-discards-qualifiers",
169        "-Wno-error=shadow",
170    ],
171    srcs: [
172        "util/ifdtool/ifdtool.c",
173        "util/cbfstool/flashmap/fmap.c",
174        "util/cbfstool/flashmap/kv_pair.c",
175        "util/cbfstool/flashmap/valstr.c",
176    ],
177}
178
179cc_binary {
180  name: "cbmem",
181  defaults: ["coreboot-tools-defaults"],
182  vendor: true,
183  srcs: [
184    "util/cbmem/cbmem.c",
185    "src/commonlib/bsd/ipchksum.c",
186  ],
187}
188