• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2006 The Android Open Source Project
2
3package {
4    default_applicable_licenses: ["hardware_libhardware_license"],
5}
6
7// Added automatically by a large-scale-change that took the approach of
8// 'apply every license found to every target'. While this makes sure we respect
9// every license restriction, it may not be entirely correct.
10//
11// e.g. GPL in an MIT project might only apply to the contrib/ directory.
12//
13// Please consider splitting the single license below into multiple licenses,
14// taking care not to lose any license_kind information, and overriding the
15// default license using the 'licenses: [...]' property on targets as needed.
16//
17// For unused files, consider creating a 'fileGroup' with "//visibility:private"
18// to attach the license to, and including a comment whether the files may be
19// used in the current project.
20// See: http://go/android-license-faq
21license {
22    name: "hardware_libhardware_license",
23    visibility: [":__subpackages__"],
24    license_kinds: [
25        "SPDX-license-identifier-Apache-2.0",
26        "SPDX-license-identifier-BSD",
27    ],
28    license_text: [
29        "NOTICE",
30    ],
31}
32
33cc_library_headers {
34    name: "libhardware_headers",
35
36    header_libs: [
37        "libaudio_system_headers",
38        "libsystem_headers",
39        "libcutils_headers",
40    ],
41    export_header_lib_headers: [
42        "libaudio_system_headers",
43        "libsystem_headers",
44        "libcutils_headers",
45    ],
46
47    recovery_available: true,
48    vendor_available: true,
49    // TODO(b/153609531): remove when no longer needed.
50    native_bridge_supported: true,
51
52    // There are three include directories currently:
53    // - include: this directory is the original location of libhardware headers. It is globally
54    //       available (even if you do not depend on libhardware). Many locations also use
55    //       LOCAL_C_INCLUDES or include_dirs to access these from a global namespace. These processes
56    //       should replace this dependency with a direct dependency on libhardware(_headers)?.
57    // - include_all: this directory is for system and vendor include files. Gradually, the number of
58    //       files here should be reduced to 0 by moving them to vendor as old code is phased out.
59    // - include_vendor: this directory is the current designated resting place for these headers.
60    //       They are kept around to try to help insure existing codebases can function.
61    export_include_dirs: ["include_all"],
62
63    target: {
64        recovery: {
65            exclude_header_libs: [
66                "libaudio_system_headers",
67            ],
68        },
69        windows: {
70            enabled: true,
71        },
72        vendor: {
73            override_export_include_dirs: [
74                "include_all",
75                "include_vendor",
76            ],
77        },
78        host: {
79            export_include_dirs: [
80                "include_vendor", // for tests
81            ],
82        },
83    },
84    apex_available: [
85        "//apex_available:platform",
86        "com.android.bt",
87        "com.android.media",
88        "com.android.media.swcodec",
89    ],
90    min_sdk_version: "29",
91    host_supported: true,
92
93}
94
95cc_library_shared {
96    name: "libhardware",
97
98    srcs: ["hardware.c"],
99    shared_libs: [
100        "libapexsupport",
101        "libcutils",
102        "liblog",
103        "libvndksupport",
104    ],
105    cflags: [
106        "-DQEMU_HARDWARE",
107        "-Wall",
108        "-Werror",
109    ],
110
111    header_libs: ["libhardware_headers"],
112    export_header_lib_headers: ["libhardware_headers"],
113
114    host_supported: true,
115    recovery_available: true,
116    vendor_available: true,
117    double_loadable: true,
118    target: {
119        host: {
120            exclude_shared_libs: [
121                "libapexsupport",
122                "libvndksupport",
123            ],
124        },
125        recovery: {
126            exclude_shared_libs: [
127                "libapexsupport",
128                "libvndksupport",
129            ],
130        },
131        non_apex: {
132            exclude_shared_libs: [
133                "libapexsupport",
134            ],
135        },
136    },
137    min_sdk_version: "29",
138}
139
140dirgroup {
141    name: "trusty_dirgroup_hardware_libhardware",
142    dirs: ["."],
143    visibility: ["//trusty/vendor/google/aosp/scripts"],
144}
145