| // |
| // Copyright (C) 2021 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_defaults { |
| name: "cvd_lib_defaults", |
| target: { |
| host: { |
| stl: "libc++_static", |
| static_libs: [ |
| "libbase", |
| "libcurl", |
| "libcrypto", |
| "libcuttlefish_fs", |
| "libcuttlefish_utils", |
| "libgflags", |
| "libjsoncpp", |
| "liblog", |
| "libprotobuf-cpp-full", |
| "libssl", |
| "libz", |
| ], |
| }, |
| android: { |
| shared_libs: [ |
| "libbase", |
| "libcurl", |
| "libcrypto", |
| "libcuttlefish_fs", |
| "libcuttlefish_utils", |
| "libjsoncpp", |
| "liblog", |
| "libprotobuf-cpp-full", |
| "libssl", |
| "libz", |
| ], |
| }, |
| }, |
| static_libs: [ |
| "libbuildversion", |
| "libcuttlefish_cvd_proto", |
| "libcuttlefish_cvd_metrics_proto", |
| "libcuttlefish_acloud_proto", |
| "libcuttlefish_host_config", |
| "libcuttlefish_web", |
| "libgflags", |
| "libicui18n", |
| "libicuuc", |
| "libicuuc_stubdata", |
| "libxml2", |
| ], |
| header_libs: [ |
| "libgtest_prod_headers", |
| ], |
| export_header_lib_headers: [ |
| "libgtest_prod_headers", |
| ], |
| required: [ |
| "cvd_internal_display", |
| "cvd_internal_env", |
| "cvd_internal_host_bugreport", |
| "cvd_internal_start", |
| "cvd_internal_status", |
| "cvd_internal_stop", |
| ], |
| defaults: [ |
| "cuttlefish_host", |
| ], |
| use_version_lib: true, |
| } |
| |
| cc_library_host_static { |
| name: "libcvd_server_client", |
| srcs: [ |
| "client.cpp", |
| "command_sequence.cpp", |
| "common_utils.cpp", |
| "driver_flags.cpp", |
| "flag.cpp", |
| "frontline_parser.cpp", |
| "epoll_loop.cpp", |
| "handle_reset.cpp", |
| "instance_lock.cpp", |
| "instance_manager.cpp", |
| "interruptible_terminal.cpp", |
| "lock_file.cpp", |
| "logger.cpp", |
| "request_context.cpp", |
| "reset_client_utils.cpp", |
| "run_cvd_proc_collector.cpp", |
| "run_server.cpp", |
| "server.cc", |
| "server_client.cpp", |
| "server_constants.cpp", |
| "types.cpp", |
| ], |
| static_libs: [ |
| "libcvd_selector", |
| "libcvd_metrics", |
| "libext2_uuid", |
| ], |
| defaults: ["cvd_lib_defaults"], |
| } |
| |
| cc_defaults { |
| name: "cvd_and_fetch_cvd_defaults", |
| static_libs: [ |
| "libcuttlefish_launch_cvd_proto", |
| "libcvd_acloud", |
| "libcvd_parser", |
| "libcvd_selector", |
| "libcvd_server_client", |
| "libcvd_metrics", |
| "libext2_uuid", |
| "libcvd_sub_commands", |
| "libcvd_fetch", |
| ], |
| target: { |
| linux_musl: { |
| static_executable: true, |
| }, |
| }, |
| defaults: ["cvd_lib_defaults"], |
| } |
| |
| cc_library_host_static { |
| name: "cvd_and_fetch_cvd", |
| srcs: [ |
| "main.cc", |
| ], |
| defaults: ["cvd_and_fetch_cvd_defaults"], |
| } |
| |
| // These are set up as two separate executables rather than a symlink so that |
| // either can be downloaded as a standalone statically linked executable from |
| // the build system. |
| |
| cc_binary_host { |
| name: "cvd", |
| symlinks: [ |
| "launch_cvd", |
| "stop_cvd", |
| "acloud" |
| ], |
| static_libs: [ |
| "cvd_and_fetch_cvd", |
| ], |
| defaults: ["cvd_and_fetch_cvd_defaults"], |
| } |
| |
| cc_binary_host { |
| name: "fetch_cvd", |
| static_libs: [ |
| "cvd_and_fetch_cvd", |
| ], |
| defaults: ["cvd_and_fetch_cvd_defaults"], |
| } |