xref: /aosp_15_r20/frameworks/base/tools/split-select/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker//
2*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2014 The Android Open Source Project
3*d57664e9SAndroid Build Coastguard Worker//
4*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*d57664e9SAndroid Build Coastguard Worker//
8*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*d57664e9SAndroid Build Coastguard Worker//
10*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
15*d57664e9SAndroid Build Coastguard Worker//
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Worker// ==========================================================
18*d57664e9SAndroid Build Coastguard Worker// Setup some common variables for the different build
19*d57664e9SAndroid Build Coastguard Worker// targets here.
20*d57664e9SAndroid Build Coastguard Worker// ==========================================================
21*d57664e9SAndroid Build Coastguard Worker
22*d57664e9SAndroid Build Coastguard Workerpackage {
23*d57664e9SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
24*d57664e9SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
25*d57664e9SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_base_license"
26*d57664e9SAndroid Build Coastguard Worker    // to get the below license kinds:
27*d57664e9SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
28*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
29*d57664e9SAndroid Build Coastguard Worker}
30*d57664e9SAndroid Build Coastguard Worker
31*d57664e9SAndroid Build Coastguard Workercc_defaults {
32*d57664e9SAndroid Build Coastguard Worker    name: "split-select_defaults",
33*d57664e9SAndroid Build Coastguard Worker
34*d57664e9SAndroid Build Coastguard Worker    cflags: [
35*d57664e9SAndroid Build Coastguard Worker        "-Wall",
36*d57664e9SAndroid Build Coastguard Worker        "-Werror",
37*d57664e9SAndroid Build Coastguard Worker    ],
38*d57664e9SAndroid Build Coastguard Worker    include_dirs: ["frameworks/base/tools"],
39*d57664e9SAndroid Build Coastguard Worker    static_libs: [
40*d57664e9SAndroid Build Coastguard Worker        "libaapt",
41*d57664e9SAndroid Build Coastguard Worker        "libandroidfw",
42*d57664e9SAndroid Build Coastguard Worker        "libpng",
43*d57664e9SAndroid Build Coastguard Worker        "libutils",
44*d57664e9SAndroid Build Coastguard Worker        "liblog",
45*d57664e9SAndroid Build Coastguard Worker        "libcutils",
46*d57664e9SAndroid Build Coastguard Worker        "libexpat",
47*d57664e9SAndroid Build Coastguard Worker        "libziparchive",
48*d57664e9SAndroid Build Coastguard Worker        "libbase",
49*d57664e9SAndroid Build Coastguard Worker        "libz",
50*d57664e9SAndroid Build Coastguard Worker    ],
51*d57664e9SAndroid Build Coastguard Worker
52*d57664e9SAndroid Build Coastguard Worker    target: {
53*d57664e9SAndroid Build Coastguard Worker        windows: {
54*d57664e9SAndroid Build Coastguard Worker            enabled: true,
55*d57664e9SAndroid Build Coastguard Worker        },
56*d57664e9SAndroid Build Coastguard Worker    },
57*d57664e9SAndroid Build Coastguard Worker
58*d57664e9SAndroid Build Coastguard Worker    // This tool is prebuilt if we're doing an app-only build.
59*d57664e9SAndroid Build Coastguard Worker    product_variables: {
60*d57664e9SAndroid Build Coastguard Worker        unbundled_build: {
61*d57664e9SAndroid Build Coastguard Worker            enabled: false,
62*d57664e9SAndroid Build Coastguard Worker        },
63*d57664e9SAndroid Build Coastguard Worker    },
64*d57664e9SAndroid Build Coastguard Worker}
65*d57664e9SAndroid Build Coastguard Worker
66*d57664e9SAndroid Build Coastguard Worker// ==========================================================
67*d57664e9SAndroid Build Coastguard Worker// Build the host static library: libsplit-select
68*d57664e9SAndroid Build Coastguard Worker// ==========================================================
69*d57664e9SAndroid Build Coastguard Workercc_library_host_static {
70*d57664e9SAndroid Build Coastguard Worker    name: "libsplit-select",
71*d57664e9SAndroid Build Coastguard Worker    defaults: ["split-select_defaults"],
72*d57664e9SAndroid Build Coastguard Worker
73*d57664e9SAndroid Build Coastguard Worker    srcs: [
74*d57664e9SAndroid Build Coastguard Worker        "Abi.cpp",
75*d57664e9SAndroid Build Coastguard Worker        "Grouper.cpp",
76*d57664e9SAndroid Build Coastguard Worker        "Rule.cpp",
77*d57664e9SAndroid Build Coastguard Worker        "RuleGenerator.cpp",
78*d57664e9SAndroid Build Coastguard Worker        "SplitDescription.cpp",
79*d57664e9SAndroid Build Coastguard Worker        "SplitSelector.cpp",
80*d57664e9SAndroid Build Coastguard Worker    ],
81*d57664e9SAndroid Build Coastguard Worker    cflags: ["-D_DARWIN_UNLIMITED_STREAMS"],
82*d57664e9SAndroid Build Coastguard Worker
83*d57664e9SAndroid Build Coastguard Worker}
84*d57664e9SAndroid Build Coastguard Worker
85*d57664e9SAndroid Build Coastguard Worker// ==========================================================
86*d57664e9SAndroid Build Coastguard Worker// Build the host tests: libsplit-select_tests
87*d57664e9SAndroid Build Coastguard Worker// ==========================================================
88*d57664e9SAndroid Build Coastguard Workercc_test_host {
89*d57664e9SAndroid Build Coastguard Worker    name: "libsplit-select_tests",
90*d57664e9SAndroid Build Coastguard Worker    defaults: ["split-select_defaults"],
91*d57664e9SAndroid Build Coastguard Worker
92*d57664e9SAndroid Build Coastguard Worker    srcs: [
93*d57664e9SAndroid Build Coastguard Worker        "Grouper_test.cpp",
94*d57664e9SAndroid Build Coastguard Worker        "Rule_test.cpp",
95*d57664e9SAndroid Build Coastguard Worker        "RuleGenerator_test.cpp",
96*d57664e9SAndroid Build Coastguard Worker        "SplitSelector_test.cpp",
97*d57664e9SAndroid Build Coastguard Worker        "TestRules.cpp",
98*d57664e9SAndroid Build Coastguard Worker    ],
99*d57664e9SAndroid Build Coastguard Worker
100*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libsplit-select"],
101*d57664e9SAndroid Build Coastguard Worker
102*d57664e9SAndroid Build Coastguard Worker}
103*d57664e9SAndroid Build Coastguard Worker
104*d57664e9SAndroid Build Coastguard Worker// ==========================================================
105*d57664e9SAndroid Build Coastguard Worker// Build the host executable: split-select
106*d57664e9SAndroid Build Coastguard Worker// ==========================================================
107*d57664e9SAndroid Build Coastguard Workercc_binary_host {
108*d57664e9SAndroid Build Coastguard Worker    name: "split-select",
109*d57664e9SAndroid Build Coastguard Worker    defaults: ["split-select_defaults"],
110*d57664e9SAndroid Build Coastguard Worker    srcs: ["Main.cpp"],
111*d57664e9SAndroid Build Coastguard Worker
112*d57664e9SAndroid Build Coastguard Worker    static_libs: ["libsplit-select"],
113*d57664e9SAndroid Build Coastguard Worker}
114