Commit a7f97a27 by Frank Henigman Committed by Commit Bot

Gyp is dead. Long live gn.

Remove the gyp build. The .gypi files were not renamed so that diff and rebase would work on this change. They will be renamed in a separate change. BUG=angleproject:1569 Change-Id: If8a217027633293664b820104f91a4ca5889b24e Reviewed-on: https://chromium-review.googlesource.com/1187380 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent 4c310831
......@@ -30,7 +30,6 @@
/third_party/gles1_conform
/third_party/glslang/src
/third_party/googletest/src
/third_party/gyp
/third_party/libpng/src
/third_party/llvm-build
/third_party/spirv-headers/src
......@@ -60,4 +59,3 @@ Release_Win32/
Release_x64/
TestResults.qpa
tools/clang
tools/gyp
......@@ -28,12 +28,12 @@ check_targets = []
# to force additional review for new uses of exec_script, which is strongly
# discouraged except for gypi_to_gn calls.
exec_script_whitelist = angle_dotfile_settings.exec_script_whitelist +
build_dotfile_settings.exec_script_whitelist + [
build_dotfile_settings.exec_script_whitelist +
[
"//build/config/sysroot.gni",
"//build/config/win/BUILD.gn",
"//build/config/win/visual_studio_version.gni",
"//build/gn_helpers.py",
"//build/gypi_to_gn.py",
]
default_args = {
......
......@@ -107,11 +107,6 @@ deps = {
'url': '{chromium_git}/chromium/src/tools/clang.git@99ac9bf4ad0d629e1168a0bda9a82f87062ce106',
'condition': 'not build_with_chromium',
},
'{angle_root}/tools/gyp': {
'url': '{chromium_git}/external/gyp@4d467626b0b9f59a85fb81ca4d7ea9eca99b9d8f',
'condition': 'not build_with_chromium',
},
}
hooks = [
......@@ -231,13 +226,6 @@ hooks = [
'-s', '{angle_root}/build/toolchain/win/rc/win/rc.exe.sha1',
],
},
{
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
'pattern': '.',
'action': ['python', '{angle_root}/gyp/gyp_angle'],
'condition': 'not build_with_chromium',
},
]
recursedeps = [
......
......@@ -49,7 +49,7 @@ ANGLE repository is hosted by Chromium project and can be
## Building
View the [Dev setup instructions](doc/DevSetup.md). For generating a Windows Store version of ANGLE view the [Windows Store instructions](doc/BuildingAngleForWindowsStore.md)
View the [Dev setup instructions](doc/DevSetup.md).
## Contributing
......
# How to build ANGLE for Windows Store
Building for Windows Store is deprecated because it requires [GYP](gyp.md).
ANGLE provides OpenGL ES 2.0 and EGL 1.4 libraries and dlls. You can use these to build and run OpenGL ES 2.0 applications on Windows.
## Development setup
ANGLE for Windows Store uses most of the same steps found in [ANGLE Development](DevSetup.md) with a few changes.
### Required Tools
* [Visual Studio Community 2015](http://www.visualstudio.com/downloads/download-visual-studio-vs)
* Required to build ANGLE on Windows and for the packaged Windows 10 SDK.
### Getting the source
Set the following environment variables as needed:
* `GYP_GENERATORS` to `msvs`
* `GYP_MSVS_VERSION` to `2015`
* `GYP_GENERATE_WINRT` to `1`
Download the ANGLE source by running the following commands:
```
git clone https://chromium.googlesource.com/angle/angle
cd angle
python scripts/bootstrap.py
gclient sync
git checkout master
```
Gyp will generate multiple VS2015 solution files
* `winrt/10/src/angle.sln` for Windows 10
### Building ANGLE
1. Open one of the ANGLE Visual Studio solution files (see [Getting the source](#getting-the-source)).
2. Select Build -> Configuration Manager
3. In the "Active solution configuration:" drop down, select the desired configuration (eg. Release), and close the Configuration Manager.
4. Select Build -> Build Solution.
Once the build completes, the output directory for your selected configuration (eg. `Release_Win32`, located next to the solution file) will contain the required libraries and dlls to build and run an OpenGL ES 2.0 application.
### To Use ANGLE in Your Application
1. A template for creating a Windows Store application that uses ANGLE can be found [here](http://blogs.msdn.com/b/vcblog/archive/2015/07/30/cross-platform-code-sharing-with-visual-c.aspx).
2. Configure your build environment to have access to the `include` folder to provide access to the standard Khronos EGL and GLES2 header files.
* For Visual C++
* Right-click your project in the _Solution Explorer_, and select _Properties_.
* Under the _Configuration Properties_ branch, click _C/C++_.
* Add the relative path to the Khronos EGL and GLES2 header files to _Additional Include Directories_.
3. Configure your build environment to have access to `libEGL.lib` and `libGLESv2.lib` found in the build output directory (see [Building ANGLE](DevSetup.md#building-with-visual-studio)).
* For Visual C++
* Right-click your project in the _Solution Explorer_, and select _Properties_.
* Under the _Configuration Properties_ branch, open the _Linker_ branch and click _Input_.
* Add the relative paths to both the `libEGL.lib` file and `libGLESv2.lib` file to _Additional Dependencies_, separated by a semicolon.
4. Copy `libEGL.dll` and `libGLESv2.dll` from the build output directory (see [Building ANGLE](DevSetup.md#building-with-visual-studio)) into your application folder or packages location if a ANGLE Windows Store NuGet was used.
5. Code your application to the Khronos [OpenGL ES 2.0](http://www.khronos.org/registry/gles/) and [EGL 1.4](http://www.khronos.org/registry/egl/) APIs.
......@@ -15,8 +15,8 @@
### Build maintenance
1. If you added or removed source files:
* You _must_ update the gyp build scripts lists with your changes. See `src/libEGL.gypi`, `src/libGLESv2.gypi`, and `src/compiler.gypi`.
2. ANGLE also now maintains a BUILD.gn script for [Chromium's gn build](https://www.chromium.org/developers/gn-build-configuration). If you changed the gyp files other than to add or remove new files, you will also need to update BUILD.gn. Ask a project member for help with testing if you don't have a Chromium checkout.
* You _must_ update the build files with your changes. See `src/libGLESv2.gypi` and `src/compiler.gypi`.
2. ANGLE's BUILD.gn script is used by [Chromium's gn build](https://www.chromium.org/developers/gn-build-configuration). If you change build files other than to add or remove source files be aware you could break the Chromium build. ANGLE's commit queue (CQ) will detect such breakage. Ask a project member for help with Chromium issues if you don't have a Chromium checkout.
3. If you modified `glslang.y` or `glslang.l`:
* You _must_ update the bison-generated compiler sources. Download and install the latest 64-bit Bison and flex from official [Cygwin](https://cygwin.com/install.html) on _Windows_. From the Cygwin shell run `generate_parser.sh` in `src/compiler/translator` and update your CL. Do not edit the generated files by hand.
* _NOTE:_ You can ignore failing chunk messages if there are no compile errors.
......
......@@ -4,7 +4,7 @@ There are many ways to debug ANGLE using generic or platform-dependent tools. He
## Running ANGLE under apitrace on Linux
[Apitrace](http://apitrace.github.io/) that captures traces of OpenGL commands for later analysis, allowing us to see how ANGLE translates OpenGL ES commands. In order to capture the trace, it inserts a driver shim using `LD_PRELOAD` that records the command and then forwards it to the OpenGL driver.
[Apitrace](http://apitrace.github.io/) captures traces of OpenGL commands for later analysis, allowing us to see how ANGLE translates OpenGL ES commands. In order to capture the trace, it inserts a driver shim using `LD_PRELOAD` that records the command and then forwards it to the OpenGL driver.
The problem with ANGLE is that it exposes the same symbols as the OpenGL driver so apitrace captures the entry point calls intended for ANGLE and reroutes them to the OpenGL driver. In order to avoid this problem, use the following:
......@@ -14,7 +14,7 @@ The problem with ANGLE is that it exposes the same symbols as the OpenGL driver
If you follow these steps, apitrace will work correctly aside from a few minor bugs like not being able to figure out what the default framebuffer size is if there is no glViewport command.
For example, to trace a run of `hello_triangle`, assuming you are using the ninja gyp generator and the apitrace executables are in `$PATH`:
For example, to trace a run of `hello_triangle`, assuming the apitrace executables are in `$PATH`:
```
gn args out/Debug # add "angle_link_glx = true"
......@@ -60,4 +60,4 @@ Example "Intent Arguments:" values in GAPID's "Capture Trace" dialog:
or
```
-e org.chromium.native_test.NativeTest.StdoutFile /sdcard/chromium_tests_root/out.txt --esal org.chromium.native_test.NativeTest.Shard RendererTest.SimpleOperation/ES2_VULKAN,SimpleOperationTest.DrawWithTexture/ES2_VULKAN
```
\ No newline at end of file
```
......@@ -10,7 +10,7 @@ ANGLE uses git for version control. If you are not familiar with git, helpful do
### Required Tools
On all platforms:
* GN is the supported build system. GYP is deprecated and support will be removed in the future but [instructions are available](gyp.md).
* GN is the build system. GYP support has been removed.
* Clang will be set up by the build system and used by default. See below for platform-specific compiler choices.
* [depot_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools)
* Required to generate projects and build files, contribute patches, run the unit tests or build the shader compiler on non-Windows systems.
......
# Deprecated GYP Instructions
Use GN instead of GYP, as described in the [developer instructions](DevSetup.md).
Support for GYP will be removed in the future.
Though deprecated, GYP is still run by `gclient sync`.
You may want to set certain environment variables ahead of time.
On Windows:
* `GYP_GENERATORS` to `msvs` (other options include `ninja` and `make`)
* `GYP_MSVS_VERSION` to `2015`
On Linux and MacOS:
* `GYP_GENERATORS` to `ninja` (defaults to 'make' that pollutes your source directory)
To run GYP at other times use the script `gyp/gyp_angle`.
## Running ANGLE under apitrace on Linux
See the [debugging tips](DebuggingTips.md#running-angle-under-apitrace-on-linux) and replace the gn steps with:
```
gyp/gyp_angle -D angle_link_glx=1 -D angle_gl_library_type=static_library
```
# Deprecated Windows Store Instructions
[Building for Windows Store](BuildingAngleForWindowsStore.md) is deprecated because it requires GYP.
......@@ -8,7 +8,6 @@
angle_dotfile_settings = {
exec_script_whitelist = [
get_path_info("BUILD.gn", "abspath"),
get_path_info("src/tests/BUILD.gn", "abspath"),
get_path_info("third_party/vulkan-headers/BUILD.gn", "abspath"),
get_path_info("third_party/vulkan-loader/BUILD.gn", "abspath"),
get_path_info("third_party/vulkan-tools/BUILD.gn", "abspath"),
......
# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'targets':
[
{
'target_name': 'All',
'type': 'none',
'dependencies':
[
'../src/angle.gyp:*',
'../src/tests/tests.gyp:*',
],
'conditions':
[
# Don't generate samples for WinRT
['angle_build_winrt==0',
{
'dependencies':
[
'../samples/samples.gyp:*',
],
}],
],
},
],
}
# Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables':
{
'component%': 'static_library',
'use_libpci%': 1,
'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/10',
'angle_build_winrt%': '0',
# This works like the Ozone GBM platform in Chrome:
# - Generic Buffer Manager (gbm) to allocate buffers
# - EGL_EXT_image_dma_buf_import to render into those buffers via EGLImage
# - Direct Rendering Manager + Kernel Mode Setting to scan out from those buffers
# - EGL_PLATFORM_SURFACELESS because there are no native windows
'use_ozone%': 0,
'conditions':
[
['OS=="linux" and use_x11==1 and chromeos==0', {
'angle_use_glx%': 1,
},
{
'angle_use_glx%': 0,
}],
],
# root of the OSX SDK for Chromium builds, the system root for standalone builds
'SDKROOT%': "",
},
'defines':
[
'ANGLE_STANDALONE_BUILD',
],
'msvs_disabled_warnings':
[
4100, # Unreferenced formal parameter. Not interesting.
4127, # conditional expression is constant. Too noisy to be useful.
4718, # Recursive call has no side effects. Fires on xtree system header.
4251, # STL objects do not have DLL interface, needed by ShaderVars.h and angle_util
],
'conditions':
[
['use_ozone==1',
{
'defines': [ 'USE_OZONE' ],
}],
['component=="shared_library"',
{
'defines': [ 'COMPONENT_BUILD' ],
}],
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'PreprocessorDefinitions':
[
'_CRT_SECURE_NO_DEPRECATE',
'_SCL_SECURE_NO_WARNINGS',
'_HAS_EXCEPTIONS=0',
'NOMINMAX',
],
},
'VCLinkerTool':
{
'conditions':
[
['angle_build_winrt==0',
{
'AdditionalDependencies':
[
'kernel32.lib',
'gdi32.lib',
'winspool.lib',
'comdlg32.lib',
'advapi32.lib',
'shell32.lib',
'ole32.lib',
'oleaut32.lib',
'user32.lib',
'uuid.lib',
'odbc32.lib',
'odbccp32.lib',
'delayimp.lib',
],
}],
# winrt compilation is dynamic depending on the project
# type. AdditionalDependencies is automatically configured
# with the required .libs
['angle_build_winrt==1',
{
'AdditionalDependencies':
[
'%(AdditionalDependencies)',
'uuid.lib',
],
}],
],
},
},
# Windows SDK library directories for the configurations
'configurations':
{
'conditions':
[
['angle_build_winrt==0',
{
'x86_Base':
{
'abstract': 1,
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x86',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x86',
],
},
},
},
'x64_Base':
{
'abstract': 1,
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x64',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x64',
],
},
},
},
}],
],
},
}
#!/usr/bin/python
# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This script is wrapper for ANGLE that adds some support for how GYP
# is invoked by ANGLE beyond what can be done in the gclient hooks.
import os
import sys
script_dir = os.path.dirname(__file__)
angle_dir = os.path.normpath(os.path.join(script_dir, os.pardir))
sys.path.insert(0, os.path.join(angle_dir, 'tools', 'gyp', 'pylib'))
import gyp
def appendCommonArgs(args):
# Set the depth to get the top-level Makefile generated into the
# correct directory. This only has an effect on Linux.
args.append('--depth');
args.append('.');
# Add standalone.gypi to the include path to set required
# variables that are otherwise picked up from Chromium's gyp
# files.
args.append('-I' + os.path.join(script_dir, 'standalone.gypi'))
# Add common.gypi to the include path.
args.append('-I' + os.path.join(script_dir, 'common.gypi'))
args.append('--no-parallel')
def generateProjects(generate_args):
args = generate_args
appendCommonArgs(args)
# Add all.gyp as the main gyp file to be generated.
args.append(os.path.join(script_dir, 'ANGLE.gyp'))
gyp.main(args)
def generateWinRTProjects(generate_args, generation_dir, msvs_version, app_type_rev,
target_platform_ver):
args = generate_args
appendCommonArgs(args)
args.append('--ignore-environment')
args.append('--generator-output=' + generation_dir)
args.append('--format=msvs')
args.append('-Gmsvs_version=' + msvs_version)
args.append('-Dangle_use_commit_id=1')
args.append('-Dangle_build_winrt=1')
args.append('-Dangle_build_winrt_app_type_revision=' + app_type_rev)
args.append('-Dangle_build_winrt_target_platform_ver=' + target_platform_ver)
args.append('-Dangle_enable_d3d9=0')
args.append('-Dangle_enable_gl=0')
args.append('-Dangle_enable_vulkan=0')
args.append('-Dangle_enable_null=0')
args.append('-Dangle_enable_essl=0')
args.append('-Dangle_enable_glsl=0')
# Add all.gyp as the main gyp file to be generated.
args.append(os.path.join(script_dir, 'ANGLE.gyp'))
print 'Generating WinRT projects to ' + generation_dir + ' from gyp files...'
sys.stdout.flush()
gyp.main(args)
if __name__ == '__main__':
print
print '* * * WARNING: GYP IS DEPRECATED * * *'
print 'See https://chromium.googlesource.com/angle/angle/+/master/doc/DevSetup.md for new build instructions.'
print
print 'Updating projects from gyp files...'
sys.stdout.flush()
# Generate projects
args = sys.argv[1:]
generateProjects(args)
# Generate WinRT projects only if configured
if 'GYP_GENERATE_WINRT' in os.environ:
# Generate Windows 10 projects
args = sys.argv[1:]
generateWinRTProjects(args, "winrt/10", "2015", "10.0", "10.0.10240.0");
# Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables':
{
# chromeos=1 is used in some build configurations to disable GL
# and GLX code because it typically wouldn't build for Chrome OS.
# It does not mean "enable Chrome OS code."
'chromeos': 0,
# Chrome OS chroot builds need a special pkg-config, so make it possible to change.
'pkg-config%': 'pkg-config',
# Use a nested variable trick to get use_x11 evaluated more
# eagerly than other conditional variables.
'variables':
{
'variables':
{
'use_ozone%': 0,
},
'conditions':
[
['OS=="linux" and use_ozone==0',
{
'use_x11': 1,
},
{
'use_x11': 0,
}],
],
# Copy conditionally-set variables out one scope.
'use_ozone%': '<(use_ozone)',
},
# Copy conditionally-set variables out one scope.
'use_x11%': '<(use_x11)',
},
}
#!/usr/bin/python
#
# Copyright (c) 2015 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# touch_stamp.py: similar to the Unix touch command, used to manual make
# stamp files when building with GYP
import os
import sys
stamp_name = sys.argv[1]
with open(stamp_name, 'a'):
os.utime(stamp_name, None)
# Copyright (c) 2017 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'targets':
[
{
'target_name': 'gyp_deprecation',
'type': 'none',
'actions':
[
{
'action_name': 'GYP deprecation warning',
'message': ' * * * WARNING: GYP IS DEPRECATED * * *',
'inputs': [],
'outputs':
[
# this file is never created and should not exist so the action always runs
'this_file_never_exists',
],
'action':
[
'python', '-c', 'print "See https://chromium.googlesource.com/angle/angle/+/master/doc/DevSetup.md for new build instructions."',
],
},
],
},
],
}
# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'target_defaults':
{
'dependencies':
[
'../gyp/warnings.gyp:gyp_deprecation',
],
},
'targets':
[
{
'target_name': 'shader_translator',
'type': 'executable',
'includes': [ '../gyp/common_defines.gypi', ],
'dependencies': [ '../src/angle.gyp:translator', ],
'include_dirs': [ '../include', ],
'sources': [ 'shader_translator/shader_translator.cpp' ],
},
{
'target_name': 'sample_util',
'type': 'static_library',
'includes': [ '../gyp/common_defines.gypi', ],
'dependencies':
[
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/src/angle.gyp:libEGL',
'<(angle_path)/src/angle.gyp:libGLESv2',
'<(angle_path)/util/util.gyp:angle_util',
],
'export_dependent_settings':
[
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/util/util.gyp:angle_util',
],
'include_dirs':
[
'<(angle_path)/include',
'sample_util',
],
'sources':
[
'sample_util/SampleApplication.cpp',
'sample_util/SampleApplication.h',
'sample_util/texture_utils.cpp',
'sample_util/texture_utils.h',
'sample_util/tga_utils.cpp',
'sample_util/tga_utils.h',
],
'defines':
[
'GL_GLEXT_PROTOTYPES',
'EGL_EGLEXT_PROTOTYPES',
],
'msvs_disabled_warnings': [ 4201 ],
'direct_dependent_settings':
{
'msvs_disabled_warnings': [ 4201 ],
'include_dirs':
[
'sample_util',
],
'defines':
[
'GL_GLEXT_PROTOTYPES',
'EGL_EGLEXT_PROTOTYPES',
],
},
},
{
'target_name': 'hello_triangle',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'hello_triangle/HelloTriangle.cpp', ],
},
{
'target_name': 'mip_map_2d',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'mip_map_2d/MipMap2D.cpp', ],
},
{
'target_name': 'multi_texture',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'multi_texture/MultiTexture.cpp', ],
'copies':
[
{
'destination': '<(PRODUCT_DIR)',
'files':
[
'multi_texture/basemap.tga',
'multi_texture/lightmap.tga',
],
},
]
},
{
'target_name': 'multi_window',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'multi_window/MultiWindow.cpp', ],
},
{
'target_name': 'multiple_draw_buffers',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'multiple_draw_buffers/MultipleDrawBuffers.cpp', ],
'copies':
[
{
'destination': '<(PRODUCT_DIR)',
'files':
[
'multiple_draw_buffers/multiple_draw_buffers_copy_fs.glsl',
'multiple_draw_buffers/multiple_draw_buffers_fs.glsl',
'multiple_draw_buffers/multiple_draw_buffers_vs.glsl',
],
}
]
},
{
'target_name': 'multiview',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'multiview/Multiview.cpp', ],
},
{
'target_name': 'particle_system',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'particle_system/ParticleSystem.cpp', ],
'copies':
[
{
'destination': '<(PRODUCT_DIR)',
'files':
[
'particle_system/smoke.tga',
],
}
]
},
{
'target_name': 'post_sub_buffer',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'post_sub_buffer/PostSubBuffer.cpp', ],
},
{
'target_name': 'simple_instancing',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'simple_instancing/SimpleInstancing.cpp', ],
},
{
'target_name': 'simple_texture_2d',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'simple_texture_2d/SimpleTexture2D.cpp', ],
},
{
'target_name': 'simple_texture_cubemap',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'simple_texture_cubemap/SimpleTextureCubemap.cpp', ],
},
{
'target_name': 'simple_vertex_shader',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'simple_vertex_shader/SimpleVertexShader.cpp', ],
},
{
'target_name': 'stencil_operations',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'stencil_operations/StencilOperations.cpp', ],
},
{
'target_name': 'tex_redef_microbench',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'tex_redef_microbench/TexRedefMicroBench.cpp', ],
},
{
'target_name': 'texture_wrap',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'texture_wrap/TextureWrap.cpp', ],
},
{
'target_name': 'tri_fan_microbench',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'tri_fan_microbench/TriFanMicroBench.cpp', ],
},
{
'target_name': 'window_test',
'type': 'executable',
'dependencies': [ 'sample_util' ],
'includes': [ '../gyp/common_defines.gypi', ],
'sources': [ 'WindowTest/WindowTest.cpp', ],
},
],
}
......@@ -273,7 +273,7 @@ for impl_class in impl_classes:
h_file.close()
cpp_file.close()
# Print a block of source files to add to the GYP
# Print a block of source files to add to the build
print("Generated files:")
for impl_class in impl_classes:
path = "libANGLE/renderer/" + renderer_name + "/" + impl_class + renderer_suffix
......
......@@ -15,10 +15,6 @@ import sys, os, shutil
# Set of search paths.
source_paths = [
os.path.join('..', 'gyp', 'Debug_x64'),
os.path.join('..', 'gyp', 'Debug_Win32'),
os.path.join('..', 'gyp', 'Release_x64'),
os.path.join('..', 'gyp', 'Release_Win32'),
os.path.join('..', 'out', 'Debug'),
os.path.join('..', 'out', 'Debug_x64'),
os.path.join('..', 'out', 'Release'),
......
# Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
# Everything below this is duplicated in the GN build. If you change
# anything also change angle/BUILD.gn
'targets':
[
{
'target_name': 'libEGL',
'type': '<(angle_gl_library_type)',
'dependencies':
[
'libGLESv2',
],
'includes':
[
'../gyp/common_defines.gypi',
],
'include_dirs':
[
'.',
'../include',
],
'sources':
[
'libEGL/libEGL.def',
'<@(libegl_sources)',
],
'conditions':
[
['angle_build_winrt==1',
{
'msvs_requires_importlibrary' : 'true',
}],
['OS=="win"', {
'defines':
[
'EGLAPI=',
],
}, {
'defines':
[
'EGLAPI=__attribute__((visibility("default")))',
],
}],
['OS == "mac"',
{
'xcode_settings':
{
'DYLIB_INSTALL_NAME_BASE': '@rpath',
},
}],
],
},
{
'target_name': 'libEGL_static',
'type': 'static_library',
'dependencies':
[
'libGLESv2_static',
],
'includes':
[
'../gyp/common_defines.gypi',
],
'include_dirs':
[
'.',
'../include',
],
'sources':
[
'<@(libegl_sources)',
],
'defines':
[
'EGLAPI=',
],
'direct_dependent_settings':
{
'defines':
[
'EGLAPI=',
],
},
},
],
}
This source diff could not be displayed because it is too large. You can view the blob instead.
# Copyright 2015 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# angle_perftests.gypi:
#
# This .gypi describes all of the sources and dependencies to build a
# unified "angle_perftests" target, which contains all of ANGLE's
# performance tests (buffer updates, texture updates, draw calls, etc)
# It requires a parent target to include this gypi in an executable
# target containing a gtest harness in a main.cpp.
{
'variables':
{
'angle_perf_tests_sources':
[
'<(angle_path)/src/tests/perf_tests/ANGLEPerfTest.cpp',
'<(angle_path)/src/tests/perf_tests/ANGLEPerfTest.h',
'<(angle_path)/src/tests/perf_tests/BlitFramebufferPerf.cpp',
'<(angle_path)/src/tests/perf_tests/BindingPerf.cpp',
'<(angle_path)/src/tests/perf_tests/BitSetIteratorPerf.cpp',
'<(angle_path)/src/tests/perf_tests/BufferSubData.cpp',
'<(angle_path)/src/tests/perf_tests/CompilerPerf.cpp',
'<(angle_path)/src/tests/perf_tests/DispatchComputePerf.cpp',
'<(angle_path)/src/tests/perf_tests/DrawCallPerf.cpp',
'<(angle_path)/src/tests/perf_tests/DrawCallPerfParams.cpp',
'<(angle_path)/src/tests/perf_tests/DrawCallPerfParams.h',
'<(angle_path)/src/tests/perf_tests/DrawElementsPerf.cpp',
'<(angle_path)/src/tests/perf_tests/DynamicPromotionPerfTest.cpp',
'<(angle_path)/src/tests/perf_tests/EGLInitializePerf.cpp',
'<(angle_path)/src/tests/perf_tests/EGLMakeCurrentPerf.cpp',
'<(angle_path)/src/tests/perf_tests/ResultPerf.cpp',
'<(angle_path)/src/tests/perf_tests/IndexConversionPerf.cpp',
'<(angle_path)/src/tests/perf_tests/InstancingPerf.cpp',
'<(angle_path)/src/tests/perf_tests/InterleavedAttributeData.cpp',
'<(angle_path)/src/tests/perf_tests/LinkProgramPerfTest.cpp',
'<(angle_path)/src/tests/perf_tests/MultiviewPerf.cpp',
'<(angle_path)/src/tests/perf_tests/PointSprites.cpp',
'<(angle_path)/src/tests/perf_tests/TexSubImage.cpp',
'<(angle_path)/src/tests/perf_tests/TextureSampling.cpp',
'<(angle_path)/src/tests/perf_tests/TexturesPerf.cpp',
'<(angle_path)/src/tests/perf_tests/UniformsPerf.cpp',
'<(angle_path)/src/tests/perf_tests/third_party/perf/perf_test.cc',
'<(angle_path)/src/tests/perf_tests/third_party/perf/perf_test.h',
'<(angle_path)/src/tests/test_utils/angle_test_configs.cpp',
'<(angle_path)/src/tests/test_utils/angle_test_configs.h',
'<(angle_path)/src/tests/test_utils/angle_test_instantiate.cpp',
'<(angle_path)/src/tests/test_utils/angle_test_instantiate.h',
'<(angle_path)/src/tests/test_utils/draw_call_perf_utils.cpp',
'<(angle_path)/src/tests/test_utils/draw_call_perf_utils.h',
],
'angle_perf_tests_win_sources':
[
'<(angle_path)/src/tests/perf_tests/IndexDataManagerTest.cpp',
],
# Only enabled with angle_enable_vulkan. Not exposed in the gyp.
'angle_perf_tests_vulkan_sources':
[
'<(angle_path)/src/tests/perf_tests/VulkanPipelineCachePerf.cpp',
],
# Currently Vulkan Command Buffer Perf Tests compile on Android/Linux
'angle_perf_tests_vulkan_command_buffer_sources':
[
'<(angle_path)/src/tests/perf_tests/VulkanCommandBufferPerf.cpp',
'<(angle_path)/src/tests/test_utils/third_party/vulkan_command_buffer_utils.cpp',
'<(angle_path)/src/tests/test_utils/third_party/vulkan_command_buffer_utils.h'
],
},
# Everything below (except WinRT-related config) must be also maintained for GN.
# If you change anything below, also update angle/src/tests/BUILD.gn.
'dependencies':
[
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/src/angle.gyp:libANGLE',
'<(angle_path)/src/angle.gyp:libGLESv2_static',
'<(angle_path)/src/angle.gyp:libEGL_static',
'<(angle_path)/src/tests/tests.gyp:angle_test_support',
'<(angle_path)/util/util.gyp:angle_util_static',
],
'include_dirs':
[
'<(angle_path)/include',
'<(angle_path)/src/tests'
],
'sources':
[
'<@(angle_perf_tests_sources)',
],
'conditions':
[
['OS=="win"',
{
'sources':
[
'<@(angle_perf_tests_win_sources)',
],
}],
]
}
angle_perf_tests_sources =
[
"src/tests/perf_tests/ANGLEPerfTest.cpp",
"src/tests/perf_tests/ANGLEPerfTest.h",
"src/tests/perf_tests/BlitFramebufferPerf.cpp",
"src/tests/perf_tests/BindingPerf.cpp",
"src/tests/perf_tests/BitSetIteratorPerf.cpp",
"src/tests/perf_tests/BufferSubData.cpp",
"src/tests/perf_tests/CompilerPerf.cpp",
"src/tests/perf_tests/DispatchComputePerf.cpp",
"src/tests/perf_tests/DrawCallPerf.cpp",
"src/tests/perf_tests/DrawCallPerfParams.cpp",
"src/tests/perf_tests/DrawCallPerfParams.h",
"src/tests/perf_tests/DrawElementsPerf.cpp",
"src/tests/perf_tests/DynamicPromotionPerfTest.cpp",
"src/tests/perf_tests/EGLInitializePerf.cpp",
"src/tests/perf_tests/EGLMakeCurrentPerf.cpp",
"src/tests/perf_tests/ResultPerf.cpp",
"src/tests/perf_tests/IndexConversionPerf.cpp",
"src/tests/perf_tests/InstancingPerf.cpp",
"src/tests/perf_tests/InterleavedAttributeData.cpp",
"src/tests/perf_tests/LinkProgramPerfTest.cpp",
"src/tests/perf_tests/MultiviewPerf.cpp",
"src/tests/perf_tests/PointSprites.cpp",
"src/tests/perf_tests/TexSubImage.cpp",
"src/tests/perf_tests/TextureSampling.cpp",
"src/tests/perf_tests/TexturesPerf.cpp",
"src/tests/perf_tests/UniformsPerf.cpp",
"src/tests/perf_tests/third_party/perf/perf_test.cc",
"src/tests/perf_tests/third_party/perf/perf_test.h",
"src/tests/test_utils/angle_test_configs.cpp",
"src/tests/test_utils/angle_test_configs.h",
"src/tests/test_utils/angle_test_instantiate.cpp",
"src/tests/test_utils/angle_test_instantiate.h",
"src/tests/test_utils/draw_call_perf_utils.cpp",
"src/tests/test_utils/draw_call_perf_utils.h",
]
angle_perf_tests_win_sources =
[
"src/tests/perf_tests/IndexDataManagerTest.cpp",
]
angle_perf_tests_vulkan_sources =
[
"src/tests/perf_tests/VulkanPipelineCachePerf.cpp",
]
# Currently Vulkan Command Buffer Perf Tests compile on Android/Linux
angle_perf_tests_vulkan_command_buffer_sources =
[
"src/tests/perf_tests/VulkanCommandBufferPerf.cpp",
"src/tests/test_utils/third_party/vulkan_command_buffer_utils.cpp",
"src/tests/test_utils/third_party/vulkan_command_buffer_utils.h"
]
......@@ -2,63 +2,22 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This .gypi describes all of the sources and dependencies to build a
# unified "angle_white_box_tests" target, which contains all of the
# tests that exercise the ANGLE implementation. It requires a parent
# target to include this gypi in an executable target containing a
# gtest harness in a main.cpp.
{
# Everything below this is duplicated in the GN build.
# If you change anything also change angle/src/tests/BUILD.gn
'variables':
{
'angle_white_box_tests_sources':
[
'<(angle_path)/src/tests/util_tests/PrintSystemInfoTest.cpp',
'<(angle_path)/src/tests/test_utils/angle_test_configs.cpp',
'<(angle_path)/src/tests/test_utils/angle_test_configs.h',
'<(angle_path)/src/tests/test_utils/angle_test_instantiate.cpp',
'<(angle_path)/src/tests/test_utils/angle_test_instantiate.h',
'<(angle_path)/src/tests/test_utils/ANGLETest.cpp',
'<(angle_path)/src/tests/test_utils/ANGLETest.h',
'<(angle_path)/src/tests/test_utils/gl_raii.h',
],
'angle_white_box_tests_win_sources':
[
'<(angle_path)/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp',
'<(angle_path)/src/tests/gl_tests/D3D11FormatTablesTest.cpp',
'<(angle_path)/src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp',
'<(angle_path)/src/tests/gl_tests/D3DTextureTest.cpp',
'<(angle_path)/src/tests/gl_tests/ErrorMessages.cpp'
],
},
'dependencies':
[
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/src/angle.gyp:libANGLE',
'<(angle_path)/src/angle.gyp:libGLESv2_static',
'<(angle_path)/src/angle.gyp:libEGL_static',
'<(angle_path)/src/tests/tests.gyp:angle_test_support',
'<(angle_path)/util/util.gyp:angle_util_static',
],
'include_dirs':
[
'<(angle_path)/include',
'<(angle_path)/src/tests'
],
'sources':
[
'<@(angle_white_box_tests_sources)',
],
'conditions':
[
['OS=="win"',
{
'sources':
[
'<@(angle_white_box_tests_win_sources)',
],
}],
]
}
angle_white_box_tests_sources =
[
"src/tests/util_tests/PrintSystemInfoTest.cpp",
"src/tests/test_utils/angle_test_configs.cpp",
"src/tests/test_utils/angle_test_configs.h",
"src/tests/test_utils/angle_test_instantiate.cpp",
"src/tests/test_utils/angle_test_instantiate.h",
"src/tests/test_utils/ANGLETest.cpp",
"src/tests/test_utils/ANGLETest.h",
"src/tests/test_utils/gl_raii.h",
]
angle_white_box_tests_win_sources =
[
"src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp",
"src/tests/gl_tests/D3D11FormatTablesTest.cpp",
"src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp",
"src/tests/gl_tests/D3DTextureTest.cpp",
"src/tests/gl_tests/ErrorMessages.cpp"
]
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,257 +2,83 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
# Everything below this is duplicated in the GN build, except Mac support.
# If you change anything also change angle/BUILD.gn
'variables':
{
'util_sources':
[
'com_utils.h',
'keyboard.h',
'geometry_utils.cpp',
'geometry_utils.h',
'mouse.h',
'random_utils.cpp',
'random_utils.h',
'shader_utils.cpp',
'shader_utils.h',
'system_utils.h',
'Event.h',
'EGLWindow.cpp',
'EGLWindow.h',
'Matrix.cpp',
'Matrix.h',
'OSPixmap.h',
'OSWindow.cpp',
'OSWindow.h',
'Timer.h',
],
'util_win32_sources':
[
'windows/win32/Win32_system_utils.cpp',
'windows/win32/Win32Pixmap.cpp',
'windows/win32/Win32Pixmap.h',
'windows/win32/Win32Window.cpp',
'windows/win32/Win32Window.h',
'windows/Windows_system_utils.cpp',
'windows/WindowsTimer.cpp',
'windows/WindowsTimer.h',
],
'util_winrt_sources':
[
'windows/winrt/WinRT_system_utils.cpp',
'windows/winrt/WinRTPixmap.cpp',
'windows/winrt/WinRTWindow.cpp',
'windows/winrt/WinRTWindow.h',
'windows/Windows_system_utils.cpp',
'windows/WindowsTimer.cpp',
'windows/WindowsTimer.h',
],
'util_linux_sources':
[
'linux/LinuxTimer.cpp',
'linux/LinuxTimer.h',
'posix/Posix_system_utils.cpp',
],
'util_x11_sources':
[
'x11/X11Pixmap.cpp',
'x11/X11Pixmap.h',
'x11/X11Window.cpp',
'x11/X11Window.h',
],
'util_ozone_sources':
[
'ozone/OzonePixmap.cpp',
'ozone/OzoneWindow.cpp',
'ozone/OzoneWindow.h',
],
'util_osx_sources':
[
'osx/OSXTimer.cpp',
'osx/OSXTimer.h',
'osx/OSXPixmap.mm',
'osx/OSXPixmap.h',
'osx/OSXWindow.mm',
'osx/OSXWindow.h',
'posix/Posix_system_utils.cpp',
],
'util_android_sources':
[
'android/AndroidPixmap.cpp',
'android/AndroidWindow.cpp',
'android/AndroidWindow.h',
'android/third_party/android_native_app_glue.c',
'android/third_party/android_native_app_glue.h',
],
},
'target_defaults':
{
'dependencies':
[
'../gyp/warnings.gyp:gyp_deprecation',
],
},
'targets':
[
{
'target_name': 'angle_util_config',
'type': 'none',
'direct_dependent_settings':
{
'include_dirs':
[
'<(angle_path)/include',
'<(angle_path)/util',
],
'sources':
[
'<@(util_sources)',
],
'defines':
[
'GL_GLEXT_PROTOTYPES',
'EGL_EGLEXT_PROTOTYPES',
'LIBANGLE_UTIL_IMPLEMENTATION',
],
'conditions':
[
['OS=="win" and angle_build_winrt==0',
{
'sources':
[
'<@(util_win32_sources)',
],
}],
['OS=="win" and angle_build_winrt==1',
{
'sources':
[
'<@(util_winrt_sources)',
],
}],
['OS=="linux"',
{
'sources':
[
'<@(util_linux_sources)',
],
'link_settings':
{
'libraries':
[
'-ldl',
],
},
}],
['use_x11==1',
{
'sources':
[
'<@(util_x11_sources)',
],
'link_settings':
{
'ldflags':
[
'<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
],
'libraries':
[
'<!@(<(pkg-config) --libs-only-l x11 xi)',
],
},
}],
['use_ozone==1',
{
'sources':
[
'<@(util_ozone_sources)',
],
}],
['OS=="mac"',
{
'sources':
[
'<@(util_osx_sources)',
],
'xcode_settings':
{
'DYLIB_INSTALL_NAME_BASE': '@rpath',
},
'link_settings':
{
'libraries':
[
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
'$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
],
},
}],
],
},
},
{
'target_name': 'angle_util',
'type': 'shared_library',
'includes': [ '../gyp/common_defines.gypi', ],
'dependencies':
[
'angle_util_config',
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/src/angle.gyp:libEGL',
'<(angle_path)/src/angle.gyp:libGLESv2',
],
'export_dependent_settings':
[
'<(angle_path)/src/angle.gyp:angle_common',
],
'direct_dependent_settings':
{
'include_dirs':
[
'<(angle_path)/include',
'<(angle_path)/util',
],
'defines':
[
'GL_GLEXT_PROTOTYPES',
'EGL_EGLEXT_PROTOTYPES',
],
},
},
{
'target_name': 'angle_util_static',
'type': 'static_library',
'includes': [ '../gyp/common_defines.gypi', ],
'dependencies':
[
'angle_util_config',
'<(angle_path)/src/angle.gyp:angle_common',
'<(angle_path)/src/angle.gyp:libEGL_static',
'<(angle_path)/src/angle.gyp:libGLESv2_static',
],
'export_dependent_settings':
[
'<(angle_path)/src/angle.gyp:angle_common',
],
'direct_dependent_settings':
{
'include_dirs':
[
'<(angle_path)/include',
'<(angle_path)/util',
],
'defines':
[
'GL_GLEXT_PROTOTYPES',
'EGL_EGLEXT_PROTOTYPES',
],
},
},
],
}
util_sources =
[
"com_utils.h",
"keyboard.h",
"geometry_utils.cpp",
"geometry_utils.h",
"mouse.h",
"random_utils.cpp",
"random_utils.h",
"shader_utils.cpp",
"shader_utils.h",
"system_utils.h",
"Event.h",
"EGLWindow.cpp",
"EGLWindow.h",
"Matrix.cpp",
"Matrix.h",
"OSPixmap.h",
"OSWindow.cpp",
"OSWindow.h",
"Timer.h",
]
util_win32_sources =
[
"windows/win32/Win32_system_utils.cpp",
"windows/win32/Win32Pixmap.cpp",
"windows/win32/Win32Pixmap.h",
"windows/win32/Win32Window.cpp",
"windows/win32/Win32Window.h",
"windows/Windows_system_utils.cpp",
"windows/WindowsTimer.cpp",
"windows/WindowsTimer.h",
]
util_winrt_sources =
[
"windows/winrt/WinRT_system_utils.cpp",
"windows/winrt/WinRTPixmap.cpp",
"windows/winrt/WinRTWindow.cpp",
"windows/winrt/WinRTWindow.h",
"windows/Windows_system_utils.cpp",
"windows/WindowsTimer.cpp",
"windows/WindowsTimer.h",
]
util_linux_sources =
[
"linux/LinuxTimer.cpp",
"linux/LinuxTimer.h",
"posix/Posix_system_utils.cpp",
]
util_x11_sources =
[
"x11/X11Pixmap.cpp",
"x11/X11Pixmap.h",
"x11/X11Window.cpp",
"x11/X11Window.h",
]
util_ozone_sources =
[
"ozone/OzonePixmap.cpp",
"ozone/OzoneWindow.cpp",
"ozone/OzoneWindow.h",
]
util_osx_sources =
[
"osx/OSXTimer.cpp",
"osx/OSXTimer.h",
"osx/OSXPixmap.mm",
"osx/OSXPixmap.h",
"osx/OSXWindow.mm",
"osx/OSXWindow.h",
"posix/Posix_system_utils.cpp",
]
util_android_sources =
[
"android/AndroidPixmap.cpp",
"android/AndroidWindow.cpp",
"android/AndroidWindow.h",
"android/third_party/android_native_app_glue.c",
"android/third_party/android_native_app_glue.h",
]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment