Home | History | Annotate | Download | only in mojo
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 # In the non component build, the thunks need to be linked directly into the
      6 # loadable module since they define symbols that should be exported from that
      7 # library. So, this variable expands out to either list the sources directly (in
      8 # the component build where no symbols need to be exported) a dependency.
      9 {
     10   'conditions': [
     11     ['component=="shared_library"', {
     12       'dependencies': [
     13         'mojo_base.gyp:mojo_gles2_impl',
     14       ],
     15     }, {  # component!="shared_library"
     16       'defines': [
     17         'MOJO_GLES2_IMPLEMENTATION',
     18         'GLES2_USE_MOJO',
     19       ],
     20       'include_dirs': [
     21         '..',
     22       ],
     23       'dependencies': [
     24         '../third_party/khronos/khronos.gyp:khronos_headers'
     25       ],
     26       'direct_dependent_settings': {
     27         'include_dirs': [
     28           '..',
     29         ],
     30         'defines': [
     31           'GLES2_USE_MOJO',
     32         ],
     33       },
     34       'all_dependent_settings': {
     35         'conditions': [
     36           # We need to be able to call the MojoSetGLES2Thunks() function in
     37           # gles2_thunks.cc
     38           ['OS=="android"', {
     39             'ldflags!': [
     40               '-Wl,--exclude-libs=ALL',
     41             ],
     42           }],
     43         ],
     44       },
     45       'sources': [
     46         'public/c/gles2/gles2.h',
     47         'public/c/gles2/gles2_export.h',
     48         'public/platform/native/gles2_thunks.cc',
     49         'public/platform/native/gles2_thunks.h',
     50         'public/platform/native/gles2_impl_thunks.cc',
     51         'public/platform/native/gles2_impl_thunks.h',
     52         'public/platform/native/gles2_impl_chromium_texture_mailbox_thunks.cc',
     53         'public/platform/native/gles2_impl_chromium_texture_mailbox_thunks.h',
     54         'public/platform/native/gles2_impl_chromium_sync_point_thunks.cc',
     55         'public/platform/native/gles2_impl_chromium_sync_point_thunks.h',
     56       ],
     57     }]
     58   ]
     59 }
     60