diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-10-30 14:27:28 +0100 |
---|---|---|
committer | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-11-01 11:20:41 +0100 |
commit | edc469353a41710cf12a78211b9bc88adc4be9fe (patch) | |
tree | ea73fc3d6376a86ecc05c98e3a11f3fd3de61e81 | |
parent | eca36f26ad3765fdaf954735bd5744e2a16154f1 (diff) | |
download | qtwebengine-chromium-edc469353a41710cf12a78211b9bc88adc4be9fe.tar.gz |
Fix the build with a GL ES2 configured Qt.
GLES/gl2.h is included through Qt public headers and the copy of
Chromium is used since its include path comes before /usr/include.
The problem is that this header is incompatible for some reasons,
one of them being that it converts all GL function symbols from
gl* to GLES2*.
Qt layer code should always need to go through GL directly,
so make sure that only GYP targets that depend directly on gpu.gyp,
khronos.gyp or webkit_gpu.gyp will have an include path
pointing to those headers.
Replace all_dependent_settings with direct_dependent_settings and
control which target inherits this include_dirs from its dependencies
by using export_dependent_settings.
Change-Id: Id4d98fe22ef8b778b5ba8da300dad28e69507732
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
-rw-r--r-- | chromium/gpu/command_buffer_client.gypi | 3 | ||||
-rw-r--r-- | chromium/gpu/command_buffer_common.gypi | 3 | ||||
-rw-r--r-- | chromium/gpu/gpu.gyp | 9 | ||||
-rw-r--r-- | chromium/third_party/khronos/khronos.gyp | 2 | ||||
-rw-r--r-- | chromium/webkit/common/gpu/webkit_gpu.gyp | 3 |
5 files changed, 19 insertions, 1 deletions
diff --git a/chromium/gpu/command_buffer_client.gypi b/chromium/gpu/command_buffer_client.gypi index b4d5b7886fb..75bea799d88 100644 --- a/chromium/gpu/command_buffer_client.gypi +++ b/chromium/gpu/command_buffer_client.gypi @@ -14,6 +14,9 @@ 'dependencies': [ '../third_party/khronos/khronos.gyp:khronos_headers', ], + 'export_dependent_settings': [ + '../third_party/khronos/khronos.gyp:khronos_headers', + ], 'sources': [ 'command_buffer/client/atomicops.cc', 'command_buffer/client/atomicops.h', diff --git a/chromium/gpu/command_buffer_common.gypi b/chromium/gpu/command_buffer_common.gypi index 85431e492e5..f159355d3e0 100644 --- a/chromium/gpu/command_buffer_common.gypi +++ b/chromium/gpu/command_buffer_common.gypi @@ -6,6 +6,9 @@ 'dependencies': [ '../third_party/khronos/khronos.gyp:khronos_headers', ], + 'export_dependent_settings': [ + '../third_party/khronos/khronos.gyp:khronos_headers', + ], 'sources': [ 'command_buffer/common/bitfield_helpers.h', 'command_buffer/common/buffer.h', diff --git a/chromium/gpu/gpu.gyp b/chromium/gpu/gpu.gyp index 316aa914422..73df723f42b 100644 --- a/chromium/gpu/gpu.gyp +++ b/chromium/gpu/gpu.gyp @@ -23,6 +23,9 @@ 'command_buffer/command_buffer.gyp:gles2_utils', 'gles2_cmd_helper', ], + 'export_dependent_settings': [ + '../third_party/khronos/khronos.gyp:khronos_headers', + ], 'defines': [ 'GLES2_IMPL_IMPLEMENTATION', ], @@ -348,6 +351,9 @@ 'gpu_config', 'gpu_ipc', ], + 'export_dependent_settings': [ + 'command_buffer_common', + ], 'sources': [ 'gpu_export.h', ], @@ -390,6 +396,9 @@ 'dependencies': [ 'command_buffer_common', ], + 'export_dependent_settings': [ + 'command_buffer_common', + ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [4267, ], }, diff --git a/chromium/third_party/khronos/khronos.gyp b/chromium/third_party/khronos/khronos.gyp index 8a855728d52..88130d26b9d 100644 --- a/chromium/third_party/khronos/khronos.gyp +++ b/chromium/third_party/khronos/khronos.gyp @@ -7,7 +7,7 @@ { 'target_name': 'khronos_headers', 'type': 'none', - 'all_dependent_settings': { + 'direct_dependent_settings': { 'include_dirs': [ '.', '../../gpu', # Contains GLES2/gl2chromium.h diff --git a/chromium/webkit/common/gpu/webkit_gpu.gyp b/chromium/webkit/common/gpu/webkit_gpu.gyp index 5390c9a6a39..effc5b7135b 100644 --- a/chromium/webkit/common/gpu/webkit_gpu.gyp +++ b/chromium/webkit/common/gpu/webkit_gpu.gyp @@ -26,6 +26,9 @@ '<(DEPTH)/ui/gl/gl.gyp:gl', '<(DEPTH)/ui/ui.gyp:ui', ], + 'export_dependent_settings': [ + '<(DEPTH)/gpu/gpu.gyp:gles2_implementation', + ], 'sources': [ # This list contains all .h and .cc in gpu except for test code. 'context_provider_in_process.cc', |