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.
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': '<!pymod_do_main(dir_exists ../third_party/directxsdk)',
12 'defines': ['CONTENT_IMPLEMENTATION'],
14 # TODO(jschuh): Remove this after crbug.com/173851 gets fixed.
15 ['OS=="win" and target_arch=="x64"', {
18 'AdditionalOptions': ['/bigobj'],
25 'content_common_mojo_bindings.gypi',
30 '../build/win_precompile.gypi',
31 'content_resources.gypi',
37 'target_name': 'content_startup_helper_win',
38 'type': 'static_library',
43 '../base/base.gyp:base',
44 '../base/base.gyp:base_i18n',
45 '../sandbox/sandbox.gyp:sandbox',
48 'app/startup_helper_win.cc',
49 'public/app/startup_helper_win.h',
54 # In component mode, we build all of content as a single DLL.
55 # However, in the static mode, we need to build content as multiple
56 # targets in order to prevent dependencies from getting introduced
57 # upstream unnecessarily (e.g., content_renderer depends on allocator
58 # and chrome_exe depends on content_common but we don't want
59 # chrome_exe to have to depend on allocator).
60 ['component=="static_library"', {
62 'COMPILE_CONTENT_STATICALLY',
66 # GN version: //content
67 'target_name': 'content',
72 'content_common_mojo_bindings',
74 'export_dependent_settings': [
76 'content_common_mojo_bindings',
84 'content_ppapi_plugin',
92 # GN version: //content/app:browser
93 'target_name': 'content_app_browser',
94 'type': 'static_library',
95 'variables': { 'enable_wexit_time_destructors': 1, },
102 'export_dependent_settings': [
106 ['chrome_multiple_dll', {
108 'CHROME_MULTIPLE_DLL_BROWSER',
114 # GN version: //content/app:child
115 'target_name': 'content_app_child',
116 'type': 'static_library',
117 'variables': { 'enable_wexit_time_destructors': 1, },
124 'export_dependent_settings': [
128 ['chrome_multiple_dll', {
130 'CHROME_MULTIPLE_DLL_CHILD',
136 # GN version: //content/app:both
137 'target_name': 'content_app_both',
138 'type': 'static_library',
139 'variables': { 'enable_wexit_time_destructors': 1, },
145 'content_common_mojo_bindings',
147 'export_dependent_settings': [
149 'content_common_mojo_bindings',
153 # GN version: //content/browser and //content/public/browser
154 'target_name': 'content_browser',
155 'type': 'static_library',
156 'variables': { 'enable_wexit_time_destructors': 1, },
158 'content_browser.gypi',
159 # Disable LTO due to ELF section name out of range
161 '../build/android/disable_lto.gypi',
165 'content_common_mojo_bindings',
167 'export_dependent_settings': [
169 'content_common_mojo_bindings',
191 # GN version: //content/common and //content/public/common
192 'target_name': 'content_common',
193 'type': 'static_library',
194 'variables': { 'enable_wexit_time_destructors': 1, },
196 'content_common.gypi',
199 'content_common_mojo_bindings',
208 # Disable c4267 warnings until we fix size_t to int truncations.
209 'msvs_disabled_warnings': [ 4267, ],
216 # GN version: //content/child and //content/public/child
217 'target_name': 'content_child',
218 'type': 'static_library',
219 'variables': { 'enable_wexit_time_destructors': 1, },
221 'content_child.gypi',
226 # Disable c4267 warnings until we fix size_t to int truncations.
227 'msvs_disabled_warnings': [ 4267, ],
230 # GN version: //content/gpu
231 'target_name': 'content_gpu',
232 'type': 'static_library',
233 'variables': { 'enable_wexit_time_destructors': 1, },
243 # GN version: //content/plugin and //content/public/plugin
244 'target_name': 'content_plugin',
245 'type': 'static_library',
246 'variables': { 'enable_wexit_time_destructors': 1, },
248 'content_plugin.gypi',
256 # GN version: //content/ppapi_plugin
257 'target_name': 'content_ppapi_plugin',
258 'type': 'static_library',
259 'variables': { 'enable_wexit_time_destructors': 1, },
261 'content_ppapi_plugin.gypi',
263 # Disable c4267 warnings until we fix size_t to int truncations.
264 'msvs_disabled_warnings': [ 4267, ],
267 # GN version: //content/renderer and //content/public/renderer
268 'target_name': 'content_renderer',
269 'type': 'static_library',
270 'variables': { 'enable_wexit_time_destructors': 1, },
272 'content_renderer.gypi',
279 'export_dependent_settings': [
283 ['chromium_enable_vtune_jit_for_v8==1', {
285 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
291 # GN version: //content/utility and //content/public/utility
292 'target_name': 'content_utility',
293 'type': 'static_library',
294 'variables': { 'enable_wexit_time_destructors': 1, },
296 'content_utility.gypi',
307 { # component != static_library
310 # GN version: //content
311 'target_name': 'content',
312 'type': 'shared_library',
313 'variables': { 'enable_wexit_time_destructors': 1, },
315 'content_common_mojo_bindings',
318 'export_dependent_settings': [
319 'content_common_mojo_bindings',
322 ['chromium_enable_vtune_jit_for_v8==1', {
324 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
330 'content_browser.gypi',
331 'content_child.gypi',
332 'content_common.gypi',
334 'content_plugin.gypi',
335 'content_ppapi_plugin.gypi',
336 'content_renderer.gypi',
337 'content_utility.gypi',
342 ['incremental_chrome_dll==1', {
343 'UseLibraryDependencyInputs': "true",
350 # GN version: //content/app:browser
351 'target_name': 'content_app_browser',
353 'dependencies': ['content', 'content_browser'],
356 # GN version: //content/app:child
357 'target_name': 'content_app_child',
359 'dependencies': ['content', 'content_child'],
362 # GN version: //content/app:both
363 'target_name': 'content_app_both',
365 'dependencies': ['content'],
366 'export_dependent_settings': ['content'],
369 # GN version: //content/browser and //content/public/browser
370 'target_name': 'content_browser',
372 'dependencies': ['content'],
373 'export_dependent_settings': ['content'],
376 # GN version: //content/common and //content/public/common
377 'target_name': 'content_common',
379 'dependencies': ['content', 'content_resources'],
380 # Disable c4267 warnings until we fix size_t to int truncations.
381 'msvs_disabled_warnings': [ 4267, ],
382 'export_dependent_settings': ['content'],
385 # GN Version: //content/child
386 'target_name': 'content_child',
388 'dependencies': ['content'],
391 # GN version: //content/gpu
392 'target_name': 'content_gpu',
394 'dependencies': ['content'],
397 # GN version: //content/plugin
398 'target_name': 'content_plugin',
400 'dependencies': ['content'],
403 # GN version: //content/ppapi_plugin
404 'target_name': 'content_ppapi_plugin',
406 'dependencies': ['content'],
407 # Disable c4267 warnings until we fix size_t to int truncations.
408 'msvs_disabled_warnings': [ 4267, ],
411 # GN version: //content/renderer and //content/public/renderer
412 'target_name': 'content_renderer',
414 'dependencies': ['content'],
415 'export_dependent_settings': ['content'],
418 # GN version: //content/utility
419 'target_name': 'content_utility',
421 'dependencies': ['content'],
422 'export_dependent_settings': ['content'],
426 ['OS == "android"', {
429 'target_name': 'common_aidl',
432 'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
433 'aidl_import_include': 'public/android/java/src',
436 'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
437 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
439 'includes': [ '../build/java_aidl.gypi' ],
442 'target_name': 'content_java',
445 '../base/base.gyp:base',
446 '../device/battery/battery.gyp:device_battery_java',
447 '../device/vibration/vibration.gyp:device_vibration_java',
448 '../media/media.gyp:media_java',
449 '../mojo/mojo_base.gyp:mojo_system_java',
450 '../mojo/public/mojo_public.gyp:mojo_application_bindings',
451 '../mojo/public/mojo_public.gyp:mojo_bindings_java',
452 '../net/net.gyp:net',
453 '../ui/android/ui_android.gyp:ui_java',
456 'content_strings_grd',
457 'content_gamepad_mapping',
458 'gesture_event_type_java',
459 'popup_item_type_java',
461 'selection_event_type_java',
462 'speech_recognition_error_java',
463 'top_controls_state_java',
464 'screen_orientation_values_java',
467 'java_in_dir': '../content/public/android/java',
468 'has_java_resources': 1,
469 'R_package': 'org.chromium.content',
470 'R_package_relpath': 'org/chromium/content',
472 'includes': [ '../build/java.gypi' ],
475 'target_name': 'content_strings_grd',
476 # The android_webview/Android.mk file depends on this target directly.
477 'android_unmangled_name': 1,
480 'grd_file': '../content/public/android/java/strings/android_content_strings.grd',
483 '../build/java_strings_grd.gypi',
487 'target_name': 'content_gamepad_mapping',
490 'source_file': 'browser/gamepad/gamepad_standard_mappings.h',
492 'includes': [ '../build/android/java_cpp_enum.gypi' ],
495 'target_name': 'gesture_event_type_java',
498 'source_file': 'browser/android/gesture_event_type.h',
500 'includes': [ '../build/android/java_cpp_enum.gypi' ],
503 'target_name': 'popup_item_type_java',
506 'source_file': 'browser/android/content_view_core_impl.cc',
508 'includes': [ '../build/android/java_cpp_enum.gypi' ],
511 'target_name': 'result_codes_java',
514 'source_file': 'public/common/result_codes.h',
516 'includes': [ '../build/android/java_cpp_enum.gypi' ],
519 'target_name': 'selection_event_type_java',
522 'source_file': 'browser/renderer_host/input/selection_event_type.h',
524 'includes': [ '../build/android/java_cpp_enum.gypi' ],
527 'target_name': 'speech_recognition_error_java',
530 'source_file': 'public/common/speech_recognition_error.h',
532 'includes': [ '../build/android/java_cpp_enum.gypi' ],
535 'target_name': 'top_controls_state_java',
538 'source_file': 'public/common/top_controls_state.h',
540 'includes': [ '../build/android/java_cpp_enum.gypi' ],
543 'target_name': 'screen_orientation_values_java',
546 'source_file': 'public/common/screen_orientation_values.h',
548 'includes': [ '../build/android/java_cpp_enum.gypi' ],
551 'target_name': 'java_set_jni_headers',
554 'jni_gen_package': 'content',
555 'input_java_class': 'java/util/HashSet.class',
557 'includes': [ '../build/jar_file_jni_generator.gypi' ],
560 'target_name': 'motionevent_jni_headers',
563 'jni_gen_package': 'content',
564 'input_java_class': 'android/view/MotionEvent.class',
566 'includes': [ '../build/jar_file_jni_generator.gypi' ],
569 'target_name': 'content_jni_headers',
572 'java_set_jni_headers',
573 'motionevent_jni_headers'
575 'includes': [ 'content_jni.gypi' ],
578 'target_name': 'content_icudata',
581 ['icu_use_data_file_flag==1', {
584 'destination': '<(PRODUCT_DIR)/content_shell/assets',
586 '<(PRODUCT_DIR)/icudtl.dat',
594 'target_name': 'content_v8_external_data',
597 ['v8_use_external_startup_data==1', {
600 'destination': '<(PRODUCT_DIR)/content_shell/assets',
602 '<(PRODUCT_DIR)/natives_blob.bin',
603 '<(PRODUCT_DIR)/snapshot_blob.bin',
611 }], # OS == "android"