Move Skia GN sources to a separate .gni file.
This file will be imported by Chrome to access the sources lists.
Once Chrome is updated to use this file, changes to the skia .gypi layout can
be done entirely within the skia repository as long as the resulting lists
produced by the new .gni file have the same name.
Marks skia_for_chromium_defines as obsolete and moves the definition into the new .gni file. We can remove the .gypi file when Chrome is updated.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302803005
Review-Url: https://codereview.chromium.org/2302803005
diff --git a/BUILD.gn b/BUILD.gn
index 6cb5516..1b90048 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -3,6 +3,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//gn/shared_sources.gni")
+
declare_args() {
skia_enable_tools = !is_fuchsia && !is_component_build
@@ -90,69 +92,6 @@
":skia_library",
]
-core_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/core.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/core.gypi" ])
-
-effects_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/effects.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/effects.gypi" ])
-
-gpu_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/gpu.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/gpu.gypi" ])
-
-opts_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/opts.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/opts.gypi" ])
-
-pdf_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/pdf.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/pdf.gypi" ])
-
-sksl_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/sksl.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/sksl.gypi" ])
-
-utils_gypi = exec_script("gn/gypi_to_gn.py",
- [
- rebase_path("gyp/utils.gypi"),
- "--replace=<(skia_include_path)=include",
- "--replace=<(skia_src_path)=src",
- ],
- "scope",
- [ "gyp/utils.gypi" ])
-
# Use for CPU-specific Skia code that needs particular compiler flags.
template("opts") {
if (invoker.enabled) {
@@ -177,61 +116,61 @@
opts("none") {
enabled = !is_x86 && current_cpu != "arm" && current_cpu != "arm64"
- sources = opts_gypi.none_sources
+ sources = skia_opts.none_sources
cflags = []
}
opts("armv7") {
enabled = current_cpu == "arm"
- sources = opts_gypi.armv7_sources + opts_gypi.neon_sources
+ sources = skia_opts.armv7_sources + skia_opts.neon_sources
cflags = []
}
opts("arm64") {
enabled = current_cpu == "arm64"
- sources = opts_gypi.arm64_sources
+ sources = skia_opts.arm64_sources
cflags = []
}
opts("crc32") {
enabled = current_cpu == "arm64"
- sources = opts_gypi.crc32_sources
+ sources = skia_opts.crc32_sources
cflags = [ "-march=armv8-a+crc" ]
}
opts("sse2") {
enabled = is_x86
- sources = opts_gypi.sse2_sources
+ sources = skia_opts.sse2_sources
cflags = [ "-msse2" ]
}
opts("ssse3") {
enabled = is_x86
- sources = opts_gypi.ssse3_sources
+ sources = skia_opts.ssse3_sources
cflags = [ "-mssse3" ]
}
opts("sse41") {
enabled = is_x86
- sources = opts_gypi.sse41_sources
+ sources = skia_opts.sse41_sources
cflags = [ "-msse4.1" ]
}
opts("sse42") {
enabled = is_x86
- sources = opts_gypi.sse42_sources
+ sources = skia_opts.sse42_sources
cflags = [ "-msse4.2" ]
}
opts("avx") {
enabled = is_x86
- sources = opts_gypi.avx_sources
+ sources = skia_opts.avx_sources
cflags = [ "-mavx" ]
}
opts("dsp") {
enabled = current_cpu == "mipsel"
- sources = opts_gypi.mips_dsp_sources
+ sources = skia_opts.mips_dsp_sources
cflags = []
}
@@ -335,7 +274,7 @@
deps = [
"//third_party/zlib",
]
- sources = pdf_gypi.sources
+ sources = skia_pdf_sources
sources_when_disabled = [ "src/pdf/SkDocument_PDF_None.cpp" ]
if (skia_use_sfntly) {
@@ -424,11 +363,11 @@
]
sources = []
- sources += core_gypi.sources
- sources += effects_gypi.sources
- sources += gpu_gypi.skgpu_sources
- sources += sksl_gypi.sources
- sources += utils_gypi.sources
+ sources += skia_core_sources
+ sources += skia_effects_sources
+ sources += skia_gpu_sources
+ sources += skia_sksl_sources
+ sources += skia_utils_sources
sources += [
"src/android/SkBitmapRegionCodec.cpp",
"src/android/SkBitmapRegionDecoder.cpp",
@@ -462,10 +401,15 @@
"third_party/etc1/etc1.cpp",
"third_party/ktx/ktx.cpp",
]
- sources -= [
- "src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
- "src/gpu/gl/GrGLDefaultInterface_none.cpp",
- ]
+
+ # These paths need to be absolute to match the ones produced by
+ # shared_sources.gni, but this file may be used from different directory
+ # locations.
+ sources -= get_path_info([
+ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
+ "src/gpu/gl/GrGLDefaultInterface_none.cpp",
+ ],
+ "abspath")
libs = []