xref: /aosp_15_r20/build/bazel/examples/cc/aidl_library/BUILD (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1# This BUILD file mimics what bp2build will convert cc modules with aidl srcs to
2load("//build/bazel/rules/cc:cc_aidl_library.bzl", "cc_aidl_library")
3load("//build/bazel/rules/cc:cc_binary.bzl", "cc_binary")
4load("//build/bazel/rules/cc:cc_library_shared.bzl", "cc_library_shared")
5load("//build/bazel/rules/cc:cc_library_static.bzl", "cc_library_static")
6
7# Use aidl sources from another package
8cc_aidl_library(
9    name = "foo_cc_aidl_library",
10    implementation_dynamic_deps = [
11        "//frameworks/native/libs/binder:libbinder",
12        "//system/core/libutils:libutils",
13    ],
14    deps = ["//build/bazel/examples/cc/aidl:foo"],
15)
16
17cc_library_shared(
18    name = "foo",
19    srcs = ["foo.cpp"],
20    implementation_dynamic_deps = [
21        "//frameworks/native/libs/binder:libbinder",
22        "//system/core/libutils:libutils",
23    ],
24    whole_archive_deps = [
25        "foo_cc_aidl_library",
26    ],
27)
28
29cc_library_static(
30    name = "foo_bp2build_cc_library_static",
31    srcs = ["foo.cpp"],
32    implementation_dynamic_deps = [
33        "//frameworks/native/libs/binder:libbinder",
34        "//system/core/libutils",
35    ],
36    whole_archive_deps = [
37        "foo_cc_aidl_library",
38    ],
39)
40
41cc_binary(
42    name = "program_cc_binary",
43    srcs = ["program.cpp"],
44    dynamic_deps = [
45        "//frameworks/native/libs/binder:libbinder",
46        "//system/core/libutils:libutils",
47    ],
48    whole_archive_deps = [
49        "foo_cc_aidl_library",
50    ],
51)
52