summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-10-30 14:27:28 +0100
committerAndras Becsi <andras.becsi@digia.com>2014-06-04 18:07:05 +0200
commit290ea863c512c5d418d9cd5aacf76b3a838af37e (patch)
treea9388a31c5e3802cb5a002549ddecbc64e4d5403
parent20b77b6954b72436cf555fedddef2d42a10447d8 (diff)
<chromium> 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: I82ae8a5a62f7d968375b971757b2126670a02461 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
-rw-r--r--chromium/content/content_browser.gypi1
-rw-r--r--chromium/gpu/command_buffer_client.gypi3
-rw-r--r--chromium/gpu/command_buffer_common.gypi3
-rw-r--r--chromium/gpu/gpu.gyp18
-rw-r--r--chromium/third_party/khronos/khronos.gyp2
-rw-r--r--chromium/webkit/common/gpu/webkit_gpu.gyp3
6 files changed, 29 insertions, 1 deletions
diff --git a/chromium/content/content_browser.gypi b/chromium/content/content_browser.gypi
index b0f963c4bb0..28878f77e47 100644
--- a/chromium/content/content_browser.gypi
+++ b/chromium/content/content_browser.gypi
@@ -1323,6 +1323,7 @@
'dependencies': [
'browser/devtools/devtools_resources.gyp:devtools_resources',
'../cc/cc.gyp:cc',
+ '../gpu/gpu.gyp:gpu_ipc',
'../net/net.gyp:http_server',
'../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
'../ui/surface/surface.gyp:surface',
diff --git a/chromium/gpu/command_buffer_client.gypi b/chromium/gpu/command_buffer_client.gypi
index cb52ee75fb3..827474cfda0 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/cmd_buffer_helper.cc',
'command_buffer/client/cmd_buffer_helper.h',
diff --git a/chromium/gpu/command_buffer_common.gypi b/chromium/gpu/command_buffer_common.gypi
index 87eeb5bf9d8..ab9a635a368 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 46831eef47a..c3c9502c724 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',
],
@@ -90,6 +93,9 @@
'command_buffer_client',
'gles2_implementation',
],
+ 'export_dependent_settings': [
+ 'command_buffer_client',
+ ],
'defines': [
'GLES2_C_LIB_IMPLEMENTATION',
],
@@ -115,6 +121,9 @@
'command_buffer_client',
'gles2_implementation_client_side_arrays_no_check',
],
+ 'export_dependent_settings': [
+ 'command_buffer_client',
+ ],
'sources': [
'<@(gles2_c_lib_source_files)',
],
@@ -378,6 +387,9 @@
'gpu_config',
'gpu_ipc',
],
+ 'export_dependent_settings': [
+ 'command_buffer_common',
+ ],
'sources': [
'gpu_export.h',
],
@@ -420,6 +432,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, ],
},
@@ -445,6 +460,9 @@
'dependencies': [
'command_buffer_common',
],
+ 'export_dependent_settings': [
+ 'command_buffer_common',
+ ],
},
{
'target_name': 'gpu_config',
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 a28e4e851a4..1a0190ccdaa 100644
--- a/chromium/webkit/common/gpu/webkit_gpu.gyp
+++ b/chromium/webkit/common/gpu/webkit_gpu.gyp
@@ -28,6 +28,9 @@
'<(DEPTH)/ui/gl/gl.gyp:gl',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx',
],
+ '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',