Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / content.gyp
1 # Copyright (c) 2012 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 {
6   'variables': {
7     'chromium_code': 1,  # Use higher warning level.
8     'chromium_enable_vtune_jit_for_v8%': 0,  # enable the vtune support for V8 engine.
9     'directxsdk_exists': '<!(python <(DEPTH)/build/dir_exists.py ../third_party/directxsdk)',
10   },
11   'target_defaults': {
12     'defines': ['CONTENT_IMPLEMENTATION'],
13     'conditions': [
14       # TODO(jschuh): Remove this after crbug.com/173851 gets fixed.
15       ['OS=="win" and target_arch=="x64"', {
16         'msvs_settings': {
17           'VCCLCompilerTool': {
18             'AdditionalOptions': ['/bigobj'],
19           },
20         },
21       }],
22     ],
23   },
24   'conditions': [
25     ['OS != "ios"', {
26       'includes': [
27         '../build/win_precompile.gypi',
28       ],
29     }],
30     # In component mode, we build all of content as a single DLL.
31     # However, in the static mode, we need to build content as multiple
32     # targets in order to prevent dependencies from getting introduced
33     # upstream unnecessarily (e.g., content_renderer depends on allocator
34     # and chrome_exe depends on content_common but we don't want
35     # chrome_exe to have to depend on allocator).
36     ['component=="static_library"', {
37       'target_defines': [
38         'COMPILE_CONTENT_STATICALLY',
39       ],
40       'targets': [
41         {
42           'target_name': 'content',
43           'type': 'none',
44           'dependencies': [
45             'content_browser',
46             'content_common',
47           ],
48           'conditions': [
49             ['OS != "ios"', {
50               'dependencies': [
51                 'content_child',
52                 'content_gpu',
53                 'content_plugin',
54                 'content_ppapi_plugin',
55                 'content_renderer',
56                 'content_utility',
57                 'content_worker',
58               ],
59             }],
60           ],
61         },
62         {
63           'target_name': 'content_app_browser',
64           'type': 'static_library',
65           'variables': { 'enable_wexit_time_destructors': 1, },
66           'includes': [
67             'content_app.gypi',
68           ],
69           'dependencies': [
70             'content_common',
71           ],
72           'conditions': [
73             ['chrome_multiple_dll', {
74               'defines': [
75                 'CHROME_MULTIPLE_DLL_BROWSER',
76               ],
77             }],
78           ],
79         },
80         {
81           'target_name': 'content_app_child',
82           'type': 'static_library',
83           'variables': { 'enable_wexit_time_destructors': 1, },
84           'includes': [
85             'content_app.gypi',
86           ],
87           'dependencies': [
88             'content_common',
89           ],
90           'conditions': [
91             ['chrome_multiple_dll', {
92               'defines': [
93                 'CHROME_MULTIPLE_DLL_CHILD',
94               ],
95             }],
96           ],
97         },
98         {
99           'target_name': 'content_app_both',
100           'type': 'static_library',
101           'variables': { 'enable_wexit_time_destructors': 1, },
102           'includes': [
103             'content_app.gypi',
104           ],
105           'dependencies': [
106             'content_common',
107           ],
108         },
109         {
110           'target_name': 'content_browser',
111           'type': 'static_library',
112           'variables': { 'enable_wexit_time_destructors': 1, },
113           'includes': [
114             'content_browser.gypi',
115           ],
116           'dependencies': [
117             'content_common',
118             'content_resources.gyp:content_resources',
119           ],
120           'conditions': [
121             ['java_bridge==1', {
122               'dependencies': [
123                 'content_child',
124               ]
125             }],
126             ['OS=="android"', {
127               'dependencies': [
128                 'content_gpu',
129                 'content_utility',
130               ],
131             }],
132           ],
133         },
134         {
135           'target_name': 'content_common',
136           'type': 'static_library',
137           'variables': { 'enable_wexit_time_destructors': 1, },
138           'includes': [
139             'content_common.gypi',
140           ],
141           'conditions': [
142             ['OS != "ios"', {
143               'dependencies': [
144                 'content_resources.gyp:content_resources',
145               ],
146             }],
147           ],
148           # Disable c4267 warnings until we fix size_t to int truncations.
149           'msvs_disabled_warnings': [ 4267, ],
150         },
151       ],
152       'conditions': [
153         ['OS != "ios"', {
154           'targets': [
155             {
156               'target_name': 'content_child',
157               'type': 'static_library',
158               'variables': { 'enable_wexit_time_destructors': 1, },
159               'includes': [
160                 'content_child.gypi',
161               ],
162               'dependencies': [
163                 'content_resources.gyp:content_resources',
164               ],
165               # Disable c4267 warnings until we fix size_t to int truncations.
166               'msvs_disabled_warnings': [ 4267, ],
167             },
168             {
169               'target_name': 'content_gpu',
170               'type': 'static_library',
171               'variables': { 'enable_wexit_time_destructors': 1, },
172               'includes': [
173                 'content_gpu.gypi',
174               ],
175               'dependencies': [
176                 'content_child',
177                 'content_common',
178               ],
179             },
180             {
181               'target_name': 'content_plugin',
182               'type': 'static_library',
183               'variables': { 'enable_wexit_time_destructors': 1, },
184               'includes': [
185                 'content_plugin.gypi',
186               ],
187               'dependencies': [
188                 'content_child',
189                 'content_common',
190               ],
191             },
192             {
193               'target_name': 'content_ppapi_plugin',
194               'type': 'static_library',
195               'variables': { 'enable_wexit_time_destructors': 1, },
196               'includes': [
197                 'content_ppapi_plugin.gypi',
198               ],
199               # Disable c4267 warnings until we fix size_t to int truncations.
200               'msvs_disabled_warnings': [ 4267, ],
201             },
202             {
203               'target_name': 'content_renderer',
204               'type': 'static_library',
205               'variables': { 'enable_wexit_time_destructors': 1, },
206               'includes': [
207                 'content_renderer.gypi',
208               ],
209               'dependencies': [
210                 'content_child',
211                 'content_common',
212                 'content_resources.gyp:content_resources',
213               ],
214               'conditions': [
215                 ['chromium_enable_vtune_jit_for_v8==1', {
216                   'dependencies': [
217                     '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
218                   ],
219                 }],
220               ],
221             },
222             {
223               'target_name': 'content_utility',
224               'type': 'static_library',
225               'variables': { 'enable_wexit_time_destructors': 1, },
226               'includes': [
227                 'content_utility.gypi',
228               ],
229               'dependencies': [
230                 'content_child',
231                 'content_common',
232               ],
233             },
234             {
235               'target_name': 'content_worker',
236               'type': 'static_library',
237               'variables': { 'enable_wexit_time_destructors': 1, },
238               'includes': [
239                 'content_worker.gypi',
240               ],
241               'dependencies': [
242                 'content_child',
243                 'content_common',
244               ],
245             },
246           ],
247         }],
248       ],
249     },
250     {  # component != static_library
251       'targets': [
252         {
253           'target_name': 'content',
254           'type': 'shared_library',
255           'variables': { 'enable_wexit_time_destructors': 1, },
256           'dependencies': [
257            'content_resources.gyp:content_resources',
258           ],
259           'conditions': [
260             ['OS=="mac"', {
261               'dependencies': [
262                 '<(DEPTH)/third_party/mach_override/mach_override.gyp:mach_override',
263               ],
264             }],
265             ['chromium_enable_vtune_jit_for_v8==1', {
266               'dependencies': [
267                 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
268               ],
269             }],
270           ],
271           'includes': [
272             'content_app.gypi',
273             'content_browser.gypi',
274             'content_child.gypi',
275             'content_common.gypi',
276             'content_gpu.gypi',
277             'content_plugin.gypi',
278             'content_ppapi_plugin.gypi',
279             'content_renderer.gypi',
280             'content_utility.gypi',
281             'content_worker.gypi',
282           ],
283           'msvs_settings': {
284             'VCLinkerTool': {
285               'conditions': [
286                 ['incremental_chrome_dll==1', {
287                   'UseLibraryDependencyInputs': "true",
288                 }],
289               ],
290             },
291           },
292         },
293         {
294           'target_name': 'content_app_browser',
295           'type': 'none',
296           'dependencies': ['content', 'content_browser'],
297         },
298         {
299           'target_name': 'content_app_child',
300           'type': 'none',
301           'dependencies': ['content', 'content_child'],
302         },
303         {
304           'target_name': 'content_app_both',
305           'type': 'none',
306           'dependencies': ['content'],
307         },
308         {
309           'target_name': 'content_browser',
310           'type': 'none',
311           'dependencies': ['content'],
312         },
313         {
314           'target_name': 'content_common',
315           'type': 'none',
316           'dependencies': ['content', 'content_resources.gyp:content_resources'],
317           # Disable c4267 warnings until we fix size_t to int truncations.
318           'msvs_disabled_warnings': [ 4267, ],
319         },
320         {
321           'target_name': 'content_child',
322           'type': 'none',
323           'dependencies': ['content'],
324         },
325         {
326           'target_name': 'content_gpu',
327           'type': 'none',
328           'dependencies': ['content'],
329         },
330         {
331           'target_name': 'content_plugin',
332           'type': 'none',
333           'dependencies': ['content'],
334         },
335         {
336           'target_name': 'content_ppapi_plugin',
337           'type': 'none',
338           'dependencies': ['content'],
339           # Disable c4267 warnings until we fix size_t to int truncations.
340           'msvs_disabled_warnings': [ 4267, ],
341         },
342         {
343           'target_name': 'content_renderer',
344           'type': 'none',
345           'dependencies': ['content'],
346         },
347         {
348           'target_name': 'content_utility',
349           'type': 'none',
350           'dependencies': ['content'],
351         },
352         {
353           'target_name': 'content_worker',
354           'type': 'none',
355           'dependencies': ['content'],
356         },
357       ],
358     }],
359     ['OS == "android"', {
360       'targets': [
361         {
362           'target_name': 'common_aidl',
363           'type': 'none',
364           'variables': {
365             'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
366           },
367           'sources': [
368             'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
369             'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
370           ],
371           'includes': [ '../build/java_aidl.gypi' ],
372         },
373         {
374           'target_name': 'content_java',
375           'type': 'none',
376           'dependencies': [
377             '../base/base.gyp:base',
378             '../media/media.gyp:media_java',
379             '../net/net.gyp:net',
380             '../ui/android/ui_android.gyp:ui_java',
381             'common_aidl',
382             'content_common',
383             'gesture_event_type_java',
384             'page_transition_types_java',
385             'popup_item_type_java',
386             'result_codes_java',
387             'speech_recognition_error_java',
388             'top_controls_state_java',
389           ],
390           'variables': {
391             'java_in_dir': '../content/public/android/java',
392             'has_java_resources': 1,
393             'R_package': 'org.chromium.content',
394             'R_package_relpath': 'org/chromium/content',
395             'java_strings_grd': 'android_content_strings.grd',
396           },
397           'conditions': [
398             ['android_webview_build == 0', {
399               'dependencies': [
400                 '../third_party/eyesfree/eyesfree.gyp:eyesfree_java',
401                 '../third_party/guava/guava.gyp:guava_javalib',
402               ],
403             }],
404           ],
405           'includes': [ '../build/java.gypi' ],
406         },
407         {
408           'target_name': 'gesture_event_type_java',
409           'type': 'none',
410           'sources': [
411             'public/android/java/src/org/chromium/content/browser/GestureEventType.template',
412           ],
413           'variables': {
414             'package_name': 'org/chromium/content/browser',
415             'template_deps': ['browser/android/gesture_event_type_list.h'],
416           },
417           'includes': [ '../build/android/java_cpp_template.gypi' ],
418         },
419         {
420           'target_name': 'page_transition_types_java',
421           'type': 'none',
422           'sources': [
423             'public/android/java/src/org/chromium/content/browser/PageTransitionTypes.template',
424           ],
425           'variables': {
426             'package_name': 'org/chromium/content/browser',
427             'template_deps': ['public/common/page_transition_types_list.h'],
428           },
429           'includes': [ '../build/android/java_cpp_template.gypi' ],
430         },
431         {
432           'target_name': 'popup_item_type_java',
433           'type': 'none',
434           'sources': [
435             'public/android/java/src/org/chromium/content/browser/input/PopupItemType.template',
436           ],
437           'variables': {
438             'package_name': 'org/chromium/content/browser/input',
439             'template_deps': ['browser/android/popup_item_type_list.h'],
440           },
441           'includes': [ '../build/android/java_cpp_template.gypi' ],
442         },
443         {
444           'target_name': 'result_codes_java',
445           'type': 'none',
446           'sources': [
447             'public/android/java/src/org/chromium/content/common/ResultCodes.template',
448           ],
449           'variables': {
450             'package_name': 'org/chromium/content/common',
451             'template_deps': ['public/common/result_codes_list.h'],
452           },
453           'includes': [ '../build/android/java_cpp_template.gypi' ],
454         },
455         {
456           'target_name': 'speech_recognition_error_java',
457           'type': 'none',
458           'sources': [
459             'public/android/java/src/org/chromium/content/browser/SpeechRecognitionError.template',
460           ],
461           'variables': {
462             'package_name': 'org/chromium/content/browser',
463             'template_deps': ['public/common/speech_recognition_error_list.h'],
464           },
465           'includes': [ '../build/android/java_cpp_template.gypi' ],
466         },
467         {
468           'target_name': 'top_controls_state_java',
469           'type': 'none',
470           'sources': [
471             'public/android/java/src/org/chromium/content/common/TopControlsState.template',
472           ],
473           'variables': {
474             'package_name': 'org/chromium/content/common',
475             'template_deps': ['public/common/top_controls_state_list.h'],
476           },
477           'includes': [ '../build/android/java_cpp_template.gypi' ],
478         },
479         {
480           'target_name': 'java_set_jni_headers',
481           'type': 'none',
482           'variables': {
483             'jni_gen_package': 'content',
484             'input_java_class': 'java/util/HashSet.class',
485           },
486           'includes': [ '../build/jar_file_jni_generator.gypi' ],
487         },
488         {
489           'target_name': 'motionevent_jni_headers',
490           'type': 'none',
491           'variables': {
492              'jni_gen_package': 'content',
493              'jni_generator_ptr_type': 'long',
494              'input_java_class': 'android/view/MotionEvent.class',
495            },
496           'includes': [ '../build/jar_file_jni_generator.gypi' ],
497         },
498         {
499           'target_name': 'content_jni_headers',
500           'type': 'none',
501           'dependencies': [
502             'java_set_jni_headers',
503             'motionevent_jni_headers'
504           ],
505           'includes': [ 'content_jni.gypi' ],
506         },
507       ],
508     }],  # OS == "android"
509   ],
510 }