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_library_host { 49 name: "layoutlib-framework", 50 static_libs: ["temp_layoutlib"], 51 jarjar_rules: "jarjar-rules.txt", 52} 53 54java_device_for_host { 55 name: "layoutlib_create-classpath", 56 libs: [ 57 "conscrypt-for-host", 58 "core-icu4j-for-host", 59 "core-libart-for-host", 60 "ext", 61 "framework-all", 62 "iconloader_base", 63 "icu4j-icudata-jarjar", 64 "icu4j-icutzdata-jarjar", 65 "monet", 66 ], 67} 68 69cc_library_host_shared { 70 name: "layoutlib_jni", 71 srcs: [ 72 "jni/LayoutlibLoader.cpp", 73 ], 74 cflags: [ 75 "-Wno-unused-parameter", 76 ], 77 header_libs: [ 78 "libbase_headers", 79 ], 80 shared_libs: [ 81 "libandroid_runtime", 82 ], 83 static_libs: [ 84 "libbase", 85 "libbinder", 86 "libcutils", 87 "libinput", 88 "libui-types", 89 "libutils", 90 ], 91 stl: "libc++_static", 92 target: { 93 linux: { 94 version_script: "jni/linux/layoutlib_jni_export.txt", 95 }, 96 darwin: { 97 exported_symbols_list: "jni/darwin/layoutlib_jni_export.exp", 98 dist: { 99 targets: ["layoutlib_jni"], 100 dir: "layoutlib_native/darwin", 101 }, 102 }, 103 linux_glibc_x86_64: { 104 dist: { 105 targets: ["layoutlib"], 106 dir: "layoutlib_native/linux", 107 tag: "stripped_all", 108 }, 109 }, 110 }, 111} 112