| # Copyright 2014 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, |
| 'chromecast_branding%': 'Chromium', |
| }, |
| 'target_defaults': { |
| 'include_dirs': [ |
| '..', # Root of Chromium checkout |
| ], |
| }, |
| 'targets': [ |
| { |
| 'target_name': 'cast_common', |
| 'type': '<(component)', |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| ], |
| 'sources': [ |
| 'common/cast_paths.cc', |
| 'common/cast_paths.h', |
| 'common/cast_resource_delegate.cc', |
| 'common/cast_resource_delegate.h', |
| 'common/chromecast_config.cc', |
| 'common/chromecast_config.h', |
| 'common/chromecast_switches.cc', |
| 'common/chromecast_switches.h', |
| 'common/pref_names.cc', |
| 'common/pref_names.h', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| 'internal/chromecast_internal.gyp:cast_common_internal', |
| ], |
| }, { |
| 'sources': [ |
| 'common/chromecast_config_simple.cc', |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'cast_metrics', |
| 'type': '<(component)', |
| 'dependencies': [ |
| 'cast_common', |
| '../components/components.gyp:component_metrics_proto', |
| '../components/components.gyp:metrics', |
| '../components/components.gyp:metrics_net', |
| ], |
| 'sources': [ |
| 'metrics/cast_metrics_prefs.cc', |
| 'metrics/cast_metrics_prefs.h', |
| 'metrics/cast_metrics_service_client.cc', |
| 'metrics/cast_metrics_service_client.h', |
| 'metrics/platform_metrics_providers.h', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| '<(cast_internal_gyp):cast_metrics_internal', |
| ], |
| }, { |
| 'sources': [ |
| 'metrics/platform_metrics_providers_simple.cc', |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'cast_metrics_unittests', |
| 'type': '<(gtest_target_type)', |
| 'dependencies': [ |
| 'cast_metrics', |
| '../base/base.gyp:base_prefs_test_support', |
| '../base/base.gyp:run_all_unittests', |
| '../base/base.gyp:test_support_base', |
| '../components/components.gyp:component_metrics_proto', |
| '../testing/gtest.gyp:gtest', |
| ], |
| 'sources': [ |
| 'metrics/cast_metrics_service_client_unittest.cc', |
| ], |
| }, # end of target 'cast_metrics_unittests' |
| { |
| 'target_name': 'cast_net', |
| 'type': '<(component)', |
| 'sources': [ |
| 'net/network_change_notifier_cast.cc', |
| 'net/network_change_notifier_cast.h', |
| 'net/network_change_notifier_factory_cast.cc', |
| 'net/network_change_notifier_factory_cast.h', |
| ], |
| }, |
| { |
| 'target_name': 'cast_service', |
| 'type': '<(component)', |
| 'dependencies': [ |
| '../skia/skia.gyp:skia', |
| ], |
| 'sources': [ |
| 'service/cast_service.cc', |
| 'service/cast_service.h', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| 'internal/chromecast_internal.gyp:cast_service_internal', |
| ], |
| }, { |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| '../content/content.gyp:content', |
| ], |
| 'conditions': [ |
| ['OS=="android"', { |
| 'sources': [ |
| 'service/cast_service_android.cc', |
| 'service/cast_service_android.h', |
| ], |
| }, { |
| 'sources': [ |
| 'service/cast_service_simple.cc', |
| 'service/cast_service_simple.h', |
| ], |
| }], |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'cast_shell_resources', |
| 'type': 'none', |
| 'variables': { |
| 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chromecast', |
| }, |
| 'actions': [ |
| { |
| 'action_name': 'cast_shell_resources', |
| 'variables': { |
| 'grit_grd_file': 'shell/browser/resources/shell_resources.grd', |
| 'grit_resource_ids': 'shell/browser/resources/resource_ids', |
| }, |
| 'includes': [ '../build/grit_action.gypi' ], |
| }, |
| ], |
| 'includes': [ '../build/grit_target.gypi' ], |
| }, |
| { |
| 'target_name': 'cast_shell_pak', |
| 'type': 'none', |
| 'dependencies': [ |
| 'cast_shell_resources', |
| '../content/app/resources/content_resources.gyp:content_resources', |
| '../content/app/strings/content_strings.gyp:content_strings', |
| '../content/browser/devtools/devtools_resources.gyp:devtools_resources', |
| '../net/net.gyp:net_resources', |
| '../third_party/WebKit/public/blink_resources.gyp:blink_resources', |
| '../ui/resources/ui_resources.gyp:ui_resources', |
| '../ui/strings/ui_strings.gyp:ui_strings', |
| ], |
| 'actions': [ |
| { |
| 'action_name': 'repack_cast_shell_pack', |
| 'variables': { |
| 'pak_inputs': [ |
| '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/chromecast/shell_resources.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak', |
| '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak', |
| ], |
| 'pak_output': '<(PRODUCT_DIR)/assets/cast_shell.pak', |
| }, |
| 'includes': [ '../build/repack_action.gypi' ], |
| }, |
| ], |
| }, |
| # This target contains all content-embedder implementation that is |
| # non-platform-specific. |
| { |
| 'target_name': 'cast_shell_common', |
| 'type': '<(component)', |
| 'dependencies': [ |
| 'cast_common', |
| 'cast_metrics', |
| 'cast_service', |
| 'cast_shell_pak', |
| 'cast_shell_resources', |
| 'cast_version_header', |
| 'chromecast_locales.gyp:chromecast_locales_pak', |
| 'chromecast_locales.gyp:chromecast_settings', |
| '../components/components.gyp:component_metrics_proto', |
| '../content/content.gyp:content', |
| '../content/content.gyp:content_app_browser', |
| '../skia/skia.gyp:skia', |
| ], |
| 'sources': [ |
| 'shell/app/cast_main_delegate.cc', |
| 'shell/app/cast_main_delegate.h', |
| 'shell/browser/cast_browser_context.cc', |
| 'shell/browser/cast_browser_context.h', |
| 'shell/browser/cast_browser_main_parts.cc', |
| 'shell/browser/cast_browser_main_parts.h', |
| 'shell/browser/cast_browser_process.cc', |
| 'shell/browser/cast_browser_process.h', |
| 'shell/browser/cast_content_browser_client.cc', |
| 'shell/browser/cast_content_browser_client.h', |
| 'shell/browser/cast_http_user_agent_settings.cc', |
| 'shell/browser/cast_http_user_agent_settings.h', |
| 'shell/browser/devtools/cast_dev_tools_delegate.cc', |
| 'shell/browser/devtools/cast_dev_tools_delegate.h', |
| 'shell/browser/devtools/remote_debugging_server.cc', |
| 'shell/browser/devtools/remote_debugging_server.h', |
| 'shell/browser/geolocation/cast_access_token_store.cc', |
| 'shell/browser/geolocation/cast_access_token_store.h', |
| 'shell/browser/url_request_context_factory.cc', |
| 'shell/browser/url_request_context_factory.h', |
| 'shell/browser/webui/webui_cast.h', |
| 'shell/common/cast_content_client.cc', |
| 'shell/common/cast_content_client.h', |
| 'shell/renderer/cast_content_renderer_client.cc', |
| 'shell/renderer/cast_content_renderer_client.h', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| 'internal/chromecast_internal.gyp:cast_shell_internal', |
| ], |
| }, { |
| 'sources': [ |
| 'shell/browser/devtools/remote_debugging_server_simple.cc', |
| 'shell/browser/webui/webui_cast_simple.cc', |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'cast_version_header', |
| 'type': 'none', |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '<(SHARED_INTERMEDIATE_DIR)', |
| ], |
| }, |
| 'actions': [ |
| { |
| 'action_name': 'version_header', |
| 'message': 'Generating version header file: <@(_outputs)', |
| 'inputs': [ |
| '<(version_path)', |
| 'common/version.h.in', |
| ], |
| 'outputs': [ |
| '<(SHARED_INTERMEDIATE_DIR)/chromecast/common/version.h', |
| ], |
| 'action': [ |
| 'python', |
| '<(version_py_path)', |
| '-e', 'VERSION_FULL="<(version_full)"', |
| 'common/version.h.in', |
| '<@(_outputs)', |
| ], |
| 'includes': [ |
| '../build/util/version.gypi', |
| ], |
| }, |
| ], |
| }, |
| { |
| 'target_name': 'cast_tests', |
| 'type': 'none', |
| 'dependencies': [ |
| 'media/media.gyp:cast_media_unittests', |
| ], |
| }, |
| ], # end of targets |
| |
| # Targets for Android receiver. |
| 'conditions': [ |
| ['OS=="android"', { |
| 'targets': [ |
| { |
| 'target_name': 'libcast_shell_android', |
| 'type': 'shared_library', |
| 'dependencies': [ |
| 'cast_common', |
| 'cast_jni_headers', |
| 'cast_shell_common', |
| 'cast_shell_pak', |
| 'cast_version_header', |
| '../base/base.gyp:base', |
| '../content/content.gyp:content_app_browser', |
| '../content/content.gyp:content', |
| '../skia/skia.gyp:skia', |
| '../ui/gfx/gfx.gyp:gfx', |
| '../ui/gl/gl.gyp:gl', |
| ], |
| 'sources': [ |
| 'android/cast_jni_registrar.cc', |
| 'android/cast_jni_registrar.h', |
| 'android/chromecast_config_android.cc', |
| 'android/chromecast_config_android.h', |
| 'android/platform_jni_loader.h', |
| 'shell/app/android/cast_jni_loader.cc', |
| 'shell/browser/android/cast_window_manager.cc', |
| 'shell/browser/android/cast_window_manager.h', |
| 'shell/browser/android/cast_window_android.cc', |
| 'shell/browser/android/cast_window_android.h', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| '<(cast_internal_gyp):cast_shell_android_internal' |
| ], |
| }, { |
| 'sources': [ |
| 'android/platform_jni_loader_stub.cc', |
| ], |
| }] |
| ], |
| }, # end of target 'libcast_shell_android' |
| { |
| 'target_name': 'cast_shell_java', |
| 'type': 'none', |
| 'dependencies': [ |
| '../base/base.gyp:base_java', |
| '../content/content.gyp:content_java', |
| '../media/media.gyp:media_java', |
| '../net/net.gyp:net_java', |
| '../third_party/android_tools/android_tools.gyp:android_support_v13_javalib', |
| '../ui/android/ui_android.gyp:ui_java', |
| ], |
| 'variables': { |
| 'has_java_resources': 1, |
| 'java_in_dir': 'shell/android/apk', |
| 'resource_dir': 'shell/android/apk/res', |
| 'R_package': 'org.chromium.chromecast.shell', |
| }, |
| 'includes': ['../build/java.gypi'], |
| }, # end of target 'cast_shell_java' |
| { |
| 'target_name': 'cast_shell_apk', |
| 'type': 'none', |
| 'dependencies': [ |
| 'cast_shell_java', |
| 'libcast_shell_android', |
| ], |
| 'variables': { |
| 'apk_name': 'CastShell', |
| 'manifest_package_name': 'org.chromium.chromecast.shell', |
| # Note(gunsch): there are no Java files in the android/ directory. |
| # Unfortunately, the java_apk.gypi target rigidly insists on having |
| # a java_in_dir directory, but complains about duplicate classes |
| # from the common cast_shell_java target (shared with internal APK) |
| # if the actual Java path is used. |
| # This will hopefully be removable after the great GN migration. |
| 'java_in_dir': 'android', |
| 'android_manifest_path': 'shell/android/apk/AndroidManifest.xml', |
| 'package_name': 'org.chromium.chromecast.shell', |
| 'native_lib_target': 'libcast_shell_android', |
| 'asset_location': '<(PRODUCT_DIR)/assets', |
| 'additional_input_paths': ['<(PRODUCT_DIR)/assets/cast_shell.pak'], |
| }, |
| 'includes': [ '../build/java_apk.gypi' ], |
| }, |
| { |
| 'target_name': 'cast_jni_headers', |
| 'type': 'none', |
| 'sources': [ |
| 'shell/android/apk/src/org/chromium/chromecast/shell/CastWindowAndroid.java', |
| 'shell/android/apk/src/org/chromium/chromecast/shell/CastWindowManager.java', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '<(SHARED_INTERMEDIATE_DIR)/chromecast', |
| ], |
| }, |
| 'variables': { |
| 'jni_gen_package': 'chromecast', |
| }, |
| 'includes': [ '../build/jni_generator.gypi' ], |
| }, |
| ], # end of targets |
| }, { # OS != "android" |
| 'targets': [ |
| # This target contains all of the primary code of |cast_shell|, except |
| # for |main|. This allows end-to-end tests using |cast_shell|. |
| # This also includes all targets that cannot be built on Android. |
| { |
| 'target_name': 'cast_shell_core', |
| 'type': '<(component)', |
| 'dependencies': [ |
| 'cast_net', |
| 'cast_shell_common', |
| 'media/media.gyp:cast_media', |
| '../ui/aura/aura.gyp:aura_test_support', |
| ], |
| 'conditions': [ |
| ['chromecast_branding=="Chrome"', { |
| 'dependencies': [ |
| 'internal/chromecast_internal.gyp:cast_gfx_internal', |
| ], |
| }, { |
| 'dependencies': [ |
| '../ui/ozone/ozone.gyp:eglplatform_shim_x11', |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'cast_shell', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'cast_shell_core', |
| ], |
| 'sources': [ |
| 'shell/app/cast_main.cc', |
| ], |
| }, |
| { |
| 'target_name': 'cast_shell_browser_test', |
| 'type': '<(gtest_target_type)', |
| 'dependencies': [ |
| 'cast_shell_test_support', |
| '../testing/gtest.gyp:gtest', |
| ], |
| 'defines': [ |
| 'HAS_OUT_OF_PROC_TEST_RUNNER', |
| ], |
| 'sources': [ |
| 'shell/browser/test/chromecast_shell_browser_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'cast_shell_test_support', |
| 'type': '<(component)', |
| 'defines': [ |
| 'HAS_OUT_OF_PROC_TEST_RUNNER', |
| ], |
| 'dependencies': [ |
| 'cast_shell_core', |
| '../content/content_shell_and_tests.gyp:content_browser_test_support', |
| '../testing/gtest.gyp:gtest', |
| ], |
| 'sources': [ |
| 'shell/browser/test/chromecast_browser_test.cc', |
| 'shell/browser/test/chromecast_browser_test.h', |
| 'shell/browser/test/chromecast_browser_test_runner.cc', |
| ], |
| }, |
| ], # end of targets |
| }], |
| ], # end of conditions |
| } |