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_resources.gypi',
34 # GN: //content:content_startup_helper_win
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': [
80 'content_ppapi_plugin',
88 # GN version: //content/app:browser
89 'target_name': 'content_app_browser',
90 'type': 'static_library',
91 'variables': { 'enable_wexit_time_destructors': 1, },
98 'export_dependent_settings': [
102 ['chrome_multiple_dll', {
104 'CHROME_MULTIPLE_DLL_BROWSER',
110 # GN version: //content/app:child
111 'target_name': 'content_app_child',
112 'type': 'static_library',
113 'variables': { 'enable_wexit_time_destructors': 1, },
120 'export_dependent_settings': [
124 ['chrome_multiple_dll', {
126 'CHROME_MULTIPLE_DLL_CHILD',
132 # GN version: //content/app:both
133 'target_name': 'content_app_both',
134 'type': 'static_library',
135 'variables': { 'enable_wexit_time_destructors': 1, },
142 'export_dependent_settings': [
147 # GN version: //content/browser and //content/public/browser
148 'target_name': 'content_browser',
149 'type': 'static_library',
150 'variables': { 'enable_wexit_time_destructors': 1, },
152 'content_browser.gypi',
153 # Disable LTO due to ELF section name out of range
155 '../build/android/disable_lto.gypi',
160 'export_dependent_settings': [
183 # GN version: //content/common and //content/public/common
184 'target_name': 'content_common',
185 'type': 'static_library',
186 'variables': { 'enable_wexit_time_destructors': 1, },
188 'content_common.gypi',
197 # Disable c4267 warnings until we fix size_t to int truncations.
198 'msvs_disabled_warnings': [ 4267, ],
205 # GN version: //content/child and //content/public/child
206 'target_name': 'content_child',
207 'type': 'static_library',
208 'variables': { 'enable_wexit_time_destructors': 1, },
210 'content_child.gypi',
215 # Disable c4267 warnings until we fix size_t to int truncations.
216 'msvs_disabled_warnings': [ 4267, ],
219 # GN version: //content/gpu
220 'target_name': 'content_gpu',
221 'type': 'static_library',
222 'variables': { 'enable_wexit_time_destructors': 1, },
232 # GN version: //content/plugin and //content/public/plugin
233 'target_name': 'content_plugin',
234 'type': 'static_library',
235 'variables': { 'enable_wexit_time_destructors': 1, },
237 'content_plugin.gypi',
245 # GN version: //content/ppapi_plugin
246 'target_name': 'content_ppapi_plugin',
247 'type': 'static_library',
248 'variables': { 'enable_wexit_time_destructors': 1, },
250 'content_ppapi_plugin.gypi',
252 # Disable c4267 warnings until we fix size_t to int truncations.
253 'msvs_disabled_warnings': [ 4267, ],
256 # GN version: //content/renderer and //content/public/renderer
257 'target_name': 'content_renderer',
258 'type': 'static_library',
259 'variables': { 'enable_wexit_time_destructors': 1, },
261 'content_renderer.gypi',
268 'export_dependent_settings': [
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',
290 'content_common_mojo_bindings.gyp:content_common_mojo_bindings',
297 { # component != static_library
300 # GN version: //content
301 'target_name': 'content',
302 'type': 'shared_library',
303 'variables': { 'enable_wexit_time_destructors': 1, },
308 ['chromium_enable_vtune_jit_for_v8==1', {
310 '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
316 'content_browser.gypi',
317 'content_child.gypi',
318 'content_common.gypi',
320 'content_plugin.gypi',
321 'content_ppapi_plugin.gypi',
322 'content_renderer.gypi',
323 'content_utility.gypi',
328 ['incremental_chrome_dll==1', {
329 'UseLibraryDependencyInputs': "true",
336 # GN version: //content/app:browser
337 'target_name': 'content_app_browser',
339 'dependencies': ['content', 'content_browser'],
342 # GN version: //content/app:child
343 'target_name': 'content_app_child',
345 'dependencies': ['content', 'content_child'],
348 # GN version: //content/app:both
349 'target_name': 'content_app_both',
351 'dependencies': ['content'],
352 'export_dependent_settings': ['content'],
355 # GN version: //content/browser and //content/public/browser
356 'target_name': 'content_browser',
358 'dependencies': ['content'],
359 'export_dependent_settings': ['content'],
362 # GN version: //content/common and //content/public/common
363 'target_name': 'content_common',
365 'dependencies': ['content', 'content_resources'],
366 # Disable c4267 warnings until we fix size_t to int truncations.
367 'msvs_disabled_warnings': [ 4267, ],
368 'export_dependent_settings': ['content'],
371 # GN Version: //content/child
372 'target_name': 'content_child',
374 'dependencies': ['content'],
377 # GN version: //content/gpu
378 'target_name': 'content_gpu',
380 'dependencies': ['content'],
383 # GN version: //content/plugin
384 'target_name': 'content_plugin',
386 'dependencies': ['content'],
389 # GN version: //content/ppapi_plugin
390 'target_name': 'content_ppapi_plugin',
392 'dependencies': ['content'],
393 # Disable c4267 warnings until we fix size_t to int truncations.
394 'msvs_disabled_warnings': [ 4267, ],
397 # GN version: //content/renderer and //content/public/renderer
398 'target_name': 'content_renderer',
400 'dependencies': ['content'],
401 'export_dependent_settings': ['content'],
404 # GN version: //content/utility
405 'target_name': 'content_utility',
407 'dependencies': ['content'],
408 'export_dependent_settings': ['content'],
412 ['OS == "android"', {
415 'target_name': 'common_aidl',
418 'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
419 'aidl_import_include': 'public/android/java/src',
422 'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
423 'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
425 'includes': [ '../build/java_aidl.gypi' ],
428 'target_name': 'content_java',
431 '../base/base.gyp:base',
432 '../device/battery/battery.gyp:device_battery_java',
433 '../device/bluetooth/bluetooth.gyp:device_bluetooth_java',
434 '../device/vibration/vibration.gyp:device_vibration_java',
435 '../media/media.gyp:media_java',
436 '../mojo/mojo_base.gyp:mojo_application_bindings',
437 '../mojo/mojo_base.gyp:mojo_system_java',
438 '../net/net.gyp:net',
439 '../skia/skia.gyp:skia_mojo',
440 '../third_party/mojo/mojo_public.gyp:mojo_bindings_java',
441 '../ui/android/ui_android.gyp:ui_java',
442 '../ui/touch_selection/ui_touch_selection.gyp:selection_event_type_java',
443 '../ui/touch_selection/ui_touch_selection.gyp:touch_handle_orientation_java',
444 '../third_party/android_tools/android_tools.gyp:android_support_v13_javalib',
445 '../third_party/WebKit/public/blink_headers.gyp:blink_headers_java',
446 '../ui/mojo/geometry/mojo_bindings.gyp:mojo_geometry_bindings',
448 'console_message_level_java',
450 'content_strings_grd',
451 'content_gamepad_mapping',
452 'gesture_event_type_java',
453 'invalidate_types_java',
454 'navigation_controller_java',
455 'popup_item_type_java',
457 'readback_response_java',
458 'speech_recognition_error_java',
459 'top_controls_state_java',
460 'screen_orientation_values_java',
461 'accessibility_java',
463 # TODO(sgurun) remove this when M is public. crbug/512264.
465 ['android_sdk_version != "M"', {
467 '../third_party/android_tools/android_tools.gyp:preview_java_sources',
472 'java_in_dir': '../content/public/android/java',
473 'has_java_resources': 1,
474 'R_package': 'org.chromium.content',
475 'R_package_relpath': 'org/chromium/content',
477 'includes': [ '../build/java.gypi' ],
480 'target_name': 'console_message_level_java',
483 'source_file': 'public/common/console_message_level.h',
485 'includes': [ '../build/android/java_cpp_enum.gypi' ],
488 'target_name': 'content_strings_grd',
489 # The android_webview/Android.mk file depends on this target directly.
490 'android_unmangled_name': 1,
493 'grd_file': '../content/public/android/java/strings/android_content_strings.grd',
496 '../build/java_strings_grd.gypi',
500 'target_name': 'content_gamepad_mapping',
503 'source_file': 'browser/gamepad/gamepad_standard_mappings.h',
505 'includes': [ '../build/android/java_cpp_enum.gypi' ],
508 'target_name': 'gesture_event_type_java',
511 'source_file': 'browser/android/gesture_event_type.h',
513 'includes': [ '../build/android/java_cpp_enum.gypi' ],
516 'target_name': 'invalidate_types_java',
519 'source_file': 'public/browser/invalidate_type.h',
521 'includes': [ '../build/android/java_cpp_enum.gypi' ],
524 'target_name': 'navigation_controller_java',
527 'source_file': 'public/browser/navigation_controller.h',
529 'includes': [ '../build/android/java_cpp_enum.gypi' ],
532 'target_name': 'popup_item_type_java',
535 'source_file': 'browser/android/content_view_core_impl.cc',
537 'includes': [ '../build/android/java_cpp_enum.gypi' ],
540 'target_name': 'readback_response_java',
543 'source_file': 'public/browser/readback_types.h',
545 'includes': [ '../build/android/java_cpp_enum.gypi' ],
548 'target_name': 'result_codes_java',
551 'source_file': 'public/common/result_codes.h',
553 'includes': [ '../build/android/java_cpp_enum.gypi' ],
556 'target_name': 'speech_recognition_error_java',
559 'source_file': 'public/common/speech_recognition_error.h',
561 'includes': [ '../build/android/java_cpp_enum.gypi' ],
564 'target_name': 'top_controls_state_java',
567 'source_file': 'public/common/top_controls_state.h',
569 'includes': [ '../build/android/java_cpp_enum.gypi' ],
572 'target_name': 'screen_orientation_values_java',
575 'source_file': 'public/common/screen_orientation_values.h',
577 'includes': [ '../build/android/java_cpp_enum.gypi' ],
580 'target_name': 'accessibility_java',
583 'source_file': 'browser/accessibility/browser_accessibility_manager_android.h',
585 'includes': [ '../build/android/java_cpp_enum.gypi' ],
588 'target_name': 'java_set_jni_headers',
591 'jni_gen_package': 'content',
592 'input_java_class': 'java/util/HashSet.class',
594 'includes': [ '../build/jar_file_jni_generator.gypi' ],
597 'target_name': 'motionevent_jni_headers',
600 'jni_gen_package': 'content',
601 'input_java_class': 'android/view/MotionEvent.class',
603 'includes': [ '../build/jar_file_jni_generator.gypi' ],
606 'target_name': 'content_jni_headers',
609 'java_set_jni_headers',
610 'motionevent_jni_headers'
612 'includes': [ 'content_jni.gypi' ],
615 'target_name': 'content_icudata',
618 ['icu_use_data_file_flag==1', {
621 'destination': '<(PRODUCT_DIR)/content_shell/assets',
623 '<(PRODUCT_DIR)/icudtl.dat',
631 'target_name': 'content_v8_external_data',
634 ['v8_use_external_startup_data==1', {
637 'destination': '<(PRODUCT_DIR)/content_shell/assets',
639 '<(PRODUCT_DIR)/natives_blob.bin',
640 '<(PRODUCT_DIR)/snapshot_blob.bin',
648 }], # OS == "android"