xref: /aosp_15_r20/build/bazel/examples/soong_config_variables/basic/Android.bp (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1// Use local copy of the soong_config_module_type dep graph to keep this Android.bp
2// self-contained.
3
4package {
5    default_applicable_licenses: ["Android-Apache-2.0"],
6}
7
8soong_config_string_variable {
9    name: "fake_library_linking_strategy",
10    values: [
11        "prefer_static",
12    ],
13}
14
15soong_config_module_type {
16    name: "fake_library_linking_strategy_cc_defaults",
17    module_type: "cc_defaults",
18    config_namespace: "bp2build",
19    variables: ["fake_library_linking_strategy"],
20    properties: [
21        "shared_libs",
22        "static_libs",
23    ],
24}
25
26// Fake cc_library modules for testing
27cc_library {
28    name: "bp2build_foo",
29    srcs: ["main.cpp"],
30}
31
32cc_library {
33    name: "bp2build_bar",
34    srcs: ["main.cpp"],
35}
36
37cc_library {
38    name: "bp2build_baz",
39    srcs: ["main.cpp"],
40}
41
42cc_library {
43    name: "bp2build_qux",
44    srcs: ["main.cpp"],
45}
46
47cc_library {
48    name: "bp2build_quux",
49    srcs: ["main.cpp"],
50}
51
52fake_library_linking_strategy_cc_defaults {
53    name: "fake_libadbd_binary_dependencies",
54    static_libs: [
55        "bp2build_foo",
56    ],
57
58    shared_libs: [
59        "bp2build_bar",
60    ],
61
62    soong_config_variables: {
63        fake_library_linking_strategy: {
64            prefer_static: {
65                static_libs: [
66                    "bp2build_baz",
67                ],
68            },
69            conditions_default: {
70                shared_libs: [
71                    "bp2build_qux",
72                ],
73            },
74        },
75    },
76
77    target: {
78        android: {
79            shared_libs: ["bp2build_quux"],
80        },
81        linux_glibc: {
82            enabled: false,
83        },
84        linux_musl: {
85            enabled: false,
86        },
87        linux_bionic: {
88            enabled: false,
89        },
90    },
91}
92
93// Experimental "stub" adbd for bp2build development
94cc_binary {
95    name: "bp2build_adbd",
96    defaults: [
97        "adbd_defaults",
98        "host_adbd_supported",
99        "fake_libadbd_binary_dependencies",
100    ],
101    srcs: [
102        "main.cpp",
103    ],
104    use_version_lib: false,
105}
106