| Index: third_party/angle2/BUILD.gn
|
| diff --git a/third_party/angle2/BUILD.gn b/third_party/angle2/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3ae0f8efe5d9a7854cc91f1ac55b9fc89f6880f7
|
| --- /dev/null
|
| +++ b/third_party/angle2/BUILD.gn
|
| @@ -0,0 +1,115 @@
|
| +# Copyright 2016 Google Inc.
|
| +#
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +declare_args() {
|
| +}
|
| +
|
| +angle_root = "../externals/angle2"
|
| +
|
| +import("../third_party.gni")
|
| +
|
| +third_party("angle2") {
|
| + public_include_dirs = [ "$angle_root/include" ]
|
| + deps = [
|
| + ":libEGL",
|
| + ":libGLESv2",
|
| + ]
|
| +}
|
| +
|
| +compiler_gypi = exec_script("//gn/gypi_to_gn.py",
|
| + [ rebase_path("$angle_root/src/compiler.gypi") ],
|
| + "scope",
|
| + [])
|
| +
|
| +gles_gypi = exec_script("//gn/gypi_to_gn.py",
|
| + [ rebase_path("$angle_root/src/libGLESv2.gypi") ],
|
| + "scope",
|
| + [])
|
| +
|
| +config("common") {
|
| + cflags = [ "-w" ]
|
| + defines = [
|
| + "ANGLE_ENABLE_ESSL",
|
| + "ANGLE_ENABLE_GLSL",
|
| + "GL_GLEXT_PROTOTYPES",
|
| + "EGL_EGLEXT_PROTOTYPES",
|
| + ]
|
| + include_dirs = [
|
| + "$root_gen_dir/angle2",
|
| + "$angle_root/include",
|
| + "$angle_root/src",
|
| + "$angle_root/src/common/third_party/numerics",
|
| + ]
|
| +
|
| + assert(is_linux) # TODO: is_win, of course, maybe is_mac?
|
| + if (is_linux) {
|
| + defines += [
|
| + "ANGLE_ENABLE_OPENGL",
|
| + "ANGLE_USE_X11",
|
| + "GL_APICALL=__attribute__((visibility(\"default\")))",
|
| + "EGLAPI=__attribute__((visibility(\"default\")))",
|
| + ]
|
| + }
|
| +}
|
| +
|
| +copy("commit_id") {
|
| + sources = [
|
| + "$angle_root/src/commit.h",
|
| + ]
|
| + outputs = [
|
| + "$root_gen_dir/angle2/id/commit.h",
|
| + ]
|
| +}
|
| +
|
| +shared_library("libGLESv2") {
|
| + configs += [ ":common" ]
|
| + 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",
|
| + ]
|
| + if (!is_win) {
|
| + sources -= [ "$angle_root/src/libGLESv2/libGLESv2.def" ]
|
| + }
|
| +
|
| + if (is_linux) {
|
| + libs += [
|
| + "X11",
|
| + "Xi",
|
| + "Xext",
|
| + ]
|
| + sources += rebase_path(gles_gypi.libangle_gl_sources +
|
| + gles_gypi.libangle_gl_glx_sources,
|
| + ".",
|
| + "$angle_root/src") +
|
| + [ "$angle_root/src/third_party/libXNVCtrl/NVCtrl.c" ]
|
| + }
|
| +}
|
| +
|
| +shared_library("libEGL") {
|
| + configs += [ ":common" ]
|
| + defines = [ "LIBEGL_IMPLEMENTATION" ]
|
| + deps = [
|
| + ":libGLESv2",
|
| + ]
|
| + sources = rebase_path(gles_gypi.libegl_sources, ".", "$angle_root/src")
|
| + if (!is_win) {
|
| + sources -= [ "$angle_root/src/libEGL/libEGL.def" ]
|
| + }
|
| +}
|
|
|