blob: 0a9fa4e91c3b664a6cec842481617296b69ac5a1 [file] [log] [blame]
//
// 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",
"libext2_blkid",
"libfruit",
"libgflags",
"libjsoncpp",
"liblog",
"libprotobuf-cpp-full",
"libssl",
"libz",
],
},
android: {
shared_libs: [
"libbase",
"libcurl",
"libcrypto",
"libcuttlefish_fs",
"libcuttlefish_utils",
"libext2_blkid",
"libfruit",
"libjsoncpp",
"liblog",
"libprotobuf-cpp-full",
"libssl",
"libz",
],
},
},
static_libs: [
"libbuildversion",
"libcuttlefish_cvd_proto",
"libcuttlefish_host_config",
"libcuttlefish_web",
"libgflags",
],
required: [
"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_client",
srcs: [
"client.cpp",
],
defaults: ["cvd_lib_defaults"],
}
cc_library_host_static {
name: "libcvd_instance_db",
srcs: [
"instance_database_utils.cpp",
"instance_group_record.cpp",
"instance_record.cpp",
],
defaults: ["cvd_lib_defaults"],
}
cc_library_host_static {
name: "libcvd_server",
srcs: [
"acloud_command.cpp",
"build_api.cpp",
"command_sequence.cpp",
"demo_multi_vd.cpp",
"epoll_loop.cpp",
"instance_lock.cpp",
"instance_manager.cpp",
"help_command.cpp",
"scope_guard.cpp",
"server.cc",
"server_client.cpp",
"server_command.cpp",
"server_command_generic_impl.cpp",
"server_command_fetch_impl.cpp",
"server_command_impl.cpp",
"server_command_start_impl.cpp",
"server_restart.cpp",
"server_shutdown.cpp",
"server_version.cpp",
],
defaults: ["cvd_lib_defaults"],
}
cc_library_host_static {
name: "libfetch_cvd",
srcs: [
"fetch_cvd.cc",
],
defaults: ["cvd_lib_defaults"],
}
cc_defaults {
name: "cvd_and_fetch_cvd_defaults",
static_libs: [
"libcvd_client",
"libcvd_instance_db",
"libcvd_server",
"libfetch_cvd",
],
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: ["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"],
}