xref: /aosp_15_r20/external/pciutils/Android.bp (revision c2e0c6b56a71da9abe8df5c8348fb3eb5c2c9251)
1*c2e0c6b5SAndroid Build Coastguard Workerpackage {
2*c2e0c6b5SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_pciutils_license"],
3*c2e0c6b5SAndroid Build Coastguard Worker}
4*c2e0c6b5SAndroid Build Coastguard Worker
5*c2e0c6b5SAndroid Build Coastguard Workerlicense {
6*c2e0c6b5SAndroid Build Coastguard Worker    name: "external_pciutils_license",
7*c2e0c6b5SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
8*c2e0c6b5SAndroid Build Coastguard Worker    license_kinds: [
9*c2e0c6b5SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
10*c2e0c6b5SAndroid Build Coastguard Worker    ],
11*c2e0c6b5SAndroid Build Coastguard Worker    license_text: [
12*c2e0c6b5SAndroid Build Coastguard Worker        "COPYING",
13*c2e0c6b5SAndroid Build Coastguard Worker        "LICENSE",
14*c2e0c6b5SAndroid Build Coastguard Worker    ],
15*c2e0c6b5SAndroid Build Coastguard Worker}
16*c2e0c6b5SAndroid Build Coastguard Worker
17*c2e0c6b5SAndroid Build Coastguard Workercc_genrule {
18*c2e0c6b5SAndroid Build Coastguard Worker    name: "libpci_config",
19*c2e0c6b5SAndroid Build Coastguard Worker    out: ["config.h"],
20*c2e0c6b5SAndroid Build Coastguard Worker    srcs: ["Makefile"],
21*c2e0c6b5SAndroid Build Coastguard Worker    host_supported: true,
22*c2e0c6b5SAndroid Build Coastguard Worker    vendor_available: true,
23*c2e0c6b5SAndroid Build Coastguard Worker    cmd: "echo >$(out) '#define PCI_CONFIG_H'\n" +
24*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) \"#define PCI_ARCH_`echo $${CC_ARCH} | tr '[a-z]' '[A-Z]'`\"\n" +
25*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_OS_LINUX'\n" +
26*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_PM_LINUX_SYSFS'\n" +
27*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_PM_LINUX_PROC'\n" +
28*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_PM_MMIO_CONF'\n" +
29*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_PM_ECAM'\n" +
30*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_LINUX_BYTEORDER_H'\n" +
31*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_PROC_BUS_PCI \"/proc/bus/pci\"'\n" +
32*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_SYS_BUS_PCI \"/sys/bus/pci\"'\n" +
33*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_DEVMEM_DEVICE \"/dev/mem\"'\n" +
34*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_ACPI_MCFG \"/sys/firmware/acpi/tables/MCFG\"'\n" +
35*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_EFI_SYSTAB \"/sys/firmware/efi/systab\"'\n" +
36*c2e0c6b5SAndroid Build Coastguard Worker        "( [ \"$${CC_ARCH}\" == 'x86_64' ] && echo >>$(out) '#define PCI_HAVE_PM_INTEL_CONF' )\n" +
37*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_64BIT_ADDRESS'\n" +
38*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_HAVE_PM_DUMP'\n" +
39*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_COMPRESSED_IDS'\n" + // ZLib
40*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_IDS \"pci.ids.gz\"'\n" +
41*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_PATH_IDS_DIR \"\"'\n" +
42*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) '#define PCI_USE_LIBKMOD'\n" +
43*c2e0c6b5SAndroid Build Coastguard Worker        "echo >>$(out) \"#define PCILIB_VERSION \\\"`sed -nE 's/^VERSION=(\\S*)/\\1/p' $(in)`\\\"\"",
44*c2e0c6b5SAndroid Build Coastguard Worker}
45*c2e0c6b5SAndroid Build Coastguard Worker
46*c2e0c6b5SAndroid Build Coastguard Workercc_genrule {
47*c2e0c6b5SAndroid Build Coastguard Worker    name: "libpci_includes",
48*c2e0c6b5SAndroid Build Coastguard Worker    host_supported: true,
49*c2e0c6b5SAndroid Build Coastguard Worker    vendor_available: true,
50*c2e0c6b5SAndroid Build Coastguard Worker    srcs: [
51*c2e0c6b5SAndroid Build Coastguard Worker        ":libpci_config",
52*c2e0c6b5SAndroid Build Coastguard Worker        "lib/header.h",
53*c2e0c6b5SAndroid Build Coastguard Worker        "lib/pci.h",
54*c2e0c6b5SAndroid Build Coastguard Worker        "lib/types.h",
55*c2e0c6b5SAndroid Build Coastguard Worker    ],
56*c2e0c6b5SAndroid Build Coastguard Worker    out: [
57*c2e0c6b5SAndroid Build Coastguard Worker        "pciutils/config.h",
58*c2e0c6b5SAndroid Build Coastguard Worker        "pciutils/header.h",
59*c2e0c6b5SAndroid Build Coastguard Worker        "pciutils/pci.h",
60*c2e0c6b5SAndroid Build Coastguard Worker        "pciutils/types.h",
61*c2e0c6b5SAndroid Build Coastguard Worker    ],
62*c2e0c6b5SAndroid Build Coastguard Worker    cmd: "mkdir -p $(genDir)/pciutils && cp $(in) $(genDir)/pciutils/",
63*c2e0c6b5SAndroid Build Coastguard Worker}
64*c2e0c6b5SAndroid Build Coastguard Worker
65*c2e0c6b5SAndroid Build Coastguard Workercc_library_static {
66*c2e0c6b5SAndroid Build Coastguard Worker    name: "libpci",
67*c2e0c6b5SAndroid Build Coastguard Worker    host_supported: true,
68*c2e0c6b5SAndroid Build Coastguard Worker    vendor_available: true,
69*c2e0c6b5SAndroid Build Coastguard Worker    visibility: ["//external/flashrom"],
70*c2e0c6b5SAndroid Build Coastguard Worker
71*c2e0c6b5SAndroid Build Coastguard Worker    cflags: [
72*c2e0c6b5SAndroid Build Coastguard Worker        "-O2",
73*c2e0c6b5SAndroid Build Coastguard Worker        "-Wall",
74*c2e0c6b5SAndroid Build Coastguard Worker        "-W",
75*c2e0c6b5SAndroid Build Coastguard Worker        "-Wno-parentheses",
76*c2e0c6b5SAndroid Build Coastguard Worker        "-Wstrict-prototypes",
77*c2e0c6b5SAndroid Build Coastguard Worker        "-Wmissing-prototypes",
78*c2e0c6b5SAndroid Build Coastguard Worker    ],
79*c2e0c6b5SAndroid Build Coastguard Worker
80*c2e0c6b5SAndroid Build Coastguard Worker    srcs: [
81*c2e0c6b5SAndroid Build Coastguard Worker        "lib/init.c",
82*c2e0c6b5SAndroid Build Coastguard Worker        "lib/access.c",
83*c2e0c6b5SAndroid Build Coastguard Worker        "lib/generic.c",
84*c2e0c6b5SAndroid Build Coastguard Worker        "lib/dump.c",
85*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names.c",
86*c2e0c6b5SAndroid Build Coastguard Worker        "lib/filter.c",
87*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names-hash.c",
88*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names-parse.c",
89*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names-net.c",
90*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names-cache.c",
91*c2e0c6b5SAndroid Build Coastguard Worker        "lib/names-hwdb.c",
92*c2e0c6b5SAndroid Build Coastguard Worker        "lib/params.c",
93*c2e0c6b5SAndroid Build Coastguard Worker        "lib/caps.c",
94*c2e0c6b5SAndroid Build Coastguard Worker        "lib/sysfs.c",
95*c2e0c6b5SAndroid Build Coastguard Worker        "lib/proc.c",
96*c2e0c6b5SAndroid Build Coastguard Worker        "lib/mmio-ports.c",
97*c2e0c6b5SAndroid Build Coastguard Worker        "lib/ecam.c",
98*c2e0c6b5SAndroid Build Coastguard Worker        "lib/physmem-posix.c",
99*c2e0c6b5SAndroid Build Coastguard Worker    ],
100*c2e0c6b5SAndroid Build Coastguard Worker
101*c2e0c6b5SAndroid Build Coastguard Worker    arch: {
102*c2e0c6b5SAndroid Build Coastguard Worker        x86: {
103*c2e0c6b5SAndroid Build Coastguard Worker            srcs: ["lib/i386-ports.c"],
104*c2e0c6b5SAndroid Build Coastguard Worker        },
105*c2e0c6b5SAndroid Build Coastguard Worker        x86_64: {
106*c2e0c6b5SAndroid Build Coastguard Worker            srcs: ["lib/i386-ports.c"],
107*c2e0c6b5SAndroid Build Coastguard Worker        },
108*c2e0c6b5SAndroid Build Coastguard Worker    },
109*c2e0c6b5SAndroid Build Coastguard Worker
110*c2e0c6b5SAndroid Build Coastguard Worker    generated_headers: [
111*c2e0c6b5SAndroid Build Coastguard Worker        "libpci_config",
112*c2e0c6b5SAndroid Build Coastguard Worker        "libpci_includes",
113*c2e0c6b5SAndroid Build Coastguard Worker    ],
114*c2e0c6b5SAndroid Build Coastguard Worker
115*c2e0c6b5SAndroid Build Coastguard Worker    export_generated_headers: ["libpci_includes"],
116*c2e0c6b5SAndroid Build Coastguard Worker
117*c2e0c6b5SAndroid Build Coastguard Worker    static_libs: [
118*c2e0c6b5SAndroid Build Coastguard Worker        "libkmod",
119*c2e0c6b5SAndroid Build Coastguard Worker        "libz",
120*c2e0c6b5SAndroid Build Coastguard Worker    ],
121*c2e0c6b5SAndroid Build Coastguard Worker}
122