blob: a21d1caab0da701040de7860974ed4fc471de4cd [file] [log] [blame]
Dan Willemseneee8e7f2016-06-06 22:31:58 -07001//
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// some files must not be compiled when building against Mingw
18// they correspond to features not used by our host development tools
19// which are also hard or even impossible to port to native Win32
20libcutils_nonwindows_sources = [
Mark Salyzyn52bd37e2016-11-07 09:39:30 -080021 "android_get_control_file.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080022 "fs.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070023 "multiuser.c",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080024 "socket_inaddr_any_server_unix.cpp",
25 "socket_local_client_unix.cpp",
26 "socket_local_server_unix.cpp",
27 "socket_network_client_unix.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070028 "sockets_unix.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080029 "str_parms.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070030]
31
Vijay Venkatraman651f8382017-01-25 18:52:17 +000032cc_library_headers {
Vijay Venkatraman651f8382017-01-25 18:52:17 +000033 name: "libcutils_headers",
Steven Moreland385fe692017-04-13 14:29:58 -070034 vendor_available: true,
Vijay Venkatraman651f8382017-01-25 18:52:17 +000035 host_supported: true,
36 export_include_dirs: ["include"],
37 target: {
Steven Moreland385fe692017-04-13 14:29:58 -070038 vendor: {
39 export_include_dirs: ["include_vndk"],
40 },
Dan Willemsene0cd1e02017-03-15 15:23:36 -070041 linux_bionic: {
42 enabled: true,
43 },
44 windows: {
45 enabled: true,
46 },
Vijay Venkatraman651f8382017-01-25 18:52:17 +000047 },
48}
49
Dan Willemseneee8e7f2016-06-06 22:31:58 -070050cc_library {
51 name: "libcutils",
Steven Moreland385fe692017-04-13 14:29:58 -070052 vendor_available: true,
Justin Yun9ca92452017-07-31 15:41:10 +090053 vndk: {
54 enabled: true,
55 support_system_process: true,
56 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -070057 host_supported: true,
58 srcs: [
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080059 "config_utils.cpp",
Mark Salyzyn163ecc62017-05-02 08:56:15 -070060 "fs_config.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080061 "canned_fs_config.cpp",
62 "hashmap.cpp",
63 "iosched_policy.cpp",
64 "load_file.cpp",
65 "native_handle.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070066 "open_memstream.c",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080067 "record_stream.cpp",
Isaac Chen795267d2017-02-16 11:47:33 +080068 "sched_policy.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070069 "sockets.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080070 "strdup16to8.cpp",
71 "strdup8to16.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070072 "strlcpy.c",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080073 "threads.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070074 ],
75
76 target: {
77 host: {
78 srcs: ["dlmalloc_stubs.c"],
79 },
Dan Willemsene0cd1e02017-03-15 15:23:36 -070080 linux_bionic: {
81 enabled: true,
82 exclude_srcs: ["dlmalloc_stubs.c"],
83 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -070084 not_windows: {
85 srcs: libcutils_nonwindows_sources + [
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080086 "ashmem-host.cpp",
87 "trace-host.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070088 ],
89 },
90 windows: {
91 srcs: [
Elliott Hughes8e9aeb92017-11-10 10:22:07 -080092 "socket_inaddr_any_server_windows.cpp",
93 "socket_network_client_windows.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -070094 "sockets_windows.cpp",
95 ],
96
97 enabled: true,
98 shared: {
99 enabled: false,
100 },
Mark Salyzyn163ecc62017-05-02 08:56:15 -0700101 cflags: [
102 "-D_GNU_SOURCE",
103 ],
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700104 },
105
106 android: {
107 srcs: libcutils_nonwindows_sources + [
Elliott Hughes8e9aeb92017-11-10 10:22:07 -0800108 "android_reboot.cpp",
109 "ashmem-dev.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700110 "klog.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -0800111 "partition_utils.cpp",
Elliott Hughes4eacd702017-01-26 17:31:40 -0800112 "properties.cpp",
Chenbo Fengbaede732017-10-25 12:31:43 -0700113 "qtaguid.cpp",
Elliott Hughes8e9aeb92017-11-10 10:22:07 -0800114 "trace-dev.cpp",
Luis Hector Chaveze97a4b92017-11-02 14:17:43 -0700115 "uevent.cpp",
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700116 ],
Luis Hector Chavezfae195b2017-11-03 16:22:05 -0700117 },
118
119 android_arm: {
120 srcs: ["arch-arm/memset32.S"],
121 sanitize: {
122 misc_undefined: ["integer"],
123 },
124 },
125 android_arm64: {
126 srcs: ["arch-arm64/android_memset.S"],
Evgenii Stepanov54c78862017-01-31 16:33:53 -0800127 sanitize: {
128 misc_undefined: ["integer"],
129 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700130 },
131
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700132 android_mips: {
133 srcs: ["arch-mips/android_memset.c"],
Luis Hector Chavezfae195b2017-11-03 16:22:05 -0700134 sanitize: {
135 misc_undefined: ["integer"],
136 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700137 },
138 android_mips64: {
139 srcs: ["arch-mips/android_memset.c"],
Luis Hector Chavezfae195b2017-11-03 16:22:05 -0700140 sanitize: {
141 misc_undefined: ["integer"],
142 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700143 },
144
145 android_x86: {
146 srcs: [
147 "arch-x86/android_memset16.S",
148 "arch-x86/android_memset32.S",
149 ],
Luis Hector Chavezfae195b2017-11-03 16:22:05 -0700150 // TODO: This is to work around b/29412086.
151 // Remove once __mulodi4 is available and move the "sanitize" block
152 // to the android target.
153 sanitize: {
154 misc_undefined: [],
155 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700156 },
157
158 android_x86_64: {
159 srcs: [
160 "arch-x86_64/android_memset16.S",
161 "arch-x86_64/android_memset32.S",
162 ],
Luis Hector Chavezfae195b2017-11-03 16:22:05 -0700163 sanitize: {
164 misc_undefined: ["integer"],
165 },
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700166 },
167 },
168
169 shared_libs: ["liblog"],
Steven Morelandd73be1b2017-04-13 23:48:57 -0700170 header_libs: [
171 "libcutils_headers",
172 "libutils_headers",
173 ],
Vijay Venkatraman651f8382017-01-25 18:52:17 +0000174 export_header_lib_headers: ["libcutils_headers"],
Yifan Hongb6807122017-07-25 15:24:04 -0700175 local_include_dirs: ["include"],
Vijay Venkatraman651f8382017-01-25 18:52:17 +0000176
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700177 cflags: [
178 "-Werror",
179 "-Wall",
180 "-Wextra",
181 ],
Dan Willemseneee8e7f2016-06-06 22:31:58 -0700182}
183
184subdirs = ["tests"]