Skip to content
This repository was archived by the owner on Apr 21, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Forward build_overrides to flutter/build_overrides
In flutter/engine#51258, all existing
build_overrides from the buildroot were copied into the engine. This
replaces each existing file under build_overrides in the buildroot with
a shim that just imports the files landed in that patch. This allows the
third-party dependencies to continue hardcoding the
//build_overrides/foo.gni path, but provides a seamless path forward
when we drop the buildroot.

Issue: flutter/flutter#144790
Part of: flutter/flutter#67373
  • Loading branch information
cbracken committed Mar 7, 2024
commit d53f30d5871372323387d8efc0d43ce4cf6ac62d
37 changes: 3 additions & 34 deletions build_overrides/angle.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Ensure use_xcode_clang is visibile to ANGLE.
import("//build/toolchain/toolchain.gni")

# The ANGLE build requires this file to point to the location of third-party
# dependencies.
angle_root = "//third_party/angle"

angle_vma_version = 30000001

# Flutter's buildroot looks enough like Chromium to satisfy Angle, and enough
# to cause GN variable collisions if we don't set this.
if (!is_fuchsia) {
angle_has_build = true
}

# Overrides for ANGLE's dependencies.
angle_abseil_cpp_dir = "//flutter/third_party/abseil-cpp"
angle_glslang_dir = "//flutter/third_party/vulkan-deps/glslang/src"
angle_googletest_dir = "//third_party/googletest/googletest/src"

# Note: This path doesn't actually exist; see
# //build/secondary/third_party/jsoncpp/BUILD.gn
angle_jsoncpp_dir = "//third_party/jsoncpp"
angle_libjpeg_turbo_dir = "//third_party/libjpeg_turbo"
angle_libpng_dir = "//flutter/third_party/libpng"
angle_spirv_headers_dir = "//flutter/third_party/vulkan-deps/spirv-headers/src"
angle_spirv_tools_dir = "//flutter/third_party/vulkan-deps/spirv-tools/src"
angle_spirv_cross_dir = "//flutter/third_party/vulkan-deps/spirv-cross/src"
angle_spirv_headers_dir = "//flutter/third_party/vulkan-deps/spirv-headers/src"
angle_vulkan_memory_allocator_dir = "//third_party/vulkan_memory_allocator"

# This is a general Chromium flag, but in the Flutter build only ANGLE needs it
# so it is defined here.
is_cfi = false
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/angle.gni")
12 changes: 3 additions & 9 deletions build_overrides/build.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# The engine build uses some Chromium-sourced versions of third-party
# dependencies (e.g, ANGLE, abseil) to use their GN build files, but we don't
# want the Chromium-specific parts of the build.
build_with_chromium = false

# Perfetto targets fail to build without this variable. It is used by Perfetto
# targets to distinguish embedder builds from Perfetto standalone builds, and
# builds in the Android tree.
perfetto_build_with_embedder = true
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/build.gni")
5 changes: 3 additions & 2 deletions build_overrides/glslang.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

glslang_spirv_tools_dir = "//flutter/third_party/vulkan-deps/spirv-tools/src"
spirv_tools_dir = "//flutter/third_party/vulkan-deps/spirv-tools/src"
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/glslang.gni")
9 changes: 3 additions & 6 deletions build_overrides/spirv_tools.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# We are building inside Flutter.
spirv_tools_standalone = false

# Paths to SPIRV-Tools dependencies in Flutter.
spirv_tools_googletest_dir = "//third_party/googletest/googletest/src"
spirv_tools_spirv_headers_dir = "//flutter/third_party/vulkan-deps/spirv-headers/src"
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/spirv_tools.gni")
8 changes: 3 additions & 5 deletions build_overrides/swiftshader.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# We are building SwiftShader in Flutter.
swiftshader_standalone = false

# Path to SwiftShader.
swiftshader_dir = "//flutter/third_party/swiftshader"
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/swiftshader.gni")
10 changes: 3 additions & 7 deletions build_overrides/vulkan_headers.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file is needed by the vulkan-headers build, but doesn't need to actually
# set anything.

if (is_linux) {
vulkan_use_x11 = true
vulkan_use_wayland = true
}
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/vulkan_headers.gni")
7 changes: 3 additions & 4 deletions build_overrides/vulkan_loader.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

vulkan_headers_dir = "//flutter/third_party/vulkan-deps/vulkan-headers/src"

# Vulkan loader build options
vulkan_loader_shared = true
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/vulkan_loader.gni")
8 changes: 3 additions & 5 deletions build_overrides/vulkan_tools.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

vulkan_headers_dir = "//flutter/third_party/vulkan-deps/vulkan-headers/src"

# Subdirectories for generated files
vulkan_data_subdir = ""
vulkan_gen_subdir = ""
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/vulkan_tools.gni")
4 changes: 3 additions & 1 deletion build_overrides/vulkan_utility_libraries.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

vulkan_headers_dir = "//flutter/third_party/vulkan-deps/vulkan-headers/src"
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/vulkan_utility_libraries.gni")
13 changes: 3 additions & 10 deletions build_overrides/vulkan_validation_layers.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

vulkan_headers_dir = "//flutter/third_party/vulkan-deps/vulkan-headers/src"
vulkan_utility_libraries_dir = "//flutter/third_party/vulkan-deps/vulkan-utility-libraries/src"
vvl_spirv_tools_dir = "//flutter/third_party/vulkan-deps/spirv-tools/src"
vvl_glslang_dir = "//flutter/third_party/vulkan-deps/spirv-tools/src"

# robin_hood_headers_dir = "//external/robin-hood-hashing/src/include"

# Subdirectories for generated files
vulkan_data_subdir = "vulkan-data"
vulkan_gen_subdir = ""
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/vulkan_validation_layers.gni")
7 changes: 3 additions & 4 deletions build_overrides/wayland.gni
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# ANGLE expects this to be here.

# Flutter has no wayland third-party dir
wayland_gn_dir = ""
# This file is a temporary shim needed during the elimination of the buildroot.
# See: https://github.com/flutter/flutter/issues/67373
import("//flutter/build_overrides/wayland.gni")