Update BUILD flags to support Chrome OS
This CL updates a few flags to support Chrome OS:
- Disables the OpenGL backend on Chrome OS builds.
- Removes the X11 dependency for Chrome OS builds because we do not
support X11.
- Removes the XCB dependency (again, no X11).
BUG=chromium:993457
TEST=e2e and unit tests build and pass on Intel Chrome OS devices
Change-Id: I1cb06453ccc94d1b68a6998ea635bddd6fb7b5ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10100
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/scripts/dawn_features.gni b/scripts/dawn_features.gni
index d86f218..a74942b 100644
--- a/scripts/dawn_features.gni
+++ b/scripts/dawn_features.gni
@@ -33,7 +33,7 @@
# Enables the compilation of Dawn's OpenGL backend
# (best effort, non-conformant)
- dawn_enable_opengl = is_linux
+ dawn_enable_opengl = is_linux && !is_chromeos
# Enables the compilation of Dawn's Vulkan backend
dawn_enable_vulkan = is_linux || is_win
diff --git a/src/common/BUILD.gn b/src/common/BUILD.gn
index 0d05c27..9093e82 100644
--- a/src/common/BUILD.gn
+++ b/src/common/BUILD.gn
@@ -60,6 +60,10 @@
defines += [ "DAWN_ENABLE_BACKEND_VULKAN" ]
}
+ if (is_linux && !is_chromeos) {
+ defines += [ "DAWN_USE_X11" ]
+ }
+
# Only internal Dawn targets can use this config, this means only targets in
# this BUILD.gn file.
visibility = [ ":*" ]
diff --git a/src/common/vulkan_platform.h b/src/common/vulkan_platform.h
index e6b2dfb..0317662 100644
--- a/src/common/vulkan_platform.h
+++ b/src/common/vulkan_platform.h
@@ -157,7 +157,7 @@
# include "common/windows_with_undefs.h"
#endif
// Remove X11/Xlib.h macros after vulkan_platform's include of it.
-#if defined(DAWN_PLATFORM_LINUX)
+#if defined(DAWN_USE_X11)
# include "common/xlib_with_undefs.h"
#endif
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index 01a28a6..c880cb9 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -122,7 +122,7 @@
if (is_win) {
defines = [ "VK_USE_PLATFORM_WIN32_KHR" ]
}
- if (is_linux) {
+ if (is_linux && !is_chromeos) {
defines = [ "VK_USE_PLATFORM_XCB_KHR" ]
}
if (is_android) {