xref: /aosp_15_r20/external/nanopb-c/Android.bp (revision c8d645cafcee3f91213d30caa0fe303887010b9b)
1*c8d645caSAndroid Build Coastguard Worker// Copyright (C) 2014 The Android Open Source Project
2*c8d645caSAndroid Build Coastguard Worker//
3*c8d645caSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*c8d645caSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*c8d645caSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*c8d645caSAndroid Build Coastguard Worker//
7*c8d645caSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*c8d645caSAndroid Build Coastguard Worker//
9*c8d645caSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*c8d645caSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*c8d645caSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*c8d645caSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*c8d645caSAndroid Build Coastguard Worker// limitations under the License.
14*c8d645caSAndroid Build Coastguard Worker//
15*c8d645caSAndroid Build Coastguard Worker//
16*c8d645caSAndroid Build Coastguard Worker
17*c8d645caSAndroid Build Coastguard Workerpackage {
18*c8d645caSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_nanopb-c_license"],
19*c8d645caSAndroid Build Coastguard Worker}
20*c8d645caSAndroid Build Coastguard Worker
21*c8d645caSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
22*c8d645caSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
23*c8d645caSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
24*c8d645caSAndroid Build Coastguard Worker//
25*c8d645caSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
26*c8d645caSAndroid Build Coastguard Worker//
27*c8d645caSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
28*c8d645caSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
29*c8d645caSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
30*c8d645caSAndroid Build Coastguard Worker//
31*c8d645caSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
32*c8d645caSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
33*c8d645caSAndroid Build Coastguard Worker// used in the current project.
34*c8d645caSAndroid Build Coastguard Worker//
35*c8d645caSAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license
36*c8d645caSAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
37*c8d645caSAndroid Build Coastguard Worker//
38*c8d645caSAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'.
39*c8d645caSAndroid Build Coastguard Worker// See: http://go/android-license-faq
40*c8d645caSAndroid Build Coastguard Workerlicense {
41*c8d645caSAndroid Build Coastguard Worker    name: "external_nanopb-c_license",
42*c8d645caSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
43*c8d645caSAndroid Build Coastguard Worker    license_kinds: [
44*c8d645caSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
45*c8d645caSAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
46*c8d645caSAndroid Build Coastguard Worker        "SPDX-license-identifier-Zlib",
47*c8d645caSAndroid Build Coastguard Worker        "legacy_unencumbered",
48*c8d645caSAndroid Build Coastguard Worker    ],
49*c8d645caSAndroid Build Coastguard Worker    license_text: [
50*c8d645caSAndroid Build Coastguard Worker        "LICENSE.txt",
51*c8d645caSAndroid Build Coastguard Worker        "NOTICE",
52*c8d645caSAndroid Build Coastguard Worker    ],
53*c8d645caSAndroid Build Coastguard Worker}
54*c8d645caSAndroid Build Coastguard Worker
55*c8d645caSAndroid Build Coastguard Workercc_defaults {
56*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-defaults",
57*c8d645caSAndroid Build Coastguard Worker    cflags: [
58*c8d645caSAndroid Build Coastguard Worker        "-Wall",
59*c8d645caSAndroid Build Coastguard Worker        "-Werror",
60*c8d645caSAndroid Build Coastguard Worker        "-Wno-sign-compare",
61*c8d645caSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
62*c8d645caSAndroid Build Coastguard Worker    ],
63*c8d645caSAndroid Build Coastguard Worker    srcs: [
64*c8d645caSAndroid Build Coastguard Worker        "pb_common.c",
65*c8d645caSAndroid Build Coastguard Worker        "pb_decode.c",
66*c8d645caSAndroid Build Coastguard Worker        "pb_encode.c",
67*c8d645caSAndroid Build Coastguard Worker    ],
68*c8d645caSAndroid Build Coastguard Worker    sdk_version: "19",
69*c8d645caSAndroid Build Coastguard Worker    export_include_dirs: ["."],
70*c8d645caSAndroid Build Coastguard Worker    vendor_available: true,
71*c8d645caSAndroid Build Coastguard Worker    host_supported: true,
72*c8d645caSAndroid Build Coastguard Worker}
73*c8d645caSAndroid Build Coastguard Worker
74*c8d645caSAndroid Build Coastguard Workercc_library_static {
75*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano",
76*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
77*c8d645caSAndroid Build Coastguard Worker    apex_available: [
78*c8d645caSAndroid Build Coastguard Worker        "//apex_available:platform",
79*c8d645caSAndroid Build Coastguard Worker        "com.android.btservices",
80*c8d645caSAndroid Build Coastguard Worker    ],
81*c8d645caSAndroid Build Coastguard Worker    min_sdk_version: "30",
82*c8d645caSAndroid Build Coastguard Worker}
83*c8d645caSAndroid Build Coastguard Worker
84*c8d645caSAndroid Build Coastguard Workercc_library_static {
85*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-enable_malloc",
86*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
87*c8d645caSAndroid Build Coastguard Worker
88*c8d645caSAndroid Build Coastguard Worker    cflags: ["-DPB_ENABLE_MALLOC"],
89*c8d645caSAndroid Build Coastguard Worker}
90*c8d645caSAndroid Build Coastguard Worker
91*c8d645caSAndroid Build Coastguard Workercc_library_static {
92*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-16bit",
93*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
94*c8d645caSAndroid Build Coastguard Worker
95*c8d645caSAndroid Build Coastguard Worker    cflags: ["-DPB_FIELD_16BIT"],
96*c8d645caSAndroid Build Coastguard Worker}
97*c8d645caSAndroid Build Coastguard Worker
98*c8d645caSAndroid Build Coastguard Workercc_library_static {
99*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-enable_malloc-16bit",
100*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
101*c8d645caSAndroid Build Coastguard Worker
102*c8d645caSAndroid Build Coastguard Worker    cflags: ["-DPB_ENABLE_MALLOC", "-DPB_FIELD_16BIT"],
103*c8d645caSAndroid Build Coastguard Worker}
104*c8d645caSAndroid Build Coastguard Worker
105*c8d645caSAndroid Build Coastguard Workercc_library_static {
106*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-32bit",
107*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
108*c8d645caSAndroid Build Coastguard Worker
109*c8d645caSAndroid Build Coastguard Worker    cflags: ["-DPB_FIELD_32BIT"],
110*c8d645caSAndroid Build Coastguard Worker}
111*c8d645caSAndroid Build Coastguard Worker
112*c8d645caSAndroid Build Coastguard Workercc_library_static {
113*c8d645caSAndroid Build Coastguard Worker    name: "libprotobuf-c-nano-enable_malloc-32bit",
114*c8d645caSAndroid Build Coastguard Worker    defaults: ["libprotobuf-c-nano-defaults"],
115*c8d645caSAndroid Build Coastguard Worker
116*c8d645caSAndroid Build Coastguard Worker    cflags: ["-DPB_ENABLE_MALLOC", "-DPB_FIELD_32BIT"],
117*c8d645caSAndroid Build Coastguard Worker}
118*c8d645caSAndroid Build Coastguard Worker
119*c8d645caSAndroid Build Coastguard Workerdirgroup {
120*c8d645caSAndroid Build Coastguard Worker    name: "trusty_dirgroup_external_nanopb-c",
121*c8d645caSAndroid Build Coastguard Worker    dirs: ["."],
122*c8d645caSAndroid Build Coastguard Worker    visibility: ["//trusty/vendor/google/aosp/scripts"],
123*c8d645caSAndroid Build Coastguard Worker}
124