xref: /aosp_15_r20/frameworks/layoutlib/Android.bp (revision fc3927be90a325f95c74a9043993a80ef388dc46)
1*fc3927beSAndroid Build Coastguard Worker//
2*fc3927beSAndroid Build Coastguard Worker// Copyright (C) 2008 The Android Open Source Project
3*fc3927beSAndroid Build Coastguard Worker//
4*fc3927beSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*fc3927beSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*fc3927beSAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*fc3927beSAndroid Build Coastguard Worker//
8*fc3927beSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*fc3927beSAndroid Build Coastguard Worker//
10*fc3927beSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*fc3927beSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*fc3927beSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*fc3927beSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*fc3927beSAndroid Build Coastguard Worker// limitations under the License.
15*fc3927beSAndroid Build Coastguard Worker//
16*fc3927beSAndroid Build Coastguard Worker
17*fc3927beSAndroid Build Coastguard Worker//
18*fc3927beSAndroid Build Coastguard Worker// Define rules to build temp_layoutlib.jar, which contains a subset of
19*fc3927beSAndroid Build Coastguard Worker// the classes in framework.jar.  The layoutlib_create tool is used to
20*fc3927beSAndroid Build Coastguard Worker// transform the framework jar into the temp_layoutlib jar.
21*fc3927beSAndroid Build Coastguard Worker//
22*fc3927beSAndroid Build Coastguard Worker
23*fc3927beSAndroid Build Coastguard Workerpackage {
24*fc3927beSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
25*fc3927beSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
26*fc3927beSAndroid Build Coastguard Worker}
27*fc3927beSAndroid Build Coastguard Worker
28*fc3927beSAndroid Build Coastguard Workerjava_genrule_host {
29*fc3927beSAndroid Build Coastguard Worker    name: "temp_layoutlib",
30*fc3927beSAndroid Build Coastguard Worker    tools: ["layoutlib_create"],
31*fc3927beSAndroid Build Coastguard Worker    out: ["temp_layoutlib.jar"],
32*fc3927beSAndroid Build Coastguard Worker    srcs: [
33*fc3927beSAndroid Build Coastguard Worker        ":atf-prebuilt-557133692{.jar}", // HOST
34*fc3927beSAndroid Build Coastguard Worker        ":icu4j-icudata-jarjar{.jar}", // HOST
35*fc3927beSAndroid Build Coastguard Worker        ":icu4j-icutzdata-jarjar{.jar}", // HOST
36*fc3927beSAndroid Build Coastguard Worker    ],
37*fc3927beSAndroid Build Coastguard Worker    device_common_srcs: [
38*fc3927beSAndroid Build Coastguard Worker        ":core-icu4j-for-host{.jar}",
39*fc3927beSAndroid Build Coastguard Worker        ":core-libart-for-host{.jar}",
40*fc3927beSAndroid Build Coastguard Worker        ":framework-all{.jar}",
41*fc3927beSAndroid Build Coastguard Worker        ":ext{.jar}",
42*fc3927beSAndroid Build Coastguard Worker        ":iconloader_base{.jar}",
43*fc3927beSAndroid Build Coastguard Worker        ":monet{.jar}",
44*fc3927beSAndroid Build Coastguard Worker    ],
45*fc3927beSAndroid Build Coastguard Worker    cmd: "rm -f $(out) && $(location layoutlib_create) --create-stub $(out) $(in)",
46*fc3927beSAndroid Build Coastguard Worker}
47*fc3927beSAndroid Build Coastguard Worker
48*fc3927beSAndroid Build Coastguard Workerjava_device_for_host {
49*fc3927beSAndroid Build Coastguard Worker    name: "layoutlib_create-classpath",
50*fc3927beSAndroid Build Coastguard Worker    libs: [
51*fc3927beSAndroid Build Coastguard Worker        "conscrypt-for-host",
52*fc3927beSAndroid Build Coastguard Worker        "core-icu4j-for-host",
53*fc3927beSAndroid Build Coastguard Worker        "core-libart-for-host",
54*fc3927beSAndroid Build Coastguard Worker        "ext",
55*fc3927beSAndroid Build Coastguard Worker        "framework-all",
56*fc3927beSAndroid Build Coastguard Worker        "iconloader_base",
57*fc3927beSAndroid Build Coastguard Worker        "icu4j-icudata-jarjar",
58*fc3927beSAndroid Build Coastguard Worker        "icu4j-icutzdata-jarjar",
59*fc3927beSAndroid Build Coastguard Worker        "monet",
60*fc3927beSAndroid Build Coastguard Worker    ],
61*fc3927beSAndroid Build Coastguard Worker}
62*fc3927beSAndroid Build Coastguard Worker
63*fc3927beSAndroid Build Coastguard Workercc_library_host_shared {
64*fc3927beSAndroid Build Coastguard Worker    name: "layoutlib_jni",
65*fc3927beSAndroid Build Coastguard Worker    srcs: [
66*fc3927beSAndroid Build Coastguard Worker        "jni/android_view_LayoutlibRenderer.cpp",
67*fc3927beSAndroid Build Coastguard Worker        "jni/LayoutlibLoader.cpp",
68*fc3927beSAndroid Build Coastguard Worker    ],
69*fc3927beSAndroid Build Coastguard Worker    cflags: [
70*fc3927beSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
71*fc3927beSAndroid Build Coastguard Worker    ],
72*fc3927beSAndroid Build Coastguard Worker    header_libs: [
73*fc3927beSAndroid Build Coastguard Worker        "libbase_headers",
74*fc3927beSAndroid Build Coastguard Worker        "libhostgraphics_headers",
75*fc3927beSAndroid Build Coastguard Worker        "libnativebase_headers",
76*fc3927beSAndroid Build Coastguard Worker        "libnativedisplay_headers",
77*fc3927beSAndroid Build Coastguard Worker        "libnativewindow_headers",
78*fc3927beSAndroid Build Coastguard Worker    ],
79*fc3927beSAndroid Build Coastguard Worker    shared_libs: [
80*fc3927beSAndroid Build Coastguard Worker        "libandroid_runtime",
81*fc3927beSAndroid Build Coastguard Worker    ],
82*fc3927beSAndroid Build Coastguard Worker    static_libs: [
83*fc3927beSAndroid Build Coastguard Worker        "libhostgraphics",
84*fc3927beSAndroid Build Coastguard Worker        "libinput",
85*fc3927beSAndroid Build Coastguard Worker    ],
86*fc3927beSAndroid Build Coastguard Worker    stl: "libc++_static",
87*fc3927beSAndroid Build Coastguard Worker    target: {
88*fc3927beSAndroid Build Coastguard Worker        linux: {
89*fc3927beSAndroid Build Coastguard Worker            version_script: "jni/linux/layoutlib_jni_export.txt",
90*fc3927beSAndroid Build Coastguard Worker        },
91*fc3927beSAndroid Build Coastguard Worker        darwin: {
92*fc3927beSAndroid Build Coastguard Worker            ldflags: ["-Wl,-exported_symbols_list,frameworks/layoutlib/jni/darwin/layoutlib_jni_export.exp"],
93*fc3927beSAndroid Build Coastguard Worker            dist: {
94*fc3927beSAndroid Build Coastguard Worker                targets: ["layoutlib_jni"],
95*fc3927beSAndroid Build Coastguard Worker                dir: "layoutlib_native/darwin",
96*fc3927beSAndroid Build Coastguard Worker            },
97*fc3927beSAndroid Build Coastguard Worker        },
98*fc3927beSAndroid Build Coastguard Worker        linux_glibc_x86_64: {
99*fc3927beSAndroid Build Coastguard Worker            dist: {
100*fc3927beSAndroid Build Coastguard Worker                targets: ["layoutlib"],
101*fc3927beSAndroid Build Coastguard Worker                dir: "layoutlib_native/linux",
102*fc3927beSAndroid Build Coastguard Worker                tag: "stripped_all",
103*fc3927beSAndroid Build Coastguard Worker            },
104*fc3927beSAndroid Build Coastguard Worker        },
105*fc3927beSAndroid Build Coastguard Worker    },
106*fc3927beSAndroid Build Coastguard Worker}
107