| # 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. |
| |
| import("//starboard/build/config/os_definitions.gni") |
| import("//starboard/build/config/starboard_target_type.gni") |
| import("//starboard/contrib/cast/cast.gni") |
| |
| 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($starboard_toolchain)" ] |
| } else { |
| deps += [ platform_tests_path ] |
| } |
| |
| if (sb_filter_based_player) { |
| deps += [ |
| "//starboard/shared/starboard/player/filter/testing:player_filter_tests($starboard_toolchain)", |
| "//starboard/shared/starboard/player/filter/testing:player_filter_tests_install($starboard_toolchain)", |
| ] |
| |
| # TODO: b/296715826 - Fix build error for windows modular builds. |
| if (!(sb_is_modular && is_host_win)) { |
| deps += [ "//starboard/shared/starboard/player/filter/tools:audio_dmp_player($starboard_toolchain)" ] |
| } |
| } |
| |
| if (sb_enable_benchmark) { |
| deps += [ "//starboard/benchmark" ] |
| } |
| |
| if (build_with_separate_cobalt_toolchain && use_contrib_cast) { |
| deps += [ "//starboard/contrib/cast/cast_starboard_api/samples:cast" ] |
| } |
| |
| if (!sb_is_evergreen) { |
| deps += [ "//third_party/lz4_lib:lz4" ] |
| |
| if (sb_is_evergreen_compatible) { |
| deps += [ "//third_party/crashpad/client" ] |
| data_deps = [ |
| "//starboard/loader_app($starboard_toolchain)", |
| "//third_party/crashpad/handler:crashpad_handler(//$starboard_path/toolchain:native_target)", |
| "//third_party/crashpad/tools:crashpad_database_util(//$starboard_path/toolchain:native_target)", |
| ] |
| } |
| } |
| } |
| |
| group("default") { |
| deps = [ |
| ":starboard_group", |
| "//starboard/tools:build_app_launcher_zip", |
| ] |
| } |
| |
| group("starboard_group") { |
| public_deps = [ |
| ":starboard_headers_only", |
| "//starboard/client_porting/cwrappers", |
| "//starboard/client_porting/eztime", |
| ] |
| |
| if (sb_is_modular && current_toolchain == cobalt_toolchain) { |
| public_deps += [ |
| "//third_party/llvm-project/compiler-rt:compiler_rt", |
| "//third_party/llvm-project/libcxx:cxx", |
| "//third_party/llvm-project/libcxxabi:cxxabi", |
| "//third_party/musl:c", |
| ] |
| if (sb_is_evergreen) { |
| public_deps += [ "//starboard/elf_loader:sabi_string" ] |
| } else { |
| data_deps = [ ":starboard($starboard_toolchain)" ] |
| } |
| |
| # TODO: b/295702296 Fix libunwind for modular builds. |
| if (sb_is_evergreen || is_host_win) { |
| public_deps += [ "//third_party/llvm-project/libunwind:unwind" ] |
| } |
| } else { |
| public_deps += [ |
| ":starboard_static($starboard_toolchain)", |
| "//starboard/common", |
| ] |
| |
| if (!sb_is_modular || sb_is_evergreen) { |
| 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", |
| "condition_variable.h", |
| "configuration.h", |
| "configuration_constants.h", |
| "cpu_features.h", |
| "decode_target.h", |
| "directory.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 = [ "//internal/starboard/private:private_starboard_headers" ] |
| } |
| } |
| |
| if (current_toolchain == starboard_toolchain) { |
| # This is the default 'starboard_platform_target'; use default properties |
| starboard_platform_target("starboard") { |
| } |
| |
| starboard_platform_target("starboard_static") { |
| target_type = "group" |
| } |
| |
| if (platform_tests_path == "") { |
| # If 'starboard_platform_tests' is not defined by the platform, then an |
| # empty 'starboard_platform_tests' target is defined. |
| target(starboard_level_gtest_target_type, "starboard_platform_tests") { |
| testonly = true |
| |
| sources = [ "//starboard/common/test_main.cc" ] |
| |
| public_deps = [ |
| ":starboard_with_main", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| } |
| |
| group("starboard_with_main") { |
| public_deps = [ ":starboard_group" ] |
| if (sb_is_modular && !sb_is_evergreen) { |
| public_deps += [ "//$starboard_path:starboard_platform_with_main" ] |
| } |
| } |
| } |