blob: 209bf9a9316ebeea9674128106fe6f03617e950e [file] [log] [blame]
Dan Willemsen2e1591b2016-07-12 17:20:18 -07001// Copyright (C) 2008 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080015cc_library_headers {
16 name: "libutils_headers",
Steven Moreland91527ed2017-04-11 12:43:16 -070017 vendor_available: true,
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080018 host_supported: true,
Steven Morelandd3b4b2c2017-04-13 21:01:40 -070019
Jaesoo Lee1e8ac0f2017-04-20 16:56:45 +090020 header_libs: [
Steven Moreland95d7cbb2017-07-10 16:40:36 -070021 "liblog_headers",
Jaesoo Lee1e8ac0f2017-04-20 16:56:45 +090022 "libsystem_headers",
Elliott Hughesdc699a22018-02-16 17:58:14 -080023 "libcutils_headers",
Jaesoo Lee1e8ac0f2017-04-20 16:56:45 +090024 ],
25 export_header_lib_headers: [
Steven Moreland95d7cbb2017-07-10 16:40:36 -070026 "liblog_headers",
Jaesoo Lee1e8ac0f2017-04-20 16:56:45 +090027 "libsystem_headers",
Elliott Hughesdc699a22018-02-16 17:58:14 -080028 "libcutils_headers",
Jaesoo Lee1e8ac0f2017-04-20 16:56:45 +090029 ],
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080030 export_include_dirs: ["include"],
Steven Morelandd3b4b2c2017-04-13 21:01:40 -070031
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080032 target: {
Steven Morelandd3b4b2c2017-04-13 21:01:40 -070033 android: {
34 header_libs: ["libbacktrace_headers"],
35 export_header_lib_headers: ["libbacktrace_headers"],
36 },
Dan Willemsene0cd1e02017-03-15 15:23:36 -070037 linux_bionic: {
38 enabled: true,
39 },
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080040 windows: {
Dan Willemsene0cd1e02017-03-15 15:23:36 -070041 enabled: true,
42 },
Vijay Venkatraman75acc7b2017-01-05 10:39:38 -080043 },
44}
45
David Sehrabfb9f32018-01-17 17:07:09 -080046cc_defaults {
47 name: "libutils_defaults",
Steven Moreland91527ed2017-04-11 12:43:16 -070048 vendor_available: true,
Justin Yun9ca92452017-07-31 15:41:10 +090049 vndk: {
50 enabled: true,
51 support_system_process: true,
52 },
Dan Willemsen2e1591b2016-07-12 17:20:18 -070053 host_supported: true,
54
Elliott Hughesdc699a22018-02-16 17:58:14 -080055 cflags: [
56 "-Wall",
57 "-Werror",
58 ],
Dan Willemsen2e1591b2016-07-12 17:20:18 -070059 include_dirs: ["external/safe-iop/include"],
Steven Morelandb084bc32017-04-12 18:57:57 -070060 header_libs: [
Steven Morelandb084bc32017-04-12 18:57:57 -070061 "libutils_headers",
62 ],
63 export_header_lib_headers: [
Steven Morelandb084bc32017-04-12 18:57:57 -070064 "libutils_headers",
65 ],
Dan Willemsen2e1591b2016-07-12 17:20:18 -070066
Steven Moreland1f642412017-06-26 13:52:06 -070067 shared_libs: [
68 "liblog",
69 ],
Steven Moreland1f642412017-06-26 13:52:06 -070070
Dan Willemsen2e1591b2016-07-12 17:20:18 -070071 arch: {
72 mips: {
73 cflags: ["-DALIGN_DOUBLE"],
74 },
75 },
76
77 target: {
78 android: {
Dan Willemsen2e1591b2016-07-12 17:20:18 -070079 cflags: ["-fvisibility=protected"],
80
81 shared_libs: [
Dan Willemsen2e1591b2016-07-12 17:20:18 -070082 "libcutils",
83 "libdl",
Jiyong Park0b3c24b2017-05-26 17:57:18 +090084 "libvndksupport",
Dan Willemsen2e1591b2016-07-12 17:20:18 -070085 ],
Dan Willemsene16bdb12016-07-13 00:20:20 -070086
87 sanitize: {
88 misc_undefined: ["integer"],
89 },
Dan Willemsen2e1591b2016-07-12 17:20:18 -070090 },
91
92 host: {
93 cflags: ["-DLIBUTILS_NATIVE=1"],
94
95 shared: {
96 enabled: false,
97 },
98 },
99
Dan Willemsenab34b472016-11-29 13:32:55 -0800100 linux_bionic: {
101 enabled: true,
Dan Willemsenab34b472016-11-29 13:32:55 -0800102 },
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700103
104 darwin: {
105 cflags: ["-Wno-unused-parameter"],
106 },
107
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700108 windows: {
Dan Willemsen528f1442017-11-29 18:06:11 -0800109 cflags: [
110 // Under MinGW, ctype.h doesn't need multi-byte support
111 "-DMB_CUR_MAX=1",
112 "-Wno-unused-private-field",
113 ],
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700114
115 enabled: true,
116 },
117 },
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700118}
119
David Sehrabfb9f32018-01-17 17:07:09 -0800120cc_library {
121 name: "libutils",
122 defaults: ["libutils_defaults"],
123
124 srcs: [
125 "FileMap.cpp",
126 "JenkinsHash.cpp",
127 "NativeHandle.cpp",
128 "Printer.cpp",
129 "PropertyMap.cpp",
130 "RefBase.cpp",
131 "SharedBuffer.cpp",
132 "Static.cpp",
133 "StopWatch.cpp",
134 "String8.cpp",
135 "String16.cpp",
136 "StrongPointer.cpp",
137 "SystemClock.cpp",
138 "Threads.cpp",
139 "Timers.cpp",
140 "Tokenizer.cpp",
141 "Unicode.cpp",
142 "VectorImpl.cpp",
143 "misc.cpp",
144 ],
145
146 target: {
147 android: {
148 srcs: [
149 "Trace.cpp",
150 ],
151 },
152 linux: {
153 srcs: [
154 "Looper.cpp",
155 ],
156 },
157 },
158}
159
160cc_library {
161 name: "libutilscallstack",
162 defaults: ["libutils_defaults"],
Jiyong Parka32678d2018-01-25 14:00:30 +0900163 vendor_available: false,
David Sehrabfb9f32018-01-17 17:07:09 -0800164
165 srcs: [
166 "CallStack.cpp",
167 ],
168
169 arch: {
170 mips: {
171 cflags: ["-DALIGN_DOUBLE"],
172 },
173 },
174
175 target: {
176 android: {
177 shared_libs: [
178 "libutils",
179 "libbacktrace",
180 ],
181 },
182 linux: {
183 srcs: [
184 "ProcessCallStack.cpp",
185 ],
186 },
187 },
188}
189
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700190// Include subdirectory makefiles
191// ============================================================
192
193cc_test {
194 name: "SharedBufferTest",
195 host_supported: true,
Colin Cross2fedbf72016-07-12 23:43:18 -0700196 static_libs: ["libutils"],
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700197 shared_libs: ["liblog"],
198 srcs: ["SharedBufferTest.cpp"],
Elliott Hughesdc699a22018-02-16 17:58:14 -0800199 cflags: [
200 "-Wall",
201 "-Werror",
202 ],
Dan Willemsen2e1591b2016-07-12 17:20:18 -0700203}
204
205subdirs = ["tests"]