OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/buildflag_header.gni") | 5 import("//build/buildflag_header.gni") |
6 import("//build/config/chrome_build.gni") | 6 import("//build/config/chrome_build.gni") |
7 import("//build/config/compiler/compiler.gni") | 7 import("//build/config/compiler/compiler.gni") |
8 import("//build/config/features.gni") | 8 import("//build/config/features.gni") |
9 import("//build/config/locales.gni") | 9 import("//build/config/locales.gni") |
10 import("//build/config/sanitizers/sanitizers.gni") | 10 import("//build/config/sanitizers/sanitizers.gni") |
11 import("//build/config/ui.gni") | 11 import("//build/config/ui.gni") |
12 import("//build/config/win/console_app.gni") | 12 import("//build/config/win/console_app.gni") |
13 import("//build/config/win/manifest.gni") | 13 import("//build/config/win/manifest.gni") |
14 import("//chrome/chrome_repack_locales.gni") | 14 import("//chrome/chrome_repack_locales.gni") |
15 import("//chrome/common/features.gni") | 15 import("//chrome/common/features.gni") |
16 import("//chrome/version.gni") | 16 import("//chrome/version.gni") |
| 17 import("//third_party/widevine/cdm/widevine.gni") |
17 import("//ui/base/ui_features.gni") | 18 import("//ui/base/ui_features.gni") |
18 import("//v8/gni/v8.gni") | 19 import("//v8/gni/v8.gni") |
19 | 20 |
20 if (enable_resource_whitelist_generation) { | 21 if (enable_resource_whitelist_generation) { |
21 android_resource_whitelist = "$root_gen_dir/chrome/resource_whitelist.txt" | 22 android_resource_whitelist = "$root_gen_dir/chrome/resource_whitelist.txt" |
22 } | 23 } |
23 | 24 |
24 if (is_android) { | 25 if (is_android) { |
25 import("//build/config/android/rules.gni") | 26 import("//build/config/android/rules.gni") |
26 } else if (is_mac) { | 27 } else if (is_mac) { |
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
837 if (enable_nacl) { | 838 if (enable_nacl) { |
838 sources += [ "$root_out_dir/nacl_irt_x86_64.nexe" ] | 839 sources += [ "$root_out_dir/nacl_irt_x86_64.nexe" ] |
839 public_deps += [ "//ppapi/native_client:irt" ] | 840 public_deps += [ "//ppapi/native_client:irt" ] |
840 } | 841 } |
841 } | 842 } |
842 } else { | 843 } else { |
843 group("chrome_framework_plugins") { | 844 group("chrome_framework_plugins") { |
844 } | 845 } |
845 } | 846 } |
846 | 847 |
847 if (is_chrome_branded) { | 848 _should_bundle_widevine = |
| 849 (is_chrome_branded || enable_widevine) && enable_pepper_cdms |
| 850 if (_should_bundle_widevine) { |
| 851 # The Widevine CDM and manifest are either the actual Widevine CDM and |
| 852 # manifest or stubs used for testing only. The choice is made within the |
| 853 # corresponding Widevine targets based on branding. |
848 bundle_data("widevine_cdm_library_binaries") { | 854 bundle_data("widevine_cdm_library_binaries") { |
849 sources = [ | 855 sources = [ |
850 "$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", | 856 "$root_out_dir/libwidevinecdm.dylib", |
851 "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin", | 857 "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin", |
852 ] | 858 ] |
853 outputs = [ | 859 outputs = [ |
854 "{{bundle_root_dir}}/Libraries/$widevine_cdm_path/{{source_file_part}}", | 860 "{{bundle_root_dir}}/Libraries/$widevine_cdm_path/{{source_file_part}}", |
855 ] | 861 ] |
856 public_deps = [ | 862 public_deps = [ |
| 863 # Need this intermediate dependency because "widevinecdm" is a |
| 864 # shared_library if !is_chrome_branded, and then depending on |
| 865 # "widevinecdm" directly would cause it to be linked into the Chromium |
| 866 # Framework, which we don't want. |
| 867 ":widevine_cdm_library_copy", |
| 868 "//third_party/widevine/cdm:widevinecdmadapter", |
| 869 ] |
| 870 } |
| 871 |
| 872 copy("widevine_cdm_library_copy") { |
| 873 sources = [ |
| 874 "$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", |
| 875 ] |
| 876 outputs = [ |
| 877 "$root_out_dir/{{source_file_part}}", |
| 878 ] |
| 879 deps = [ |
857 "//third_party/widevine/cdm:widevinecdm", | 880 "//third_party/widevine/cdm:widevinecdm", |
858 "//third_party/widevine/cdm:widevinecdmadapter", | |
859 ] | 881 ] |
860 } | 882 } |
861 | 883 |
862 bundle_data("widevine_cdm_library_manifest") { | 884 bundle_data("widevine_cdm_library_manifest") { |
863 sources = [ | 885 sources = [ |
864 "$root_out_dir/WidevineCdm/manifest.json", | 886 "$root_out_dir/WidevineCdm/manifest.json", |
865 ] | 887 ] |
866 outputs = [ | 888 outputs = [ |
867 "{{bundle_root_dir}}/Libraries/WidevineCdm/{{source_file_part}}", | 889 "{{bundle_root_dir}}/Libraries/WidevineCdm/{{source_file_part}}", |
868 ] | 890 ] |
869 public_deps = [ | 891 public_deps = [ |
870 "//third_party/widevine/cdm:widevine_cdm_manifest", | 892 "//third_party/widevine/cdm:widevine_cdm_manifest", |
871 ] | 893 ] |
872 } | 894 } |
873 } | 895 } |
874 | 896 |
875 group("widevine_cdm_library") { | 897 group("widevine_cdm_library") { |
876 if (is_chrome_branded) { | 898 if (_should_bundle_widevine) { |
877 deps = [ | 899 deps = [ |
878 ":widevine_cdm_library_binaries", | 900 ":widevine_cdm_library_binaries", |
879 ":widevine_cdm_library_manifest", | 901 ":widevine_cdm_library_manifest", |
880 ] | 902 ] |
881 } | 903 } |
882 } | 904 } |
883 | 905 |
884 if (enable_mac_keystone) { | 906 if (enable_mac_keystone) { |
885 action("keystone_registration_framework") { | 907 action("keystone_registration_framework") { |
886 script = "//chrome/tools/build/mac/copy_keystone_framework.py" | 908 script = "//chrome/tools/build/mac/copy_keystone_framework.py" |
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1789 "//chrome/app/theme/$branding_path_component/product_logo_48.png", | 1811 "//chrome/app/theme/$branding_path_component/product_logo_48.png", |
1790 "//chrome/tools/build/linux/chrome-wrapper", | 1812 "//chrome/tools/build/linux/chrome-wrapper", |
1791 "//third_party/xdg-utils/scripts/xdg-mime", | 1813 "//third_party/xdg-utils/scripts/xdg-mime", |
1792 "//third_party/xdg-utils/scripts/xdg-settings", | 1814 "//third_party/xdg-utils/scripts/xdg-settings", |
1793 ] | 1815 ] |
1794 outputs = [ | 1816 outputs = [ |
1795 "$root_out_dir/{{source_file_part}}", | 1817 "$root_out_dir/{{source_file_part}}", |
1796 ] | 1818 ] |
1797 } | 1819 } |
1798 } | 1820 } |
OLD | NEW |