OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # In an is_component_build build, everything can link against //mojo/gles2 | 5 # In an is_component_build build, everything can link against //mojo/gles2 |
6 # because it is built as a shared library. However, in a static build, | 6 # because it is built as a shared library. However, in a static build, |
7 # //mojo/gles2 is linked into an executable (e.g., mojo_shell), and must be | 7 # //mojo/gles2 is linked into an executable (e.g., mojo_shell), and must be |
8 # injected into other shared libraries (i.e., Mojo Apps) that need the mojo | 8 # injected into other shared libraries (i.e., Mojo Apps) that need the mojo |
9 # gles2 API. | 9 # gles2 API. |
10 # | 10 # |
11 # For component targets, add //mojo/public/gles2:for_component to your deps | 11 # For component targets, add //mojo/public/gles2:for_component to your deps |
12 # section. | 12 # section. |
13 # | 13 # |
14 # For shared_library targets (e.g., a Mojo App), add | 14 # For shared_library targets (e.g., a Mojo App), add |
15 # //mojo/public/gles2:for_shared_library to your deps | 15 # //mojo/public/gles2:for_shared_library to your deps |
16 | 16 |
17 group("for_shared_library") { | 17 group("for_shared_library") { |
| 18 public_configs = [ "//third_party/khronos:khronos_headers" ] |
| 19 public_deps = [ "//mojo/public/c/gles2" ] |
| 20 |
18 if (is_component_build) { | 21 if (is_component_build) { |
19 deps = [ "//mojo/gles2" ] | 22 deps = [ "//mojo/gles2" ] |
20 } else { | 23 } else { |
21 deps = [ ":gles2" ] | 24 deps = [ "//mojo/public/platform/native:gles2_thunks" ] |
22 } | 25 } |
23 } | 26 } |
24 | 27 |
25 group("for_component") { | 28 group("for_component") { |
| 29 public_configs = [ "//third_party/khronos:khronos_headers" ] |
| 30 public_deps = [ "//mojo/public/c/gles2" ] |
| 31 |
26 if (is_component_build) { | 32 if (is_component_build) { |
27 deps = [ "//mojo/gles2" ] | 33 deps = [ "//mojo/gles2" ] |
28 } | 34 } |
29 } | 35 } |
30 | |
31 # GYP version: mojo/mojo_public.gypi:mojo_gles2 | |
32 static_library("gles2") { | |
33 visibility = [ ":for_shared_library" ] | |
34 | |
35 sources = [ | |
36 "../platform/native/gles2_thunks.cc", | |
37 "../platform/native/gles2_thunks.h", | |
38 "../platform/native/gles2_impl_thunks.cc", | |
39 "../platform/native/gles2_impl_thunks.h", | |
40 "../platform/native/gles2_impl_chromium_texture_mailbox_thunks.cc", | |
41 "../platform/native/gles2_impl_chromium_texture_mailbox_thunks.h", | |
42 "../platform/native/gles2_impl_chromium_sync_point_thunks.cc", | |
43 "../platform/native/gles2_impl_chromium_sync_point_thunks.h", | |
44 "gles2_interface.h", | |
45 ] | |
46 | |
47 public_configs = [ "//third_party/khronos:khronos_headers" ] | |
48 | |
49 public_deps = [ "//mojo/public/c/gles2" ] | |
50 | |
51 defines = [ | |
52 "MOJO_GLES2_IMPLEMENTATION", | |
53 ] | |
54 deps = [ | |
55 "//mojo/public/c/environment", | |
56 "//mojo/public/c/system", | |
57 ] | |
58 | |
59 if (is_mac) { | |
60 # TODO(GYP): Make it a run-path dependent library. | |
61 # 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | |
62 } | |
63 } | |
OLD | NEW |