| // | |
| // Copyright (C) 2008 The Android Open Source Project | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, software | |
| // distributed under the License is distributed on an "AS IS" BASIS, | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| // See the License for the specific language governing permissions and | |
| // limitations under the License. | |
| // | |
| // some files must not be compiled when building against Mingw | |
| // they correspond to features not used by our host development tools | |
| // which are also hard or even impossible to port to native Win32 | |
| libcutils_nonwindows_sources = [ | |
| "fs.cpp", | |
| "hashmap.cpp", | |
| "multiuser.cpp", | |
| "socket_inaddr_any_server_unix.cpp", | |
| "socket_local_client_unix.cpp", | |
| "socket_local_server_unix.cpp", | |
| "socket_network_client_unix.cpp", | |
| "sockets_unix.cpp", | |
| "str_parms.cpp", | |
| ] | |
| cc_library_headers { | |
| name: "libcutils_headers", | |
| vendor_available: true, | |
| recovery_available: true, | |
| host_supported: true, | |
| export_include_dirs: ["include"], | |
| target: { | |
| vendor: { | |
| override_export_include_dirs: ["include_vndk"], | |
| }, | |
| linux_bionic: { | |
| enabled: true, | |
| }, | |
| windows: { | |
| enabled: true, | |
| }, | |
| }, | |
| } | |
| cc_library { | |
| name: "libcutils", | |
| vendor_available: true, | |
| vndk: { | |
| enabled: true, | |
| support_system_process: true, | |
| }, | |
| recovery_available: true, | |
| host_supported: true, | |
| srcs: [ | |
| "config_utils.cpp", | |
| "canned_fs_config.cpp", | |
| "iosched_policy.cpp", | |
| "load_file.cpp", | |
| "native_handle.cpp", | |
| "record_stream.cpp", | |
| "sockets.cpp", | |
| "strdup16to8.cpp", | |
| "strdup8to16.cpp", | |
| "strlcpy.c", | |
| "threads.cpp", | |
| ], | |
| target: { | |
| linux_bionic: { | |
| enabled: true, | |
| }, | |
| not_windows: { | |
| srcs: libcutils_nonwindows_sources + [ | |
| "ashmem-host.cpp", | |
| "fs_config.cpp", | |
| "trace-host.cpp", | |
| ], | |
| }, | |
| windows: { | |
| srcs: [ | |
| "socket_inaddr_any_server_windows.cpp", | |
| "socket_network_client_windows.cpp", | |
| "sockets_windows.cpp", | |
| "trace-host.cpp", | |
| ], | |
| enabled: true, | |
| shared: { | |
| enabled: false, | |
| }, | |
| cflags: [ | |
| "-D_GNU_SOURCE", | |
| ], | |
| }, | |
| android: { | |
| srcs: libcutils_nonwindows_sources + [ | |
| "android_get_control_file.cpp", | |
| "android_reboot.cpp", | |
| "ashmem-dev.cpp", | |
| "fs_config.cpp", | |
| "klog.cpp", | |
| "partition_utils.cpp", | |
| "properties.cpp", | |
| "qtaguid.cpp", | |
| "trace-dev.cpp", | |
| "uevent.cpp", | |
| ], | |
| }, | |
| android_arm: { | |
| srcs: ["arch-arm/memset32.S"], | |
| sanitize: { | |
| misc_undefined: ["integer"], | |
| }, | |
| }, | |
| android_arm64: { | |
| srcs: ["arch-arm64/android_memset.S"], | |
| sanitize: { | |
| misc_undefined: ["integer"], | |
| }, | |
| }, | |
| android_mips: { | |
| srcs: ["arch-mips/android_memset.c"], | |
| sanitize: { | |
| misc_undefined: ["integer"], | |
| }, | |
| }, | |
| android_mips64: { | |
| srcs: ["arch-mips/android_memset.c"], | |
| sanitize: { | |
| misc_undefined: ["integer"], | |
| }, | |
| }, | |
| android_x86: { | |
| srcs: [ | |
| "arch-x86/android_memset16.S", | |
| "arch-x86/android_memset32.S", | |
| ], | |
| // TODO: This is to work around b/29412086. | |
| // Remove once __mulodi4 is available and move the "sanitize" block | |
| // to the android target. | |
| sanitize: { | |
| misc_undefined: [], | |
| }, | |
| }, | |
| android_x86_64: { | |
| srcs: [ | |
| "arch-x86_64/android_memset16.S", | |
| "arch-x86_64/android_memset32.S", | |
| ], | |
| sanitize: { | |
| misc_undefined: ["integer"], | |
| }, | |
| }, | |
| vendor: { | |
| exclude_srcs: [ | |
| // qtaguid.cpp loads libnetd_client.so with dlopen(). Since | |
| // the interface of libnetd_client.so may vary between AOSP | |
| // releases, exclude qtaguid.cpp from the VNDK-SP variant. | |
| "qtaguid.cpp", | |
| ], | |
| } | |
| }, | |
| shared_libs: [ | |
| "liblog", | |
| "libbase", | |
| ], | |
| header_libs: [ | |
| "libbase_headers", | |
| "libcutils_headers", | |
| "libutils_headers", | |
| "libprocessgroup_headers", | |
| ], | |
| export_header_lib_headers: [ | |
| "libcutils_headers", | |
| "libprocessgroup_headers", | |
| ], | |
| local_include_dirs: ["include"], | |
| cflags: [ | |
| "-Werror", | |
| "-Wall", | |
| "-Wextra", | |
| ], | |
| } | |
| cc_defaults { | |
| name: "libcutils_test_default", | |
| srcs: ["sockets_test.cpp"], | |
| target: { | |
| android: { | |
| srcs: [ | |
| "android_get_control_file_test.cpp", | |
| "android_get_control_socket_test.cpp", | |
| "ashmem_test.cpp", | |
| "fs_config_test.cpp", | |
| "memset_test.cpp", | |
| "multiuser_test.cpp", | |
| "properties_test.cpp", | |
| "sched_policy_test.cpp", | |
| "str_parms_test.cpp", | |
| "trace-dev_test.cpp", | |
| ], | |
| }, | |
| not_windows: { | |
| srcs: [ | |
| "str_parms_test.cpp", | |
| ], | |
| }, | |
| }, | |
| cflags: [ | |
| "-Wall", | |
| "-Wextra", | |
| "-Werror", | |
| ], | |
| } | |
| test_libraries = [ | |
| "libcutils", | |
| "liblog", | |
| "libbase", | |
| "libjsoncpp", | |
| "libprocessgroup", | |
| ] | |
| cc_test { | |
| name: "libcutils_test", | |
| test_suites: ["device-tests"], | |
| defaults: ["libcutils_test_default"], | |
| host_supported: true, | |
| shared_libs: test_libraries, | |
| } | |
| cc_test { | |
| name: "libcutils_test_static", | |
| test_suites: ["device-tests"], | |
| defaults: ["libcutils_test_default"], | |
| static_libs: ["libc"] + test_libraries, | |
| stl: "libc++_static", | |
| target: { | |
| android: { | |
| static_executable: true, | |
| }, | |
| windows: { | |
| host_ldlibs: ["-lws2_32"], | |
| enabled: true, | |
| }, | |
| }, | |
| } |