xref: /aosp_15_r20/frameworks/minikin/rust/Android.bp (revision 834a2baab5fdfc28e9a428ee87c7ea8f6a06a53d)
1*834a2baaSAndroid Build Coastguard Worker// Copyright 2024 The Android Open Source Project
2*834a2baaSAndroid Build Coastguard Worker//
3*834a2baaSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*834a2baaSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*834a2baaSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*834a2baaSAndroid Build Coastguard Worker//
7*834a2baaSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*834a2baaSAndroid Build Coastguard Worker//
9*834a2baaSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*834a2baaSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*834a2baaSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*834a2baaSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*834a2baaSAndroid Build Coastguard Worker// limitations under the License.
14*834a2baaSAndroid Build Coastguard Worker
15*834a2baaSAndroid Build Coastguard Workerrust_defaults {
16*834a2baaSAndroid Build Coastguard Worker    name: "libminikin_rust_defaults",
17*834a2baaSAndroid Build Coastguard Worker    crate_name: "minikin",
18*834a2baaSAndroid Build Coastguard Worker    srcs: ["minikin.rs"],
19*834a2baaSAndroid Build Coastguard Worker    host_supported: true,
20*834a2baaSAndroid Build Coastguard Worker    rustlibs: [
21*834a2baaSAndroid Build Coastguard Worker        "libcxx",
22*834a2baaSAndroid Build Coastguard Worker        "liblogger",
23*834a2baaSAndroid Build Coastguard Worker        "liblog_rust",
24*834a2baaSAndroid Build Coastguard Worker        "libflags_rust",
25*834a2baaSAndroid Build Coastguard Worker    ],
26*834a2baaSAndroid Build Coastguard Worker    whole_static_libs: [
27*834a2baaSAndroid Build Coastguard Worker        "libminikin_from_rust_to_cpp",
28*834a2baaSAndroid Build Coastguard Worker    ],
29*834a2baaSAndroid Build Coastguard Worker    static_libs: [
30*834a2baaSAndroid Build Coastguard Worker        "libflags_rust_cpp_bridge",
31*834a2baaSAndroid Build Coastguard Worker    ],
32*834a2baaSAndroid Build Coastguard Worker    shared_libs: [
33*834a2baaSAndroid Build Coastguard Worker        "libbase",
34*834a2baaSAndroid Build Coastguard Worker    ],
35*834a2baaSAndroid Build Coastguard Worker    target: {
36*834a2baaSAndroid Build Coastguard Worker        android: {
37*834a2baaSAndroid Build Coastguard Worker            rustlibs: [
38*834a2baaSAndroid Build Coastguard Worker                "libandroid_text_flags_rust",
39*834a2baaSAndroid Build Coastguard Worker            ],
40*834a2baaSAndroid Build Coastguard Worker        },
41*834a2baaSAndroid Build Coastguard Worker    },
42*834a2baaSAndroid Build Coastguard Worker}
43*834a2baaSAndroid Build Coastguard Worker
44*834a2baaSAndroid Build Coastguard Workerrust_ffi_static {
45*834a2baaSAndroid Build Coastguard Worker    name: "libminikin_rust_ffi",
46*834a2baaSAndroid Build Coastguard Worker    defaults: ["libminikin_rust_defaults"],
47*834a2baaSAndroid Build Coastguard Worker}
48*834a2baaSAndroid Build Coastguard Worker
49*834a2baaSAndroid Build Coastguard Workergenrule {
50*834a2baaSAndroid Build Coastguard Worker    name: "libminikin_cxx_bridge_code",
51*834a2baaSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
52*834a2baaSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) >> $(out)",
53*834a2baaSAndroid Build Coastguard Worker    srcs: ["minikin.rs"],
54*834a2baaSAndroid Build Coastguard Worker    out: ["minikin_cxx_bridge_generated.cpp"],
55*834a2baaSAndroid Build Coastguard Worker}
56*834a2baaSAndroid Build Coastguard Worker
57*834a2baaSAndroid Build Coastguard Workergenrule {
58*834a2baaSAndroid Build Coastguard Worker    name: "libminikin_cxx_bridge_header",
59*834a2baaSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
60*834a2baaSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) --header >> $(out)",
61*834a2baaSAndroid Build Coastguard Worker    srcs: ["minikin.rs"],
62*834a2baaSAndroid Build Coastguard Worker    out: ["minikin_cxx_bridge.rs.h"],
63*834a2baaSAndroid Build Coastguard Worker}
64