# Copyright 2013 The Flutter Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//flutter/common/config.gni") if (is_fuchsia) { import("//build/fuchsia/sdk.gni") } # Whether to build the dartdevc sdk, libraries, and source files # required for the flutter web sdk. declare_args() { full_dart_sdk = false } group("flutter") { testonly = true public_deps = [] if (!(is_fuchsia && using_fuchsia_sdk)) { public_deps += [ "//flutter/lib/snapshot:generate_snapshot_bin", "//flutter/lib/snapshot:kernel_platform_files", ] } public_deps += [ "//flutter/shell/platform/embedder:flutter_engine", "//flutter/sky", ] if (current_toolchain == host_toolchain) { public_deps += [ "//flutter/tools/font-subset" ] } if (current_toolchain == host_toolchain) { public_deps += [ "//flutter/shell/testing" ] public_deps += [ "//flutter/tools/const_finder" ] } if (is_fuchsia && using_fuchsia_sdk) { public_deps += [ "//flutter/shell/platform/fuchsia", "//flutter/shell/testing($host_toolchain)", ] } if (!is_fuchsia && !is_fuchsia_host) { if (current_toolchain == host_toolchain) { public_deps += [ "//flutter/flutter_frontend_server:frontend_server", "//third_party/dart:create_sdk", ] if (full_dart_sdk) { public_deps += [ "//flutter/web_sdk" ] } } } # If on the host, compile all unittests targets. if (current_toolchain == host_toolchain) { if (is_mac) { public_deps += [ "//flutter/shell/platform/darwin:flutter_channels_unittests", "//flutter/shell/platform/darwin/macos:flutter_desktop_darwin_unittests", ] } public_deps += [ "//flutter/flow:flow_unittests", "//flutter/fml:fml_unittests", "//flutter/lib/ui:ui_unittests", "//flutter/runtime:runtime_unittests", "//flutter/shell/common:shell_unittests", "//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper_unittests", "//flutter/shell/platform/embedder:embedder_unittests", "//flutter/shell/platform/glfw/client_wrapper:client_wrapper_glfw_unittests", "//flutter/testing:testing_unittests", "//flutter/third_party/txt:txt_unittests", ] if (is_win) { public_deps += [ "//flutter/shell/platform/windows:flutter_windows_unittests", "//flutter/shell/platform/windows/client_wrapper:client_wrapper_windows_unittests", ] } if (!is_win) { public_deps += [ "//flutter/fml:fml_benchmarks", "//flutter/shell/common:shell_benchmarks", "//flutter/third_party/txt:txt_benchmarks", ] } } } config("config") { include_dirs = [ ".." ] if (is_win) { if (current_cpu != "x86") { cflags = [ "/WX" ] # Treat warnings as errors. } } } config("export_dynamic_symbols") { if (is_linux || is_fuchsia) { inputs = [ "//flutter/common/exported_symbols.sym", ] ldflags = [ "-Wl,--dynamic-list=" + rebase_path(inputs[0], root_build_dir) ] } } group("dist") { testonly = true deps = [ "//flutter/sky/dist", ] } # Fuchsia currently only supports a subset of our unit tests # When adding a new dep here, please also ensure the dep is added to # testing/fuchsia/run_tests.sh and testing/fuchsia/test_fars if (is_fuchsia) { group("fuchsia_tests") { testonly = true deps = [ "//flutter/flow:flow_tests", "//flutter/fml:fml_tests", "//flutter/shell/platform/fuchsia/flutter:flutter_runner_tests", ] } }