blob: 2193658ee0101e51d409bc5edaba3f45b68b8470 [file] [log] [blame]
# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# 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.
group("gn_all") {
testonly = true
deps = [
":default",
"//starboard/client_porting/cwrappers:cwrappers_test",
"//starboard/client_porting/eztime",
"//starboard/client_porting/eztime:eztime_test",
"//starboard/client_porting/icu_init",
"//starboard/client_porting/poem:poem_unittests",
"//starboard/examples/hello_world:starboard_hello_world_example",
"//starboard/examples/window:starboard_window_example",
"//starboard/extension:extension_test",
"//starboard/loader_app:app_key_files_test",
"//starboard/nplb",
"//starboard/nplb/nplb_evergreen_compat_tests",
]
if (gl_type != "none") {
deps += [ "//starboard/examples/glclear:starboard_glclear_example" ]
}
if (has_platform_targets) {
deps += [ "//$starboard_path/platform_targets" ]
}
if (platform_tests_path == "") {
deps += [ ":starboard_platform_tests" ]
} else {
deps += [ platform_tests_path ]
}
if (sb_filter_based_player) {
deps += [
"//starboard/shared/starboard/player/filter/testing:player_filter_tests",
"//starboard/shared/starboard/player/filter/tools:audio_dmp_player",
]
}
if (sb_enable_benchmark) {
deps += [ "//starboard/benchmark" ]
}
if (!sb_is_evergreen) {
deps += [ "//third_party/lz4_lib:lz4" ]
if (sb_is_evergreen_compatible) {
deps += [
"//third_party/crashpad/client",
# TODO(b/270858365): remove this dependency on the Starboard-based
# target (from the target toolchain) once Buildbot has been updated to
# use the native target (from native_target toolchain).
"//third_party/crashpad/handler",
]
data_deps = [
"//starboard/loader_app",
"//third_party/crashpad/handler:crashpad_handler(//$starboard_path/toolchain:native_target)",
]
}
}
}
group("default") {
deps = [
":starboard",
"//starboard/tools:build_app_launcher_zip",
]
}
group("starboard") {
public_deps = [
":starboard_headers_only",
"//starboard/client_porting/cwrappers",
"//starboard/client_porting/eztime",
]
if (sb_is_evergreen) {
public_deps += [
"//starboard/elf_loader:sabi_string",
"//third_party/llvm-project/compiler-rt:compiler_rt",
"//third_party/llvm-project/libcxx:cxx",
"//third_party/llvm-project/libcxxabi:cxxabi",
"//third_party/llvm-project/libunwind:unwind_evergreen",
"//third_party/musl:c",
]
} else {
public_deps += [
"//$starboard_path:starboard_platform",
"//starboard/common",
]
if (sb_is_evergreen_compatible) {
public_deps += [ "//third_party/crashpad/wrapper" ]
} else {
public_deps += [ "//third_party/crashpad/wrapper:wrapper_stub" ]
}
if (final_executable_type == "shared_library" &&
current_toolchain != default_toolchain) {
set_defaults("executable") {
sources = [ "//starboard/shared/starboard/shared_main_adapter.cc" ]
}
}
}
}
source_set("starboard_headers_only") {
# We include starboard/common/log.h in starboard_headers, but some common
# files include starboard headers.
check_includes = false
sources = [
"atomic.h",
"audio_sink.h",
"byte_swap.h",
"character.h",
"condition_variable.h",
"configuration.h",
"configuration_constants.h",
"cpu_features.h",
"decode_target.h",
"directory.h",
"double.h",
"drm.h",
"egl.h",
"event.h",
"export.h",
"file.h",
"gles.h",
"input.h",
"key.h",
"log.h",
"media.h",
"memory.h",
"microphone.h",
"mutex.h",
"once.h",
"player.h",
"queue.h",
"socket.h",
"socket_waiter.h",
"storage.h",
"string.h",
"system.h",
"thread.h",
"time.h",
"time_zone.h",
"types.h",
"user.h",
"window.h",
]
if (is_internal_build) {
public_deps = [ "//starboard/private:private_starboard_headers" ]
}
}
if (platform_tests_path == "") {
# If 'starboard_platform_tests' is not defined by the platform, then an
# empty 'starboard_platform_tests' target is defined.
target(gtest_target_type, "starboard_platform_tests") {
testonly = true
sources = [ "//starboard/common/test_main.cc" ]
public_deps = [
":starboard",
"//testing/gmock",
]
}
}