summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-10-30 14:27:28 +0100
committerJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-11-01 11:20:41 +0100
commitedc469353a41710cf12a78211b9bc88adc4be9fe (patch)
treeea73fc3d6376a86ecc05c98e3a11f3fd3de61e81
parenteca36f26ad3765fdaf954735bd5744e2a16154f1 (diff)
downloadqtwebengine-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.gypi3
-rw-r--r--chromium/gpu/command_buffer_common.gypi3
-rw-r--r--chromium/gpu/gpu.gyp9
-rw-r--r--chromium/third_party/khronos/khronos.gyp2
-rw-r--r--chromium/webkit/common/gpu/webkit_gpu.gyp3
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',