blob: 4131f1a3d001de8426f5b136c9204cbba1f48985 [file] [log] [blame] [edit]
//
// 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"],
}