# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'variables': {
    'chromium_code': 1,  # Use higher warning level.
    'chromium_enable_vtune_jit_for_v8%': 0,  # enable the vtune support for V8 engine.
    'directxsdk_exists': '<!pymod_do_main(dir_exists ../third_party/directxsdk)',
  },
  'target_defaults': {
    'defines': ['CONTENT_IMPLEMENTATION'],
    'conditions': [
      # TODO(jschuh): Remove this after crbug.com/173851 gets fixed.
      ['OS=="win" and target_arch=="x64"', {
        'msvs_settings': {
          'VCCLCompilerTool': {
            'AdditionalOptions': ['/bigobj'],
          },
        },
      }],
    ],
  },
  'targets': [
    {
      # GN version: //content/renderer:renderer_features
      'target_name': 'renderer_features',
      'includes': [
        '../build/buildflag_header.gypi',
        '../third_party/webrtc/build/common.gypi',
      ],
      'conditions': [
        # This conditional looks insane, but without it |rtc_use_h264| is not
        # recognized as defined. Might have something to do with scopes. Moving
        # the inclusion of third_party/webrtc/build/common.gypi to outside of
        # 'targets' is not an option, then we get compile errors.
        # TODO(hbos): crbug.com/584219
        ['1==1', {
          'variables': {
            'buildflag_header_path': 'content/renderer/renderer_features.h',
            'buildflag_flags': [
              'RTC_USE_H264=<(rtc_use_h264)',
            ],
          },
        }],
      ],
    },
  ],
  'conditions': [
    ['OS != "ios"', {
      'includes': [
        '../build/win_precompile.gypi',
        'content_resources.gypi',
      ],
    }],
    ['OS == "win"', {
      'targets': [
        {
          # GN: //content:sandbox_helper_win
          'target_name': 'sandbox_helper_win',
          'type': 'static_library',
          'include_dirs': [
            '..',
          ],
          'dependencies': [
            '../sandbox/sandbox.gyp:sandbox',
          ],
          'sources': [
            'app/sandbox_helper_win.cc',
            'public/app/sandbox_helper_win.h',
          ],
        }
      ],
    }],
    # In component mode, we build all of content as a single DLL.
    # However, in the static mode, we need to build content as multiple
    # targets in order to prevent dependencies from getting introduced
    # upstream unnecessarily (e.g., content_renderer depends on allocator
    # and chrome_exe depends on content_common but we don't want
    # chrome_exe to have to depend on allocator).
    ['component=="static_library"', {
      'target_defines': [
        'COMPILE_CONTENT_STATICALLY',
      ],
      'targets': [
        {
          # GN version: //content
          'target_name': 'content',
          'type': 'none',
          'dependencies': [
            'content_browser',
            'content_common',
          ],
          'export_dependent_settings': [
            'content_common',
          ],
          'conditions': [
            ['OS != "ios"', {
              'dependencies': [
                'content_child',
                'content_gpu',
                'content_plugin',
                'content_ppapi_plugin',
                'content_renderer',
                'content_utility',
              ],
            }],
          ],
        },
        {
          # GN version: //content/app:browser
          'target_name': 'content_app_browser',
          'type': 'static_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'includes': [
            'content_app.gypi',
          ],
          'dependencies': [
            'content_common',
          ],
          'export_dependent_settings': [
            'content_common',
          ],
          'conditions': [
            ['chrome_multiple_dll', {
              'defines': [
                'CHROME_MULTIPLE_DLL_BROWSER',
              ],
            }],
          ],
        },
        {
          # GN version: //content/app:child
          'target_name': 'content_app_child',
          'type': 'static_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'includes': [
            'content_app.gypi',
          ],
          'dependencies': [
            'content_common',
          ],
          'export_dependent_settings': [
            'content_common',
          ],
          'conditions': [
            ['chrome_multiple_dll', {
              'defines': [
                'CHROME_MULTIPLE_DLL_CHILD',
              ],
            }],
          ],
        },
        {
          # GN version: //content/app:both
          'target_name': 'content_app_both',
          'type': 'static_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'includes': [
            'content_app.gypi',
          ],
          'dependencies': [
            'content_common',
          ],
          'export_dependent_settings': [
            'content_common',
          ],
        },
        {
          # GN version: //content/browser and //content/public/browser
          'target_name': 'content_browser',
          'type': 'static_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'includes': [
            'content_browser.gypi',
            # Disable LTO due to ELF section name out of range
            # crbug.com/422251
            '../build/android/disable_gcc_lto.gypi',
          ],
          'dependencies': [
            'content_common',
          ],
          'export_dependent_settings': [
            'content_common',
          ],
          'conditions': [
            ['java_bridge==1', {
              'dependencies': [
                'content_child',
              ]
            }],
            ['OS=="android"', {
              'dependencies': [
                'content_gpu',
                'content_utility',
              ],
            }],
            ['OS != "ios"', {
              'dependencies': [
                'content_resources',
              ],
            }],
          ],
        },
        {
          # GN version: //content/common and //content/public/common
          'target_name': 'content_common',
          'type': 'static_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'includes': [
            'content_common.gypi',
          ],
          'conditions': [
            ['OS != "ios"', {
              'dependencies': [
                'content_resources',
              ],
            }],
          ],
          # Disable c4267 warnings until we fix size_t to int truncations.
          'msvs_disabled_warnings': [ 4267, ],
        },
      ],
      'conditions': [
        ['OS != "ios"', {
          'targets': [
            {
              # GN version: //content/child and //content/public/child
              'target_name': 'content_child',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_child.gypi',
              ],
              'dependencies': [
                'content_resources',
              ],
              # Disable c4267 warnings until we fix size_t to int truncations.
              'msvs_disabled_warnings': [ 4267, ],
            },
            {
              # GN version: //content/gpu
              'target_name': 'content_gpu',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_gpu.gypi',
              ],
              'dependencies': [
                'content_child',
                'content_common',
              ],
            },
            {
              # GN version: //content/plugin and //content/public/plugin
              'target_name': 'content_plugin',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_plugin.gypi',
              ],
              'dependencies': [
                'content_child',
                'content_common',
              ],
            },
            {
              # GN version: //content/ppapi_plugin
              'target_name': 'content_ppapi_plugin',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_ppapi_plugin.gypi',
              ],
              # Disable c4267 warnings until we fix size_t to int truncations.
              'msvs_disabled_warnings': [ 4267, ],
            },
            {
              # GN version: //content/renderer and //content/public/renderer
              'target_name': 'content_renderer',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_renderer.gypi',
              ],
              'dependencies': [
                '../third_party/webrtc/modules/modules.gyp:webrtc_h264',
                'content_child',
                'content_common',
                'content_resources',
                'renderer_features',
              ],
              'export_dependent_settings': [
                'content_common',
              ],
              'conditions': [
                ['chromium_enable_vtune_jit_for_v8==1', {
                  'dependencies': [
                    '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
                  ],
                }],
              ],
            },
            {
              # GN version: //content/utility and //content/public/utility
              'target_name': 'content_utility',
              'type': 'static_library',
              'variables': { 'enable_wexit_time_destructors': 1, },
              'includes': [
                'content_utility.gypi',
              ],
              'dependencies': [
                'content_child',
                'content_common',
                'content_common_mojo_bindings.gyp:content_common_mojo_bindings',
              ],
            },
          ],
        }],
      ],
    },
    {  # component != static_library
      'targets': [
        {
          # GN version: //content
          'target_name': 'content',
          'type': 'shared_library',
          'variables': { 'enable_wexit_time_destructors': 1, },
          'dependencies': [
            '../third_party/webrtc/modules/modules.gyp:webrtc_h264',
            'content_resources',
            'renderer_features',
          ],
          'conditions': [
            ['chromium_enable_vtune_jit_for_v8==1', {
              'dependencies': [
                '../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
              ],
            }],
          ],
          'includes': [
            'content_app.gypi',
            'content_browser.gypi',
            'content_child.gypi',
            'content_common.gypi',
            'content_gpu.gypi',
            'content_plugin.gypi',
            'content_ppapi_plugin.gypi',
            'content_renderer.gypi',
            'content_utility.gypi',
          ],
          'msvs_settings': {
            'VCLinkerTool': {
              'conditions': [
                ['incremental_chrome_dll==1', {
                  'UseLibraryDependencyInputs': "true",
                }],
              ],
            },
          },
        },
        {
          # GN version: //content/app:browser
          'target_name': 'content_app_browser',
          'type': 'none',
          'dependencies': ['content', 'content_browser'],
        },
        {
          # GN version: //content/app:child
          'target_name': 'content_app_child',
          'type': 'none',
          'dependencies': ['content', 'content_child'],
        },
        {
          # GN version: //content/app:both
          'target_name': 'content_app_both',
          'type': 'none',
          'dependencies': ['content'],
          'export_dependent_settings': ['content'],
        },
        {
          # GN version: //content/browser and //content/public/browser
          'target_name': 'content_browser',
          'type': 'none',
          'dependencies': ['content'],
          'export_dependent_settings': ['content'],
        },
        {
          # GN version: //content/common and //content/public/common
          'target_name': 'content_common',
          'type': 'none',
          'dependencies': ['content', 'content_resources'],
          # Disable c4267 warnings until we fix size_t to int truncations.
          'msvs_disabled_warnings': [ 4267, ],
          'export_dependent_settings': ['content'],
        },
        {
          # GN Version: //content/child
          'target_name': 'content_child',
          'type': 'none',
          'dependencies': ['content'],
        },
        {
          # GN version: //content/gpu
          'target_name': 'content_gpu',
          'type': 'none',
          'dependencies': ['content'],
        },
        {
          # GN version: //content/plugin
          'target_name': 'content_plugin',
          'type': 'none',
          'dependencies': ['content'],
        },
        {
          # GN version: //content/ppapi_plugin
          'target_name': 'content_ppapi_plugin',
          'type': 'none',
          'dependencies': ['content'],
          # Disable c4267 warnings until we fix size_t to int truncations.
          'msvs_disabled_warnings': [ 4267, ],
        },
        {
          # GN version: //content/renderer and //content/public/renderer
          'target_name': 'content_renderer',
          'type': 'none',
          'dependencies': ['content'],
          'export_dependent_settings': ['content'],
        },
        {
          # GN version: //content/utility
          'target_name': 'content_utility',
          'type': 'none',
          'dependencies': ['content'],
          'export_dependent_settings': ['content'],
        },
      ],
    }],
    ['OS == "android"', {
      'targets': [
        {
          'target_name': 'common_aidl',
          'type': 'none',
          'variables': {
            'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
            'aidl_import_include': 'public/android/java/src',
          },
          'sources': [
            'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
            'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
          ],
          'includes': [ '../build/java_aidl.gypi' ],
        },
        {
          'target_name': 'content_java',
          'type': 'none',
          'dependencies': [
            '../base/base.gyp:base',
            '../device/battery/battery.gyp:device_battery_java',
            '../device/bluetooth/bluetooth.gyp:device_bluetooth_java',
            '../device/usb/usb.gyp:device_usb_java',
            '../device/vibration/vibration.gyp:device_vibration_java',
            '../media/media.gyp:media_java',
            '../mojo/mojo_base.gyp:mojo_application_bindings',
            '../mojo/mojo_base.gyp:mojo_system_java',
            '../mojo/mojo_public.gyp:mojo_bindings_java',
            '../net/net.gyp:net',
            '../skia/skia.gyp:skia_mojo',
            '../ui/android/ui_android.gyp:ui_java',
            '../ui/touch_selection/ui_touch_selection.gyp:selection_event_type_java',
            '../ui/touch_selection/ui_touch_selection.gyp:touch_handle_orientation_java',
            '../third_party/android_tools/android_tools.gyp:android_support_v13_javalib',
            '../third_party/WebKit/public/blink_headers.gyp:blink_headers_java',
            '../ui/mojo/geometry/mojo_bindings.gyp:mojo_geometry_bindings',
            'common_aidl',
            'console_message_level_java',
            'content_common',
            'content_strings_grd',
            'content_gamepad_mapping',
            'device_sensors_consts_java',
            'sensor_manager_android_java',
            'gesture_event_type_java',
            'invalidate_types_java',
            'navigation_controller_java',
            'popup_item_type_java',
            'result_codes_java',
            'readback_response_java',
            'speech_recognition_error_java',
            'top_controls_state_java',
            'screen_orientation_values_java',
            'accessibility_java',
          ],
          'variables': {
            'java_in_dir': '../content/public/android/java',
            'has_java_resources': 1,
            'R_package': 'org.chromium.content',
            'R_package_relpath': 'org/chromium/content',
          },
          'includes': [ '../build/java.gypi' ],
        },
        {
          'target_name': 'console_message_level_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/common/console_message_level.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'content_strings_grd',
          # The android_webview/Android.mk file depends on this target directly.
          'android_unmangled_name': 1,
          'type': 'none',
          'variables': {
            'grd_file': '../content/public/android/java/strings/android_content_strings.grd',
          },
          'includes': [
            '../build/java_strings_grd.gypi',
          ],
        },
        {
          'target_name': 'device_sensors_consts_java',
          'type': 'none',
          'variables': {
            'source_file': 'browser/device_sensors/device_sensors_consts.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'sensor_manager_android_java',
          'type': 'none',
          'variables': {
            'source_file': 'browser/device_sensors/sensor_manager_android.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'content_gamepad_mapping',
          'type': 'none',
          'variables': {
            'source_file': 'browser/gamepad/gamepad_standard_mappings.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'gesture_event_type_java',
          'type': 'none',
          'variables': {
            'source_file': 'browser/android/gesture_event_type.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'invalidate_types_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/browser/invalidate_type.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'navigation_controller_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/browser/navigation_controller.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'popup_item_type_java',
          'type': 'none',
          'variables': {
            'source_file': 'browser/android/content_view_core_impl.cc',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'readback_response_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/browser/readback_types.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'result_codes_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/common/result_codes.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'speech_recognition_error_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/common/speech_recognition_error.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'top_controls_state_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/common/top_controls_state.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'screen_orientation_values_java',
          'type': 'none',
          'variables': {
            'source_file': 'public/common/screen_orientation_values.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'accessibility_java',
          'type': 'none',
          'variables': {
            'source_file': 'browser/accessibility/browser_accessibility_manager_android.h',
          },
          'includes': [ '../build/android/java_cpp_enum.gypi' ],
        },
        {
          'target_name': 'java_set_jni_headers',
          'type': 'none',
          'variables': {
            'jni_gen_package': 'content',
            'input_java_class': 'java/util/HashSet.class',
          },
          'includes': [ '../build/jar_file_jni_generator.gypi' ],
        },
        {
          'target_name': 'content_jni_headers',
          'type': 'none',
          'dependencies': [
            'java_set_jni_headers',
          ],
          'includes': [ 'content_jni.gypi' ],
          'conditions': [
            ['enable_webvr==1', {
              'sources': [
                'public/android/java/src/org/chromium/content/browser/input/CardboardVRDevice.java',
              ],
              'dependencies': [
                '../third_party/cardboard-java/cardboard.gyp:cardboard_jar',
              ],
            }],
          ],
        },
        {
          'target_name': 'content_shell_assets_copy',
          'type': 'none',
          'dependencies': ['content_shell_and_tests.gyp:content_shell_pak'],
          'variables': {
            'src_files': ['<(PRODUCT_DIR)/content_shell.pak'],
            'conditions': [
              ['v8_use_external_startup_data==1', {
                'dependencies': ['<(DEPTH)/v8/tools/gyp/v8.gyp:v8_external_snapshot'],
                'renaming_sources': [
                  '<(PRODUCT_DIR)/natives_blob.bin',
                  '<(PRODUCT_DIR)/snapshot_blob.bin',
                ],
                'renaming_destinations': [
                  'natives_blob_<(arch_suffix).bin',
                  'snapshot_blob_<(arch_suffix).bin',
                ],
              }],
              ['icu_use_data_file_flag==1', {
                'dependencies': ['<(DEPTH)/third_party/icu/icu.gyp:icudata'],
                'src_files': ['<(PRODUCT_DIR)/icudtl.dat'],
              }],
            ],
            'dest_path': '<(PRODUCT_DIR)/content_shell/assets',
            'clear': 1,
          },
          'includes': [
            '../build/android/copy_ex.gypi',
            '../build/android/v8_external_startup_data_arch_suffix.gypi',
          ],
        },
      ],
    }],  # OS == "android"
  ],
}
