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