aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/angle2
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2016-10-17 11:51:11 -0400
committerGravatar Mike Klein <mtklein@chromium.org>2016-10-17 16:16:16 +0000
commit1a8d675148ad92a2f67c075d4f5ca856f416df2a (patch)
treee96f348e25255ef021a69e201765bb05adae5f97 /third_party/angle2
parentc7a46650bc746311cbb10bd3f5426f5d0cb6c801 (diff)
GN: get Angle compiling on Windows.
Angle does not yet link, but it does compile. I chickened out and wrote cp.py to be the copy tool on Windows. I've got all platforms using it for consistency. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-ANGLE-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3533 Change-Id: I15f4b63a47121528b2fd2672c26c62765966147c Reviewed-on: https://skia-review.googlesource.com/3533 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'third_party/angle2')
-rw-r--r--third_party/angle2/BUILD.gn69
1 files changed, 48 insertions, 21 deletions
diff --git a/third_party/angle2/BUILD.gn b/third_party/angle2/BUILD.gn
index 3ae0f8efe5..b3958cacff 100644
--- a/third_party/angle2/BUILD.gn
+++ b/third_party/angle2/BUILD.gn
@@ -33,24 +33,32 @@ config("common") {
defines = [
"ANGLE_ENABLE_ESSL",
"ANGLE_ENABLE_GLSL",
- "GL_GLEXT_PROTOTYPES",
+ "ANGLE_ENABLE_OPENGL",
"EGL_EGLEXT_PROTOTYPES",
+ "GL_GLEXT_PROTOTYPES",
]
include_dirs = [
"$root_gen_dir/angle2",
"$angle_root/include",
"$angle_root/src",
"$angle_root/src/common/third_party/numerics",
+ "$angle_root/src/third_party/khronos",
]
- assert(is_linux) # TODO: is_win, of course, maybe is_mac?
+ assert(is_linux || is_win) # TODO: is_mac?
if (is_linux) {
defines += [
- "ANGLE_ENABLE_OPENGL",
"ANGLE_USE_X11",
"GL_APICALL=__attribute__((visibility(\"default\")))",
"EGLAPI=__attribute__((visibility(\"default\")))",
]
+ } else if (is_win) {
+ defines += [
+ "ANGLE_ENABLE_D3D11",
+ "ANGLE_ENABLE_D3D9",
+ "GL_APICALL=",
+ "EGLAPI=",
+ ]
}
}
@@ -65,25 +73,27 @@ copy("commit_id") {
shared_library("libGLESv2") {
configs += [ ":common" ]
+ configs -= [ "//gn:warnings" ]
defines = [ "LIBGLESV2_IMPLEMENTATION" ]
deps = [
":commit_id",
]
libs = []
- sources = rebase_path(compiler_gypi.angle_preprocessor_sources +
- compiler_gypi.angle_translator_lib_sources +
- compiler_gypi.angle_translator_lib_essl_sources +
- compiler_gypi.angle_translator_lib_glsl_sources +
- gles_gypi.libangle_sources +
- gles_gypi.libangle_common_sources +
- gles_gypi.libangle_image_util_sources +
- gles_gypi.libglesv2_sources,
- ".",
- "$angle_root/src") +
- [
- "$angle_root/src/compiler/translator/ShaderLang.cpp",
- "$angle_root/src/compiler/translator/ShaderVars.cpp",
- ]
+ sources =
+ rebase_path(
+ compiler_gypi.angle_preprocessor_sources +
+ compiler_gypi.angle_translator_lib_sources +
+ compiler_gypi.angle_translator_lib_essl_sources +
+ compiler_gypi.angle_translator_lib_glsl_sources +
+ gles_gypi.libangle_sources + gles_gypi.libangle_common_sources +
+ gles_gypi.libangle_image_util_sources +
+ gles_gypi.libglesv2_sources + gles_gypi.libangle_gl_sources,
+ ".",
+ "$angle_root/src") +
+ [
+ "$angle_root/src/compiler/translator/ShaderLang.cpp",
+ "$angle_root/src/compiler/translator/ShaderVars.cpp",
+ ]
if (!is_win) {
sources -= [ "$angle_root/src/libGLESv2/libGLESv2.def" ]
}
@@ -94,16 +104,33 @@ shared_library("libGLESv2") {
"Xi",
"Xext",
]
- sources += rebase_path(gles_gypi.libangle_gl_sources +
- gles_gypi.libangle_gl_glx_sources,
+ sources +=
+ rebase_path(gles_gypi.libangle_gl_glx_sources, ".", "$angle_root/src") +
+ [ "$angle_root/src/third_party/libXNVCtrl/NVCtrl.c" ]
+ } else if (is_win) {
+ defines += [
+ # TODO: ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES
+ ]
+ sources += rebase_path(gles_gypi.libangle_gl_wgl_sources +
+ gles_gypi.libangle_d3d_shared_sources +
+ gles_gypi.libangle_d3d9_sources +
+ gles_gypi.libangle_d3d11_sources +
+ gles_gypi.libangle_d3d11_win32_sources,
".",
- "$angle_root/src") +
- [ "$angle_root/src/third_party/libXNVCtrl/NVCtrl.c" ]
+ "$angle_root/src")
+ libs += [
+ "d3d9.lib",
+ "dxguid.lib",
+ ]
+ deps += [
+ # TODO: copy_compiler_dll?
+ ]
}
}
shared_library("libEGL") {
configs += [ ":common" ]
+ configs -= [ "//gn:warnings" ]
defines = [ "LIBEGL_IMPLEMENTATION" ]
deps = [
":libGLESv2",