blob: d4268cac0355ed37fe822d3d9b58bf6377f4d687 [file] [log] [blame]
Colin Crossfc06bd02016-07-11 14:15:31 -07001//
2// Copyright (C) 2015 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
Chih-Hung Hsieh122352d2017-10-02 15:20:07 -070017cc_defaults {
Andreas Gampeaf05f3b2018-02-15 11:40:30 -080018 name: "libbase_cflags_defaults",
Elliott Hughesdc699a22018-02-16 17:58:14 -080019 cflags: [
20 "-Wall",
21 "-Werror",
22 "-Wextra",
Elliott Hughes9082e7a2018-12-19 12:55:17 -080023 "-D_FILE_OFFSET_BITS=64",
Elliott Hughesdc699a22018-02-16 17:58:14 -080024 ],
Chih-Hung Hsieh122352d2017-10-02 15:20:07 -070025}
Colin Crossfc06bd02016-07-11 14:15:31 -070026
Steven Moreland3c71bbd2017-04-14 00:54:46 -070027cc_library_headers {
28 name: "libbase_headers",
29 vendor_available: true,
Jiyong Park612210c2018-04-27 21:48:43 +090030 recovery_available: true,
Steven Moreland3c71bbd2017-04-14 00:54:46 -070031 host_supported: true,
dimitrya808b112019-05-06 14:01:58 +020032 native_bridge_supported: true,
Steven Moreland3c71bbd2017-04-14 00:54:46 -070033 export_include_dirs: ["include"],
34
Steven Moreland3c71bbd2017-04-14 00:54:46 -070035 target: {
36 linux_bionic: {
37 enabled: true,
38 },
39 windows: {
40 enabled: true,
41 },
42 },
43}
44
Andreas Gampeaf05f3b2018-02-15 11:40:30 -080045cc_defaults {
46 name: "libbase_defaults",
47 defaults: ["libbase_cflags_defaults"],
Colin Crossfc06bd02016-07-11 14:15:31 -070048 srcs: [
Mark Salyzyn0c071c92018-02-05 07:41:31 -080049 "chrono_utils.cpp",
Josh Gao14f95002019-01-07 19:16:21 -080050 "cmsg.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -070051 "file.cpp",
52 "logging.cpp",
Elliott Hughese8f4b142018-10-19 16:09:39 -070053 "mapped_file.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -070054 "parsenetaddress.cpp",
Elliott Hughesdc803122018-05-24 18:00:39 -070055 "properties.cpp",
Josh Gao0c442562016-09-13 14:50:57 -070056 "quick_exit.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -070057 "stringprintf.cpp",
58 "strings.cpp",
Josh Gao5791e212018-03-16 14:25:42 -070059 "threads.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -070060 "test_utils.cpp",
61 ],
Steven Moreland3c71bbd2017-04-14 00:54:46 -070062
Pirama Arumuga Nainarca6ee832018-09-26 23:31:00 -070063 cppflags: ["-Wexit-time-destructors"],
Colin Crossfc06bd02016-07-11 14:15:31 -070064 shared_libs: ["liblog"],
65 target: {
66 android: {
Elliott Hughesec46f4e2017-02-14 15:46:33 -080067 sanitize: {
68 misc_undefined: ["integer"],
69 },
James Hawkinse78ea772017-03-24 11:43:02 -070070
Colin Crossfc06bd02016-07-11 14:15:31 -070071 },
Dan Willemsenbdddcab2017-10-03 14:17:31 -070072 linux: {
73 srcs: [
Dan Willemsenbdddcab2017-10-03 14:17:31 -070074 "errors_unix.cpp",
75 ],
Dan Willemsenbdddcab2017-10-03 14:17:31 -070076 },
Colin Crossfc06bd02016-07-11 14:15:31 -070077 darwin: {
James Hawkinse78ea772017-03-24 11:43:02 -070078 srcs: [
James Hawkinse78ea772017-03-24 11:43:02 -070079 "errors_unix.cpp",
80 ],
Colin Crossfc06bd02016-07-11 14:15:31 -070081 },
Dan Willemsenab34b472016-11-29 13:32:55 -080082 linux_bionic: {
Dan Willemsenab34b472016-11-29 13:32:55 -080083 enabled: true,
84 },
Colin Crossfc06bd02016-07-11 14:15:31 -070085 windows: {
86 srcs: [
87 "errors_windows.cpp",
88 "utf8.cpp",
89 ],
Josh Gao14f95002019-01-07 19:16:21 -080090 exclude_srcs: [
91 "cmsg.cpp",
92 ],
Colin Crossfc06bd02016-07-11 14:15:31 -070093 enabled: true,
94 },
95 },
96}
97
Andreas Gampeaf05f3b2018-02-15 11:40:30 -080098cc_library {
99 name: "libbase",
100 defaults: ["libbase_defaults"],
101 vendor_available: true,
Jiyong Parka0e75042018-05-24 14:11:00 +0900102 recovery_available: true,
Andreas Gampeaf05f3b2018-02-15 11:40:30 -0800103 host_supported: true,
dimitrya808b112019-05-06 14:01:58 +0200104 native_bridge_supported: true,
Andreas Gampeaf05f3b2018-02-15 11:40:30 -0800105 vndk: {
106 enabled: true,
107 support_system_process: true,
108 },
109 header_libs: [
110 "libbase_headers",
111 ],
112 export_header_lib_headers: ["libbase_headers"],
113}
114
115cc_library_static {
116 name: "libbase_ndk",
117 defaults: ["libbase_defaults"],
118 sdk_version: "current",
119 stl: "c++_static",
120 export_include_dirs: ["include"],
121}
122
Colin Crossfc06bd02016-07-11 14:15:31 -0700123// Tests
124// ------------------------------------------------------------------------------
125cc_test {
126 name: "libbase_test",
Andreas Gampeaf05f3b2018-02-15 11:40:30 -0800127 defaults: ["libbase_cflags_defaults"],
Colin Crossfc06bd02016-07-11 14:15:31 -0700128 host_supported: true,
Colin Crossfc06bd02016-07-11 14:15:31 -0700129 srcs: [
Josh Gao14f95002019-01-07 19:16:21 -0800130 "cmsg_test.cpp",
Elliott Hughes1dbd9762017-02-24 14:02:05 -0800131 "endian_test.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -0700132 "errors_test.cpp",
133 "file_test.cpp",
134 "logging_test.cpp",
Elliott Hughes1b86d412018-04-06 17:45:22 -0700135 "macros_test.cpp",
Elliott Hughese8f4b142018-10-19 16:09:39 -0700136 "mapped_file_test.cpp",
Yabin Cui997cba42016-10-05 10:54:35 -0700137 "parsedouble_test.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -0700138 "parseint_test.cpp",
139 "parsenetaddress_test.cpp",
Elliott Hughesdc803122018-05-24 18:00:39 -0700140 "properties_test.cpp",
Josh Gao0c442562016-09-13 14:50:57 -0700141 "quick_exit_test.cpp",
Tom Cherryc996a8e2017-04-05 14:15:31 -0700142 "scopeguard_test.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -0700143 "stringprintf_test.cpp",
144 "strings_test.cpp",
145 "test_main.cpp",
Josh Gao30171a82017-04-27 19:48:44 -0700146 "test_utils_test.cpp",
Colin Crossfc06bd02016-07-11 14:15:31 -0700147 ],
148 target: {
Elliott Hughes1e88c8c2016-09-21 16:53:15 -0700149 android: {
Elliott Hughesec46f4e2017-02-14 15:46:33 -0800150 sanitize: {
151 misc_undefined: ["integer"],
152 },
Elliott Hughes1e88c8c2016-09-21 16:53:15 -0700153 },
Dan Willemsenbdddcab2017-10-03 14:17:31 -0700154 linux: {
James Hawkinse78ea772017-03-24 11:43:02 -0700155 srcs: ["chrono_utils_test.cpp"],
James Hawkinse78ea772017-03-24 11:43:02 -0700156 },
Colin Crossfc06bd02016-07-11 14:15:31 -0700157 windows: {
158 srcs: ["utf8_test.cpp"],
Dan Willemsen528f1442017-11-29 18:06:11 -0800159 cflags: ["-Wno-unused-parameter"],
Colin Crossfc06bd02016-07-11 14:15:31 -0700160 enabled: true,
161 },
162 },
163 local_include_dirs: ["."],
Colin Crossfc06bd02016-07-11 14:15:31 -0700164 shared_libs: ["libbase"],
165 compile_multilib: "both",
166 multilib: {
167 lib32: {
168 suffix: "32",
169 },
170 lib64: {
171 suffix: "64",
172 },
173 },
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700174 test_suites: ["device-tests"],
Colin Crossfc06bd02016-07-11 14:15:31 -0700175}