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'],
27 '../build/win_precompile.gypi',
28 'content_common_mojo_bindings.gypi',
29 'content_resources.gypi',
35 'target_name': 'content_startup_helper_win',
36 'type': 'static_library',
41 '../base/base.gyp:base',
42 '../base/base.gyp:base_i18n',
43 '../sandbox/sandbox.gyp:sandbox',
46 'app/startup_helper_win.cc',
47 'public/app/startup_helper_win.h',
52 # In component mode, we build all of content as a single DLL.
53 # However, in the static mode, we need to build content as multiple
54 # targets in order to prevent dependencies from getting introduced
55 # upstream unnecessarily (e.g., content_renderer depends on allocator
56 # and chrome_exe depends on content_common but we don't want
57 # chrome_exe to have to depend on allocator).
58 ['component=="static_library"', {
60 'COMPILE_CONTENT_STATICALLY',
64 # GN version: //content
65 'target_name': 'content',
71 'export_dependent_settings': [
78 'content_common_mojo_bindings',
81 'content_ppapi_plugin',
89 # GN version: //content/app:browser
90 'target_name': 'content_app_browser',
91 'type': 'static_library',
92 'variables': { 'enable_wexit_time_destructors': 1, },
99 'export_dependent_settings': [
103 ['chrome_multiple_dll', {
105 'CHROME_MULTIPLE_DLL_BROWSER',
111 # GN version: //content/app:child
112 'target_name': 'content_app_child',
113 'type': 'static_library',
114 'variables': { 'enable_wexit_time_destructors': 1, },
121 'export_dependent_settings': [
125 ['chrome_multiple_dll', {
127 'CHROME_MULTIPLE_DLL_CHILD',
133 # GN version: //content/app:both
134 'target_name': 'content_app_both',
135 'type': 'static_library',
136 'variables': { 'enable_wexit_time_destructors': 1, },
143 'export_dependent_settings': [
148 # GN version: //content/browser and //content/public/browser
149 'target_name': 'content_browser',
150 'type': 'static_library',
151 'variables': { 'enable_wexit_time_destructors': 1, },
153 'content_browser.gypi',
154 # Disable LTO due to ELF section name out of range
156 '../build/android/disable_lto.gypi',
161 'export_dependent_settings': [
178 'content_common_mojo_bindings',
185 # GN version: //content/common and //content/public/common
186 'target_name': 'content_common',
187 'type': 'static_library',
188 'variables': { 'enable_wexit_time_destructors': 1, },
190 'content_common.gypi',
195 'content_common_mojo_bindings',
200 # Disable c4267 warnings until we fix size_t to int truncations.
201 'msvs_disabled_warnings': [ 4267, ],
208 # GN version: //content/child and //content/public/child
209 'target_name': 'content_child',
210 'type': 'static_library',
211 'variables': { 'enable_wexit_time_destructors': 1, },
213 'content_child.gypi',
218 # Disable c4267 warnings until we fix size_t to int truncations.
219 'msvs_disabled_warnings': [ 4267, ],
222 # GN version: //content/gpu
223 'target_name': 'content_gpu',
224 'type': 'static_library',
225 'variables': { 'enable_wexit_time_destructors': 1, },
235 # GN version: //content/plugin and //content/public/plugin
236 'target_name': 'content_plugin',
237 'type': 'static_library',
238 'variables': { 'enable_wexit_time_destructors': 1, },
240 'content_plugin.gypi',
248 # GN version: //content/ppapi_plugin
249 'target_name': 'content_ppapi_plugin',
250 'type': 'static_library',
251 'variables': { 'enable_wexit_time_destructors': 1, },
253 'content_ppapi_plugin.gypi',
255 # Disable c4267 warnings until we fix size_t to int truncations.
256 'msvs_disabled_warnings': [ 4267, ],
259 # GN version: //content/renderer and //content/public/renderer
260 'target_name': 'content_renderer',
261 'type': 'static_library',
262 'variables': { 'enable_wexit_time_destructors': 1, },
264 'content_renderer.gypi',
272 ['chromium_enable_vtune_jit_for_v8==1', {
274 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
280 # GN version: //content/utility and //content/public/utility
281 'target_name': 'content_utility',
282 'type': 'static_library',
283 'variables': { 'enable_wexit_time_destructors': 1, },
285 'content_utility.gypi',
296 { # component != static_library
299 # GN version: //content
300 'target_name': 'content',
301 'type': 'shared_library',
302 'variables': { 'enable_wexit_time_destructors': 1, },
307 ['chromium_enable_vtune_jit_for_v8==1', {
309 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
314 'content_common_mojo_bindings',
320 'content_browser.gypi',
321 'content_child.gypi',
322 'content_common.gypi',
324 'content_plugin.gypi',
325 'content_ppapi_plugin.gypi',
326 'content_renderer.gypi',
327 'content_utility.gypi',
332 ['incremental_chrome_dll==1', {
333 'UseLibraryDependencyInputs': "true",
340 # GN version: //content/app:browser
341 'target_name': 'content_app_browser',
343 'dependencies': ['content', 'content_browser'],
346 # GN version: //content/app:child
347 'target_name': 'content_app_child',
349 'dependencies': ['content', 'content_child'],
352 # GN version: //content/app:both
353 'target_name': 'content_app_both',
355 'dependencies': ['content'],
356 'export_dependent_settings': ['content'],
359 # GN version: //content/browser and //content/public/browser
360 'target_name': 'content_browser',
362 'dependencies': ['content'],
363 'export_dependent_settings': ['content'],
366 # GN version: //content/common and //content/public/common
367 'target_name': 'content_common',
369 'dependencies': ['content', 'content_resources'],
370 # Disable c4267 warnings until we fix size_t to int truncations.
371 'msvs_disabled_warnings': [ 4267, ],
372 'export_dependent_settings': ['content'],
375 # GN Version: //content/child
376 'target_name': 'content_child',
378 'dependencies': ['content'],
381 # GN version: //content/gpu
382 'target_name': 'content_gpu',
384 'dependencies': ['content'],
387 # GN version: //content/plugin
388 'target_name': 'content_plugin',
390 'dependencies': ['content'],
393 # GN version: //content/ppapi_plugin
394 'target_name': 'content_ppapi_plugin',
396 'dependencies': ['content'],
397 # Disable c4267 warnings until we fix size_t to int truncations.
398 'msvs_disabled_warnings': [ 4267, ],
401 # GN version: //content/renderer and //content/public/renderer
402 'target_name': 'content_renderer',
404 'dependencies': ['content'],
407 # GN version: //content/utility
408 'target_name': 'content_utility',
410 'dependencies': ['content'],
411 'export_dependent_settings': ['content'],
415 ['OS == "android"', {
418 'target_name': 'common_aidl',
421 'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
422 'aidl_import_include': 'public/android/java/src',
425 'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
426 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
428 'includes': [ '../build/java_aidl.gypi' ],
431 'target_name': 'content_java',
434 '../base/base.gyp:base',
435 '../device/battery/battery.gyp:device_battery_java',
436 '../media/media.gyp:media_java',
437 '../mojo/mojo_base.gyp:mojo_system_java',
438 '../mojo/public/mojo_public.gyp:mojo_application_bindings',
439 '../mojo/public/mojo_public.gyp:mojo_bindings_java',
440 '../net/net.gyp:net',
441 '../ui/android/ui_android.gyp:ui_java',
444 'content_strings_grd',
445 'content_gamepad_mapping',
446 'gesture_event_type_java',
447 'popup_item_type_java',
449 'selection_event_type_java',
450 'speech_recognition_error_java',
451 'top_controls_state_java',
452 'screen_orientation_values_java',
455 'java_in_dir': '../content/public/android/java',
456 'has_java_resources': 1,
457 'R_package': 'org.chromium.content',
458 'R_package_relpath': 'org/chromium/content',
461 ['android_webview_build == 0', {
463 '../third_party/eyesfree/eyesfree.gyp:eyesfree_java',
467 'includes': [ '../build/java.gypi' ],
470 'target_name': 'content_strings_grd',
471 # The android_webview/Android.mk file depends on this target directly.
472 'android_unmangled_name': 1,
475 'grd_file': '../content/public/android/java/strings/android_content_strings.grd',
478 '../build/java_strings_grd.gypi',
482 'target_name': 'content_gamepad_mapping',
485 'source_file': 'browser/gamepad/gamepad_standard_mappings.h',
487 'includes': [ '../build/android/java_cpp_enum.gypi' ],
490 'target_name': 'gesture_event_type_java',
493 'source_file': 'browser/android/gesture_event_type.h',
495 'includes': [ '../build/android/java_cpp_enum.gypi' ],
498 'target_name': 'popup_item_type_java',
501 'source_file': 'browser/android/content_view_core_impl.cc',
503 'includes': [ '../build/android/java_cpp_enum.gypi' ],
506 'target_name': 'result_codes_java',
509 'source_file': 'public/common/result_codes.h',
511 'includes': [ '../build/android/java_cpp_enum.gypi' ],
514 'target_name': 'selection_event_type_java',
517 'source_file': 'browser/renderer_host/input/selection_event_type.h',
519 'includes': [ '../build/android/java_cpp_enum.gypi' ],
522 'target_name': 'speech_recognition_error_java',
525 'source_file': 'public/common/speech_recognition_error.h',
527 'includes': [ '../build/android/java_cpp_enum.gypi' ],
530 'target_name': 'top_controls_state_java',
533 'source_file': 'public/common/top_controls_state.h',
535 'includes': [ '../build/android/java_cpp_enum.gypi' ],
538 'target_name': 'screen_orientation_values_java',
541 'source_file': 'public/common/screen_orientation_values.h',
543 'includes': [ '../build/android/java_cpp_enum.gypi' ],
546 'target_name': 'java_set_jni_headers',
549 'jni_gen_package': 'content',
550 'input_java_class': 'java/util/HashSet.class',
552 'includes': [ '../build/jar_file_jni_generator.gypi' ],
555 'target_name': 'motionevent_jni_headers',
558 'jni_gen_package': 'content',
559 'input_java_class': 'android/view/MotionEvent.class',
561 'includes': [ '../build/jar_file_jni_generator.gypi' ],
564 'target_name': 'content_jni_headers',
567 'java_set_jni_headers',
568 'motionevent_jni_headers'
570 'includes': [ 'content_jni.gypi' ],
573 'target_name': 'content_icudata',
576 ['icu_use_data_file_flag==1', {
579 'destination': '<(PRODUCT_DIR)/content_shell/assets',
581 '<(PRODUCT_DIR)/icudtl.dat',
589 'target_name': 'content_v8_external_data',
592 ['v8_use_external_startup_data==1', {
595 'destination': '<(PRODUCT_DIR)/content_shell/assets',
597 '<(PRODUCT_DIR)/natives_blob.bin',
598 '<(PRODUCT_DIR)/snapshot_blob.bin',
606 }], # OS == "android"