| // | |
| // Copyright (C) 2018 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. | |
| package { | |
| default_applicable_licenses: ["Android-Apache-2.0"], | |
| } | |
| cc_library { | |
| name: "libcuttlefish_utils", | |
| srcs: [ | |
| "archive.cpp", | |
| "base64.cpp", | |
| "environment.cpp", | |
| "files.cpp", | |
| "flag_parser.cpp", | |
| "flags_validator.cpp", | |
| "json.cpp", | |
| "network.cpp", | |
| "proc_file_utils.cpp", | |
| "shared_fd_flag.cpp", | |
| "subprocess.cpp", | |
| "tcp_socket.cpp", | |
| "tee_logging.cpp", | |
| "unix_sockets.cpp", | |
| "users.cpp", | |
| ], | |
| shared: { | |
| shared_libs: [ | |
| "libbase", | |
| "libcuttlefish_fs", | |
| "libcrypto", | |
| "libjsoncpp", | |
| ], | |
| }, | |
| static: { | |
| static_libs: [ | |
| "libbase", | |
| "libcuttlefish_fs", | |
| "libjsoncpp", | |
| ], | |
| shared_libs: [ | |
| "libcrypto", // libcrypto_static is not accessible from all targets | |
| ], | |
| }, | |
| target: { | |
| darwin: { | |
| enabled: true, | |
| }, | |
| linux: { | |
| srcs: [ | |
| "inotify.cpp", | |
| "socket2socket_proxy.cpp", // TODO(b/285989475): Find eventfd alternative | |
| "vsock_connection.cpp", | |
| ] | |
| }, | |
| host_linux: { | |
| shared_libs: ["sandboxed_api_sandbox2"], | |
| static_libs: [ | |
| "libabsl_host", | |
| "libcap", | |
| "libprotobuf-cpp-full", | |
| ], | |
| }, | |
| }, | |
| defaults: ["cuttlefish_host"], | |
| product_available: true, | |
| } | |
| cc_test_host { | |
| name: "libcuttlefish_utils_test", | |
| srcs: [ | |
| "base64_test.cpp", | |
| "files_test.cpp", | |
| "files_test_helper.cpp", | |
| "flag_parser_test.cpp", | |
| "network_test.cpp", | |
| "proc_file_utils_test.cpp", | |
| "result_test.cpp", | |
| "unique_resource_allocator_test.cpp", | |
| "unix_sockets_test.cpp", | |
| ], | |
| static_libs: [ | |
| "libbase", | |
| "libcuttlefish_fs", | |
| "libcuttlefish_utils", | |
| "libgmock", | |
| ], | |
| shared_libs: [ | |
| "libcrypto", | |
| "liblog", | |
| "libxml2", | |
| ], | |
| target: { | |
| host_linux: { | |
| shared_libs: ["sandboxed_api_sandbox2"], | |
| static_libs: [ | |
| "libabsl_host", | |
| "libcap", | |
| "libprotobuf-cpp-full", | |
| ], | |
| }, | |
| }, | |
| test_options: { | |
| unit_test: true, | |
| }, | |
| defaults: ["cuttlefish_host"], | |
| } | |
| cc_library { | |
| name: "libvsock_utils", | |
| srcs: ["vsock_connection.cpp"], | |
| shared_libs: ["libbase", "libcuttlefish_fs", "liblog", "libjsoncpp"], | |
| defaults: ["cuttlefish_guest_only"], | |
| include_dirs: ["device/google/cuttlefish"], | |
| export_include_dirs: ["."], | |
| } |