blob: 3fd61ee251a8631f7a28199dd60434bae6306bc9 [file] [log] [blame]
David Sehr334b9d72018-02-12 18:27:56 -08001//
2// Copyright (C) 2011 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
17cc_defaults {
18 name: "libdexfile_defaults",
19 defaults: ["art_defaults"],
20 host_supported: true,
21 srcs: [
David Sehr334b9d72018-02-12 18:27:56 -080022 "dex/compact_dex_file.cc",
Mathieu Chartier5e3cfa22018-02-20 16:53:37 -080023 "dex/compact_offset_table.cc",
David Sehr334b9d72018-02-12 18:27:56 -080024 "dex/descriptors_names.cc",
25 "dex/dex_file.cc",
26 "dex/dex_file_exception_helpers.cc",
David Sehr8f4b0562018-03-02 12:01:51 -080027 "dex/dex_file_layout.cc",
David Sehr334b9d72018-02-12 18:27:56 -080028 "dex/dex_file_loader.cc",
29 "dex/dex_file_tracking_registrar.cc",
30 "dex/dex_file_verifier.cc",
31 "dex/dex_instruction.cc",
32 "dex/modifiers.cc",
David Sehr67bf42e2018-02-26 16:43:04 -080033 "dex/primitive.cc",
David Sehr334b9d72018-02-12 18:27:56 -080034 "dex/standard_dex_file.cc",
35 "dex/utf.cc",
36 ],
37
38 target: {
39 android: {
40 static_libs: [
41 "libziparchive",
42 "libz",
David Sehr334b9d72018-02-12 18:27:56 -080043 ],
44 shared_libs: [
45 "libutils",
46 ],
47 },
48 host: {
49 shared_libs: [
50 "libziparchive",
51 "libz",
52 ],
53 },
54 },
55 generated_sources: ["dexfile_operator_srcs"],
56 shared_libs: [
David Sehr8f4b0562018-03-02 12:01:51 -080057 // Important note: relying on libartbase's header_lib is perfectly acceptable.
58 // However, relying on the libartbase shared library introduces further, possibly cyclic,
59 // dependencies for clients outside of ART.
David Sehr334b9d72018-02-12 18:27:56 -080060 "liblog",
61 // For common macros.
62 "libbase",
63 "libz",
64 ],
65 header_libs: [
David Sehr67bf42e2018-02-26 16:43:04 -080066 "art_libartbase_headers",
David Sehr334b9d72018-02-12 18:27:56 -080067 ],
68 export_include_dirs: ["."],
69 export_shared_lib_headers: [
70 "libbase",
71 ],
David Sehr67bf42e2018-02-26 16:43:04 -080072 export_header_lib_headers: [
73 "art_libartbase_headers",
74 ],
David Sehr334b9d72018-02-12 18:27:56 -080075}
76
77gensrcs {
78 name: "dexfile_operator_srcs",
Alex Lightb69d2d32018-02-21 13:37:17 -080079 cmd: "$(location generate_operator_out) art/libdexfile $(in) > $(out)",
80 tools: ["generate_operator_out"],
David Sehr334b9d72018-02-12 18:27:56 -080081 srcs: [
82 "dex/dex_file.h",
David Sehr8f4b0562018-03-02 12:01:51 -080083 "dex/dex_file_layout.h",
David Sehr334b9d72018-02-12 18:27:56 -080084 "dex/dex_instruction.h",
85 "dex/dex_instruction_utils.h",
86 "dex/invoke_type.h",
David Sehre6564f42018-03-19 08:39:26 -070087 "dex/method_reference.h",
David Sehr334b9d72018-02-12 18:27:56 -080088 ],
89 output_extension: "operator_out.cc",
90}
91
David Sehr334b9d72018-02-12 18:27:56 -080092art_cc_library {
93 name: "libdexfile",
94 defaults: ["libdexfile_defaults"],
95 // Leave the symbols in the shared library so that stack unwinders can
96 // produce meaningful name resolution.
97 strip: {
98 keep_symbols: true,
99 },
100}
101
David Sehrfcbe15c2018-02-15 09:41:13 -0800102art_cc_library {
103 name: "libdexfiled",
104 defaults: [
105 "art_debug_defaults",
106 "libdexfile_defaults",
107 ],
108}
109
David Sehr334b9d72018-02-12 18:27:56 -0800110art_cc_test {
111 name: "art_libdexfile_tests",
112 defaults: [
113 "art_gtest_defaults",
114 ],
115 srcs: [
116 "dex/code_item_accessors_test.cc",
David Sehr334b9d72018-02-12 18:27:56 -0800117 "dex/compact_dex_file_test.cc",
Mathieu Chartier5e3cfa22018-02-20 16:53:37 -0800118 "dex/compact_offset_table_test.cc",
David Sehrb2ec9f52018-02-21 13:20:31 -0800119 "dex/descriptors_names_test.cc",
David Sehre6564f42018-03-19 08:39:26 -0700120 "dex/test_dex_file_builder_test.cc",
David Sehr334b9d72018-02-12 18:27:56 -0800121 "dex/dex_file_loader_test.cc",
122 "dex/dex_file_verifier_test.cc",
123 "dex/dex_instruction_test.cc",
David Sehr67bf42e2018-02-26 16:43:04 -0800124 "dex/primitive_test.cc",
David Sehre6564f42018-03-19 08:39:26 -0700125 "dex/string_reference_test.cc",
David Sehr334b9d72018-02-12 18:27:56 -0800126 "dex/utf_test.cc",
127 ],
128 shared_libs: [
129 "libbacktrace",
130 "libziparchive",
131 ],
132 include_dirs: [
133 "external/zlib",
134 ],
135}