xref: /aosp_15_r20/external/flashrom/Android.bp (revision 0d6140be3aa665ecc836e8907834fcd3e3b018fc)
1*0d6140beSAndroid Build Coastguard Workerpackage {
2*0d6140beSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_flashrom_license"],
3*0d6140beSAndroid Build Coastguard Worker}
4*0d6140beSAndroid Build Coastguard Worker
5*0d6140beSAndroid Build Coastguard Workerlicense {
6*0d6140beSAndroid Build Coastguard Worker    name: "external_flashrom_license",
7*0d6140beSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
8*0d6140beSAndroid Build Coastguard Worker    license_kinds: [
9*0d6140beSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
10*0d6140beSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
11*0d6140beSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
12*0d6140beSAndroid Build Coastguard Worker    ],
13*0d6140beSAndroid Build Coastguard Worker    license_text: [
14*0d6140beSAndroid Build Coastguard Worker        "COPYING",
15*0d6140beSAndroid Build Coastguard Worker        "LICENSE",
16*0d6140beSAndroid Build Coastguard Worker    ],
17*0d6140beSAndroid Build Coastguard Worker}
18*0d6140beSAndroid Build Coastguard Worker
19*0d6140beSAndroid Build Coastguard Workergenrule {
20*0d6140beSAndroid Build Coastguard Worker    name: "flashrom_version.h",
21*0d6140beSAndroid Build Coastguard Worker    srcs: ["VERSION"],
22*0d6140beSAndroid Build Coastguard Worker    cmd: "cat $(in) | xargs printf -- '#define FLASHROM_VERSION \"%s\"\n' > $(out)",
23*0d6140beSAndroid Build Coastguard Worker    out: ["flashrom_version.h"],
24*0d6140beSAndroid Build Coastguard Worker}
25*0d6140beSAndroid Build Coastguard Worker
26*0d6140beSAndroid Build Coastguard Workercc_defaults {
27*0d6140beSAndroid Build Coastguard Worker    name: "flashrom_defaults",
28*0d6140beSAndroid Build Coastguard Worker    host_supported: true,
29*0d6140beSAndroid Build Coastguard Worker    cflags: [
30*0d6140beSAndroid Build Coastguard Worker        "-Os",
31*0d6140beSAndroid Build Coastguard Worker        "-std=c99",
32*0d6140beSAndroid Build Coastguard Worker        "-Werror",
33*0d6140beSAndroid Build Coastguard Worker        "-Wshadow",
34*0d6140beSAndroid Build Coastguard Worker        "-Wmissing-prototypes",
35*0d6140beSAndroid Build Coastguard Worker        "-Wwrite-strings",
36*0d6140beSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
37*0d6140beSAndroid Build Coastguard Worker        "-Wno-address-of-packed-member",
38*0d6140beSAndroid Build Coastguard Worker        "-Wno-enum-conversion",
39*0d6140beSAndroid Build Coastguard Worker        "-Wno-missing-braces",
40*0d6140beSAndroid Build Coastguard Worker
41*0d6140beSAndroid Build Coastguard Worker        "-Wno-error=gnu-pointer-arith",
42*0d6140beSAndroid Build Coastguard Worker
43*0d6140beSAndroid Build Coastguard Worker        "-D_DEFAULT_SOURCE",
44*0d6140beSAndroid Build Coastguard Worker        "-D_POSIX_C_SOURCE=200809L",
45*0d6140beSAndroid Build Coastguard Worker        "-D_BSD_SOURCE",
46*0d6140beSAndroid Build Coastguard Worker        "-D__BSD_VISIBLE",
47*0d6140beSAndroid Build Coastguard Worker        "-D__XSI_VISIBLE",
48*0d6140beSAndroid Build Coastguard Worker        "-D_NETBSD_SOURCE",
49*0d6140beSAndroid Build Coastguard Worker        "-D_DARWIN_C_SOURCE",
50*0d6140beSAndroid Build Coastguard Worker
51*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_DEFAULT_PROGRAMMER_NAME=&programmer_internal",
52*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_DEFAULT_PROGRAMMER_ARGS=\"\"",
53*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_DELAY_MINIMUM_SLEEP_US=100000",
54*0d6140beSAndroid Build Coastguard Worker
55*0d6140beSAndroid Build Coastguard Worker        "-DHAVE_CLOCK_GETTIME=1",
56*0d6140beSAndroid Build Coastguard Worker        "-DHAVE_STRNLEN=1",
57*0d6140beSAndroid Build Coastguard Worker        "-DHAVE_GETOPT_H=1",
58*0d6140beSAndroid Build Coastguard Worker        "-DHAVE_PCIUTILS_PCI_H=1",
59*0d6140beSAndroid Build Coastguard Worker        "-DHAVE_UTSNAME=1",
60*0d6140beSAndroid Build Coastguard Worker
61*0d6140beSAndroid Build Coastguard Worker        // Only LittleEndian platforms are supported. Feel free to add BigEndian support.
62*0d6140beSAndroid Build Coastguard Worker        "-D__FLASHROM_LITTLE_ENDIAN__",
63*0d6140beSAndroid Build Coastguard Worker        "-include flashrom_version.h",
64*0d6140beSAndroid Build Coastguard Worker
65*0d6140beSAndroid Build Coastguard Worker        // programmers config
66*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_DUMMY=1",
67*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_INTERNAL=1",
68*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_INTERNAL_DMI=1",
69*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_IT8212=1",
70*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_LINUX_MTD=1",
71*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_LINUX_SPI=1",
72*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_MEDIATEK_I2C_SPI=1",
73*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_PARADE_LSPCON=1",
74*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_RAIDEN_DEBUG_SPI=1",
75*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_REALTEK_MST_I2C_SPI=1",
76*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_SERPROG=1",
77*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_STLINKV3_SPI=1",
78*0d6140beSAndroid Build Coastguard Worker
79*0d6140beSAndroid Build Coastguard Worker        "-DCONFIG_CROS_EC=1",
80*0d6140beSAndroid Build Coastguard Worker        "-DUSE_BIG_LOCK=1",
81*0d6140beSAndroid Build Coastguard Worker    ],
82*0d6140beSAndroid Build Coastguard Worker
83*0d6140beSAndroid Build Coastguard Worker    generated_headers: ["flashrom_version.h"],
84*0d6140beSAndroid Build Coastguard Worker
85*0d6140beSAndroid Build Coastguard Worker    include_dirs: ["external/libusb/include/libusb"],
86*0d6140beSAndroid Build Coastguard Worker
87*0d6140beSAndroid Build Coastguard Worker    static_libs: ["libpci"],
88*0d6140beSAndroid Build Coastguard Worker    shared_libs: ["libusb"],
89*0d6140beSAndroid Build Coastguard Worker}
90*0d6140beSAndroid Build Coastguard Worker
91*0d6140beSAndroid Build Coastguard Workercc_library {
92*0d6140beSAndroid Build Coastguard Worker    name: "libflashrom",
93*0d6140beSAndroid Build Coastguard Worker    defaults: ["flashrom_defaults"],
94*0d6140beSAndroid Build Coastguard Worker    host_supported: true,
95*0d6140beSAndroid Build Coastguard Worker    vendor_available: true,
96*0d6140beSAndroid Build Coastguard Worker    visibility: ["//external/vboot_reference"],
97*0d6140beSAndroid Build Coastguard Worker    init_rc: ["flashrom.rc"],
98*0d6140beSAndroid Build Coastguard Worker
99*0d6140beSAndroid Build Coastguard Worker    target: {
100*0d6140beSAndroid Build Coastguard Worker        linux: {
101*0d6140beSAndroid Build Coastguard Worker            cflags: ["-DIS_WINDOWS=0"],
102*0d6140beSAndroid Build Coastguard Worker            srcs: [
103*0d6140beSAndroid Build Coastguard Worker                "custom_baud_linux.c",
104*0d6140beSAndroid Build Coastguard Worker                "hwaccess_physmap.c",
105*0d6140beSAndroid Build Coastguard Worker            ],
106*0d6140beSAndroid Build Coastguard Worker        },
107*0d6140beSAndroid Build Coastguard Worker        linux_x86: {
108*0d6140beSAndroid Build Coastguard Worker            srcs: [
109*0d6140beSAndroid Build Coastguard Worker                "hwaccess_x86_msr.c",
110*0d6140beSAndroid Build Coastguard Worker                "hwaccess_x86_io.c",
111*0d6140beSAndroid Build Coastguard Worker            ],
112*0d6140beSAndroid Build Coastguard Worker        },
113*0d6140beSAndroid Build Coastguard Worker        linux_x86_64: {
114*0d6140beSAndroid Build Coastguard Worker            srcs: [
115*0d6140beSAndroid Build Coastguard Worker                "hwaccess_x86_msr.c",
116*0d6140beSAndroid Build Coastguard Worker                "hwaccess_x86_io.c",
117*0d6140beSAndroid Build Coastguard Worker            ],
118*0d6140beSAndroid Build Coastguard Worker        },
119*0d6140beSAndroid Build Coastguard Worker        windows: {
120*0d6140beSAndroid Build Coastguard Worker            cflags: ["-DIS_WINDOWS=1"],
121*0d6140beSAndroid Build Coastguard Worker            srcs: ["custom_baud.c"],
122*0d6140beSAndroid Build Coastguard Worker        },
123*0d6140beSAndroid Build Coastguard Worker    },
124*0d6140beSAndroid Build Coastguard Worker
125*0d6140beSAndroid Build Coastguard Worker    arch: {
126*0d6140beSAndroid Build Coastguard Worker        x86: {
127*0d6140beSAndroid Build Coastguard Worker            srcs: [
128*0d6140beSAndroid Build Coastguard Worker                "processor_enable.c",
129*0d6140beSAndroid Build Coastguard Worker                "chipset_enable.c",
130*0d6140beSAndroid Build Coastguard Worker                "board_enable.c",
131*0d6140beSAndroid Build Coastguard Worker                "cbtable.c",
132*0d6140beSAndroid Build Coastguard Worker                "internal.c",
133*0d6140beSAndroid Build Coastguard Worker                "internal_par.c",
134*0d6140beSAndroid Build Coastguard Worker                "it87spi.c",
135*0d6140beSAndroid Build Coastguard Worker                "sb600spi.c",
136*0d6140beSAndroid Build Coastguard Worker                "superio.c",
137*0d6140beSAndroid Build Coastguard Worker                "amd_imc.c",
138*0d6140beSAndroid Build Coastguard Worker                "wbsio_spi.c",
139*0d6140beSAndroid Build Coastguard Worker                "mcp6x_spi.c",
140*0d6140beSAndroid Build Coastguard Worker                "ichspi.c",
141*0d6140beSAndroid Build Coastguard Worker                "dmi.c",
142*0d6140beSAndroid Build Coastguard Worker                "pcidev.c",
143*0d6140beSAndroid Build Coastguard Worker                "known_boards.c",
144*0d6140beSAndroid Build Coastguard Worker            ],
145*0d6140beSAndroid Build Coastguard Worker        },
146*0d6140beSAndroid Build Coastguard Worker        x86_64: {
147*0d6140beSAndroid Build Coastguard Worker            srcs: [
148*0d6140beSAndroid Build Coastguard Worker                "processor_enable.c",
149*0d6140beSAndroid Build Coastguard Worker                "chipset_enable.c",
150*0d6140beSAndroid Build Coastguard Worker                "board_enable.c",
151*0d6140beSAndroid Build Coastguard Worker                "cbtable.c",
152*0d6140beSAndroid Build Coastguard Worker                "internal.c",
153*0d6140beSAndroid Build Coastguard Worker                "internal_par.c",
154*0d6140beSAndroid Build Coastguard Worker                "it87spi.c",
155*0d6140beSAndroid Build Coastguard Worker                "sb600spi.c",
156*0d6140beSAndroid Build Coastguard Worker                "superio.c",
157*0d6140beSAndroid Build Coastguard Worker                "amd_imc.c",
158*0d6140beSAndroid Build Coastguard Worker                "wbsio_spi.c",
159*0d6140beSAndroid Build Coastguard Worker                "mcp6x_spi.c",
160*0d6140beSAndroid Build Coastguard Worker                "ichspi.c",
161*0d6140beSAndroid Build Coastguard Worker                "dmi.c",
162*0d6140beSAndroid Build Coastguard Worker                "pcidev.c",
163*0d6140beSAndroid Build Coastguard Worker                "known_boards.c",
164*0d6140beSAndroid Build Coastguard Worker            ],
165*0d6140beSAndroid Build Coastguard Worker        },
166*0d6140beSAndroid Build Coastguard Worker        arm: {
167*0d6140beSAndroid Build Coastguard Worker            srcs: [
168*0d6140beSAndroid Build Coastguard Worker                "board_enable.c",
169*0d6140beSAndroid Build Coastguard Worker                "cbtable.c",
170*0d6140beSAndroid Build Coastguard Worker                "chipset_enable.c",
171*0d6140beSAndroid Build Coastguard Worker                "internal.c",
172*0d6140beSAndroid Build Coastguard Worker                "internal_par.c",
173*0d6140beSAndroid Build Coastguard Worker                "processor_enable.c",
174*0d6140beSAndroid Build Coastguard Worker                "pcidev.c",
175*0d6140beSAndroid Build Coastguard Worker                "known_boards.c",
176*0d6140beSAndroid Build Coastguard Worker            ],
177*0d6140beSAndroid Build Coastguard Worker        },
178*0d6140beSAndroid Build Coastguard Worker        arm64: {
179*0d6140beSAndroid Build Coastguard Worker            srcs: [
180*0d6140beSAndroid Build Coastguard Worker                "board_enable.c",
181*0d6140beSAndroid Build Coastguard Worker                "cbtable.c",
182*0d6140beSAndroid Build Coastguard Worker                "chipset_enable.c",
183*0d6140beSAndroid Build Coastguard Worker                "internal.c",
184*0d6140beSAndroid Build Coastguard Worker                "internal_par.c",
185*0d6140beSAndroid Build Coastguard Worker                "processor_enable.c",
186*0d6140beSAndroid Build Coastguard Worker                "pcidev.c",
187*0d6140beSAndroid Build Coastguard Worker                "known_boards.c",
188*0d6140beSAndroid Build Coastguard Worker            ],
189*0d6140beSAndroid Build Coastguard Worker        },
190*0d6140beSAndroid Build Coastguard Worker    },
191*0d6140beSAndroid Build Coastguard Worker
192*0d6140beSAndroid Build Coastguard Worker    srcs: [
193*0d6140beSAndroid Build Coastguard Worker        "82802ab.c",
194*0d6140beSAndroid Build Coastguard Worker        "at45db.c",
195*0d6140beSAndroid Build Coastguard Worker        "bitbang_spi.c",
196*0d6140beSAndroid Build Coastguard Worker        "edi.c",
197*0d6140beSAndroid Build Coastguard Worker        "en29lv640b.c",
198*0d6140beSAndroid Build Coastguard Worker        "erasure_layout.c",
199*0d6140beSAndroid Build Coastguard Worker        "flashchips.c",
200*0d6140beSAndroid Build Coastguard Worker        "flashrom.c",
201*0d6140beSAndroid Build Coastguard Worker        "fmap.c",
202*0d6140beSAndroid Build Coastguard Worker        "helpers.c",
203*0d6140beSAndroid Build Coastguard Worker        "helpers_fileio.c",
204*0d6140beSAndroid Build Coastguard Worker        "ich_descriptors.c",
205*0d6140beSAndroid Build Coastguard Worker        "jedec.c",
206*0d6140beSAndroid Build Coastguard Worker        "printlock.c",
207*0d6140beSAndroid Build Coastguard Worker        "layout.c",
208*0d6140beSAndroid Build Coastguard Worker        "libflashrom.c",
209*0d6140beSAndroid Build Coastguard Worker        "opaque.c",
210*0d6140beSAndroid Build Coastguard Worker        "parallel.c",
211*0d6140beSAndroid Build Coastguard Worker        "print.c",
212*0d6140beSAndroid Build Coastguard Worker        "programmer.c",
213*0d6140beSAndroid Build Coastguard Worker        "programmer_table.c",
214*0d6140beSAndroid Build Coastguard Worker        "s25f.c",
215*0d6140beSAndroid Build Coastguard Worker        "sfdp.c",
216*0d6140beSAndroid Build Coastguard Worker        "spi25.c",
217*0d6140beSAndroid Build Coastguard Worker        "spi25_statusreg.c",
218*0d6140beSAndroid Build Coastguard Worker        "spi95.c",
219*0d6140beSAndroid Build Coastguard Worker        "spi.c",
220*0d6140beSAndroid Build Coastguard Worker        "sst28sf040.c",
221*0d6140beSAndroid Build Coastguard Worker        "sst49lfxxxc.c",
222*0d6140beSAndroid Build Coastguard Worker        "sst_fwhub.c",
223*0d6140beSAndroid Build Coastguard Worker        "stm50.c",
224*0d6140beSAndroid Build Coastguard Worker        "w29ee011.c",
225*0d6140beSAndroid Build Coastguard Worker        "w39.c",
226*0d6140beSAndroid Build Coastguard Worker        "writeprotect.c",
227*0d6140beSAndroid Build Coastguard Worker        "writeprotect_ranges.c",
228*0d6140beSAndroid Build Coastguard Worker        "udelay.c",
229*0d6140beSAndroid Build Coastguard Worker
230*0d6140beSAndroid Build Coastguard Worker        "power.c",
231*0d6140beSAndroid Build Coastguard Worker        "action_descriptor.c",
232*0d6140beSAndroid Build Coastguard Worker        "flashchips_crosbl.c",
233*0d6140beSAndroid Build Coastguard Worker        "cros_ec.c",
234*0d6140beSAndroid Build Coastguard Worker        "big_lock.c",
235*0d6140beSAndroid Build Coastguard Worker        "file_lock.c",
236*0d6140beSAndroid Build Coastguard Worker
237*0d6140beSAndroid Build Coastguard Worker        // Programmers
238*0d6140beSAndroid Build Coastguard Worker        "dummyflasher.c",
239*0d6140beSAndroid Build Coastguard Worker        "it8212.c",
240*0d6140beSAndroid Build Coastguard Worker        "linux_mtd.c",
241*0d6140beSAndroid Build Coastguard Worker        "linux_spi.c",
242*0d6140beSAndroid Build Coastguard Worker        "parade_lspcon.c",
243*0d6140beSAndroid Build Coastguard Worker        "i2c_helper_linux.c",
244*0d6140beSAndroid Build Coastguard Worker        "mediatek_i2c_spi.c",
245*0d6140beSAndroid Build Coastguard Worker        "raiden_debug_spi.c",
246*0d6140beSAndroid Build Coastguard Worker        "usb_device.c",
247*0d6140beSAndroid Build Coastguard Worker        "realtek_mst_i2c_spi.c",
248*0d6140beSAndroid Build Coastguard Worker        "serprog.c",
249*0d6140beSAndroid Build Coastguard Worker        "serial.c",
250*0d6140beSAndroid Build Coastguard Worker        "stlinkv3_spi.c",
251*0d6140beSAndroid Build Coastguard Worker        "usbdev.c",
252*0d6140beSAndroid Build Coastguard Worker
253*0d6140beSAndroid Build Coastguard Worker        // Platform
254*0d6140beSAndroid Build Coastguard Worker        "platform/endian_little.c",
255*0d6140beSAndroid Build Coastguard Worker        "platform/memaccess.c",
256*0d6140beSAndroid Build Coastguard Worker    ],
257*0d6140beSAndroid Build Coastguard Worker
258*0d6140beSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
259*0d6140beSAndroid Build Coastguard Worker    static_libs: ["libz"],
260*0d6140beSAndroid Build Coastguard Worker
261*0d6140beSAndroid Build Coastguard Worker}
262*0d6140beSAndroid Build Coastguard Worker
263*0d6140beSAndroid Build Coastguard Workercc_binary {
264*0d6140beSAndroid Build Coastguard Worker    name: "flashrom",
265*0d6140beSAndroid Build Coastguard Worker    defaults: ["flashrom_defaults"],
266*0d6140beSAndroid Build Coastguard Worker    vendor: true,
267*0d6140beSAndroid Build Coastguard Worker
268*0d6140beSAndroid Build Coastguard Worker    srcs: [
269*0d6140beSAndroid Build Coastguard Worker        "cli_classic.c",
270*0d6140beSAndroid Build Coastguard Worker        "cli_common.c",
271*0d6140beSAndroid Build Coastguard Worker        "cli_output.c",
272*0d6140beSAndroid Build Coastguard Worker    ],
273*0d6140beSAndroid Build Coastguard Worker
274*0d6140beSAndroid Build Coastguard Worker    shared_libs: ["libflashrom"],
275*0d6140beSAndroid Build Coastguard Worker}
276