Index: app/app_base.gypi |
=================================================================== |
--- app/app_base.gypi (revision 49195) |
+++ app/app_base.gypi (working copy) |
@@ -67,6 +67,7 @@ |
'msvs_guid': '4631946D-7D5F-44BD-A5A8-504C0A7033BE', |
'variables': { |
'app_base_target': 1, |
+ 'gl_binding_output_dir': '<(SHARED_INTERMEDIATE_DIR)/app', |
}, |
'dependencies': [ |
# app resources and app_strings should be shared with the 64-bit |
@@ -85,17 +86,17 @@ |
'../third_party/sqlite/sqlite.gyp:sqlite', |
'../third_party/zlib/zlib.gyp:zlib', |
], |
- 'defines': [ |
- 'GLEW_STATIC', |
- ], |
'include_dirs': [ |
- '../third_party/glew/include', |
+ '../third_party/mesa/MesaLib/include', |
+ '<(gl_binding_output_dir)', |
], |
# TODO(gregoryd): The direct_dependent_settings should be shared with |
# the 64-bit target, but it doesn't work due to a bug in gyp |
'direct_dependent_settings': { |
'include_dirs': [ |
'..', |
+ '../third_party/mesa/MesaLib/include', |
+ '<(gl_binding_output_dir)', |
], |
}, |
'sources': [ |
@@ -123,16 +124,23 @@ |
'file_download_interface.h', |
'gfx/font_util.h', |
'gfx/font_util.cc', |
+ 'gfx/gl/gl_bindings.h', |
'gfx/gl/gl_context.cc', |
'gfx/gl/gl_context.h', |
+ 'gfx/gl/gl_context_linux.cc', |
+ 'gfx/gl/gl_context_mac.cc', |
'gfx/gl/gl_context_osmesa.cc', |
'gfx/gl/gl_context_osmesa.h', |
- 'gfx/gl/gl_context_linux.cc', |
- 'gfx/gl/gl_context_linux.h', |
- 'gfx/gl/gl_context_mac.cc', |
- 'gfx/gl/gl_context_mac.h', |
+ 'gfx/gl/gl_context_stub.h', |
'gfx/gl/gl_context_win.cc', |
- 'gfx/gl/gl_context_win.h', |
+ 'gfx/gl/gl_headers.h', |
+ 'gfx/gl/gl_implementation.h', |
+ 'gfx/gl/gl_implementation_linux.cc', |
+ 'gfx/gl/gl_implementation_mac.cc', |
+ 'gfx/gl/gl_implementation_win.cc', |
+ 'gfx/gl/gl_interface.h', |
+ 'gfx/gl/gl_interface.cc', |
+ 'gfx/gl/gl_mock.h', |
'gtk_dnd_util.cc', |
'gtk_dnd_util.h', |
'gtk_signal.cc', |
@@ -203,8 +211,43 @@ |
'x11_util.cc', |
'x11_util.h', |
'x11_util_internal.h', |
- '../third_party/glew/src/glew.c', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', |
], |
+ # hard_dependency is necessary for this target because it has actions |
+ # that generate header files included by dependent targtets. The header |
+ # files must be generated before the dependents are compiled. The usual |
+ # semantics are to allow the two targets to build concurrently. |
+ 'hard_dependency': 1, |
+ 'actions': [ |
+ { |
+ 'action_name': 'generate_gl_bindings', |
+ 'inputs': [ |
+ 'gfx/gl/generate_bindings.py', |
+ ], |
+ 'outputs': [ |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_gl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_gl.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_mock.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_osmesa.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', |
+ ], |
+ 'action': [ |
+ 'python', |
+ 'gfx/gl/generate_bindings.py', |
+ '<(gl_binding_output_dir)', |
+ ], |
+ }, |
+ ], |
'conditions': [ |
['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { |
'dependencies': [ |
@@ -255,6 +298,46 @@ |
'win/window_impl.h', |
], |
}], |
+ ['OS=="linux"', { |
+ 'sources': [ |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_glx.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_glx.h', |
+ ], |
+ 'all_dependent_settings': { |
+ 'defines': [ |
+ 'GL_GLEXT_PROTOTYPES', |
+ ], |
+ 'ldflags': [ |
+ '-L<(PRODUCT_DIR)', |
+ ], |
+ 'link_settings': { |
+ 'libraries': [ |
+ '-lX11', |
+ '-ldl', |
+ ], |
+ }, |
+ }, |
+ }], |
+ ['OS=="mac"', { |
+ 'link_settings': { |
+ 'libraries': [ |
+ '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', |
+ ], |
+ }, |
+ }], |
+ ['OS=="win"', { |
+ 'include_dirs': [ |
+ '../third_party/angle/include', |
+ ], |
+ 'sources': [ |
+ 'gfx/gl/gl_context_egl.cc', |
+ 'gfx/gl/gl_context_egl.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_egl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_egl.h', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.cc', |
+ '<(gl_binding_output_dir)/gl_bindings_autogen_wgl.h', |
+ ], |
+ }], |
], |
}, |
], |