mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 05:35:31 +00:00
86feeec278
--HG-- extra : rebase_source : 2a8e6bdd19f95ada11aa6b3c58165b91d1f5eea2
240 lines
5.4 KiB
Plaintext
240 lines
5.4 KiB
Plaintext
# Copyright 2014 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
if (is_win) {
|
|
# Only needed on Windows.
|
|
gles_gypi = exec_script(
|
|
"//build/gypi_to_gn.py",
|
|
[ rebase_path("src/libGLESv2.gypi") ],
|
|
"scope",
|
|
[ "src/libGLESv2.gypi" ])
|
|
|
|
egl_gypi = exec_script(
|
|
"//build/gypi_to_gn.py",
|
|
[ rebase_path("src/libEGL.gypi") ],
|
|
"scope",
|
|
[ "src/libEGL.gypi" ])
|
|
}
|
|
|
|
compiler_gypi = exec_script(
|
|
"//build/gypi_to_gn.py",
|
|
[ rebase_path("src/compiler.gypi") ],
|
|
"scope",
|
|
[ "src/compiler.gypi" ])
|
|
|
|
# This config is exported to dependent targets (and also applied to internal
|
|
# ones).
|
|
config("external_config") {
|
|
include_dirs = [
|
|
"include",
|
|
]
|
|
}
|
|
|
|
# This config is applied to internal Angle targets (not pushed to dependents).
|
|
config("internal_config") {
|
|
include_dirs = [
|
|
"include",
|
|
"src",
|
|
]
|
|
}
|
|
|
|
component("translator") {
|
|
sources = [
|
|
"src/compiler/translator/ShaderLang.cpp",
|
|
"src/compiler/translator/ShaderVars.cpp",
|
|
]
|
|
|
|
defines = [ "ANGLE_TRANSLATOR_IMPLEMENTATION" ]
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
|
|
public_deps = [
|
|
":translator_lib",
|
|
]
|
|
}
|
|
|
|
# Holds the shared includes so we only need to list them once.
|
|
source_set("includes") {
|
|
sources = [
|
|
"include/EGL/egl.h",
|
|
"include/EGL/eglext.h",
|
|
"include/EGL/eglplatform.h",
|
|
"include/GLES2/gl2.h",
|
|
"include/GLES2/gl2ext.h",
|
|
"include/GLES2/gl2platform.h",
|
|
"include/GLES3/gl3.h",
|
|
"include/GLES3/gl3ext.h",
|
|
"include/GLES3/gl3platform.h",
|
|
"include/GLSLANG/ShaderLang.h",
|
|
"include/KHR/khrplatform.h",
|
|
]
|
|
}
|
|
|
|
static_library("preprocessor") {
|
|
sources = rebase_path(compiler_gypi.angle_preprocessor_sources, ".", "src")
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
}
|
|
|
|
config("translator_static_config") {
|
|
defines = [ "ANGLE_TRANSLATOR_STATIC" ]
|
|
}
|
|
|
|
static_library("translator_lib") {
|
|
sources = rebase_path(compiler_gypi.angle_translator_lib_sources, ".", "src")
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
":translator_static_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
public_configs = [ ":external_config" ]
|
|
|
|
deps = [
|
|
":includes",
|
|
":preprocessor",
|
|
]
|
|
}
|
|
|
|
static_library("translator_static") {
|
|
sources = [
|
|
"src/compiler/translator/ShaderLang.cpp",
|
|
"src/compiler/translator/ShaderVars.cpp",
|
|
]
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
public_configs = [ ":translator_static_config" ]
|
|
|
|
public_deps = [
|
|
":translator_lib",
|
|
]
|
|
}
|
|
|
|
config("commit_id_config") {
|
|
include_dirs = [ "$root_gen_dir/angle" ]
|
|
}
|
|
|
|
action("commit_id") {
|
|
script = "src/commit_id.py"
|
|
|
|
output_file = "$root_gen_dir/angle/id/commit.h"
|
|
outputs = [ output_file ]
|
|
|
|
args = [
|
|
"gen",
|
|
rebase_path(".", root_build_dir),
|
|
rebase_path(output_file, root_build_dir),
|
|
]
|
|
|
|
public_configs = [ ":commit_id_config" ]
|
|
}
|
|
|
|
if (is_win) {
|
|
angle_enable_d3d9 = true
|
|
angle_enable_d3d11 = true
|
|
|
|
shared_library("libGLESv2") {
|
|
sources = rebase_path(gles_gypi.angle_libangle_sources, ".", "src")
|
|
sources += [
|
|
"src/libGLESv2/libGLESv2.cpp",
|
|
"src/libGLESv2/libGLESv2.def",
|
|
"src/libGLESv2/libGLESv2.rc",
|
|
]
|
|
|
|
defines = [
|
|
"ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ " +
|
|
"\"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }",
|
|
"GL_APICALL=",
|
|
"GL_GLEXT_PROTOTYPES=",
|
|
"EGLAPI=",
|
|
]
|
|
libs = []
|
|
|
|
# Windows-specific sources.
|
|
sources += rebase_path(gles_gypi.angle_libangle_win_sources, ".", "src")
|
|
|
|
# Shared D3dD sources.
|
|
if (angle_enable_d3d9 || angle_enable_d3d11) {
|
|
sources += rebase_path(gles_gypi.angle_d3d_shared_sources, ".", "src")
|
|
}
|
|
|
|
if (angle_enable_d3d9) {
|
|
sources += rebase_path(gles_gypi.angle_d3d9_sources, ".", "src")
|
|
defines += [ "ANGLE_ENABLE_D3D9" ]
|
|
libs += [ "d3d9.lib" ]
|
|
}
|
|
|
|
if (angle_enable_d3d11) {
|
|
sources += rebase_path(gles_gypi.angle_d3d11_sources, ".", "src")
|
|
defines += [ "ANGLE_ENABLE_D3D11" ]
|
|
libs += [ "dxguid.lib" ]
|
|
}
|
|
|
|
if (is_debug) {
|
|
defines += [ "ANGLE_ENABLE_PERF" ]
|
|
libs += [ "d3d9.lib" ]
|
|
}
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
|
|
include_dirs = [ "src/libGLESv2" ]
|
|
|
|
deps = [
|
|
":commit_id",
|
|
":includes",
|
|
":translator",
|
|
#":copy_compiler_dll", TODO(GYP)
|
|
]
|
|
}
|
|
|
|
shared_library("libEGL") {
|
|
sources = rebase_path(egl_gypi.angle_libegl_sources, ".", "src")
|
|
|
|
defines = [
|
|
"GL_APICALL=",
|
|
"GL_GLEXT_PROTOTYPES=",
|
|
"EGLAPI=",
|
|
]
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [
|
|
":internal_config",
|
|
"//build/config/compiler:no_chromium_code",
|
|
]
|
|
|
|
if (is_debug) {
|
|
defines += [
|
|
"ANGLE_ENABLE_PERF",
|
|
"ANGLE_GENERATE_SHADER_DEBUG_INFO"
|
|
]
|
|
}
|
|
|
|
include_dirs = [ "src/libGLESv2" ]
|
|
libs = [ "d3d9.lib" ]
|
|
|
|
deps = [
|
|
":commit_id",
|
|
":includes",
|
|
":libGLESv2",
|
|
]
|
|
}
|
|
} # is_win
|