16d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
26d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
36d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# found in the LICENSE file.
46d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
56d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)widevine_arch = cpu_arch
66d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)if (widevine_arch == "x86") {
76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  widevine_arch = "ia32"
86d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
96d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
106d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)if (is_android) {
116d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  # Always available on Android regardless of branding.
126d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  widevine_cdm_version_h_file = "android/widevine_cdm_version.h"
136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  widevine_cdm_binary_files = []
146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} else if (is_chrome_branded) {
156d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  if (is_chromeos) {
166d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_version_h_file =
176d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "chromeos/$widevine_arch/widevine_cdm_version.h"
186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_binary_files = [
196d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "chromeos/$widevine_arch/libwidevinecdm.so",
206d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else if (is_linux) {
226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_version_h_file =
236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "linux/$widevine_arch/widevine_cdm_version.h"
246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_binary_files = [
256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "linux/$widevine_arch/libwidevinecdm.so",
266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else if (is_win) {
286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_version_h_file =
296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "win/$widevine_arch/widevine_cdm_version.h"
306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_binary_files = [
316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "win/$widevine_arch/widevinecdm.dll",
326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "win/$widevine_arch/widevinecdm.dll.lib",
336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
346d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else if (is_mac) {
356d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_version_h_file =
366d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "mac/$widevine_arch/widevine_cdm_version.h"
376d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_binary_files = [
386d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "mac/$widevine_arch/libwidevinecdm.dylib",
396d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
406d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else {
416d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    # Other platforms, use the default one.
426d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_version_h_file = "widevine_cdm_version.h"
436d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    widevine_cdm_binary_files = []
446d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
456d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} else {
466d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  # No branding, use the default one.
476d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  widevine_cdm_version_h_file = "widevine_cdm_version.h"
486d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  widevine_cdm_binary_files = []
496d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
506d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
516d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# GYP version: third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h
526d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)copy("version_h") {
536d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  sources = [ widevine_cdm_version_h_file ]
546d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  # TODO(brettw) this should go into target_out_dir and callers should include
556d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  # it from there. This requires, however, renaming the default
566d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  # widevine_cdm_version.h in this directory to avoid conflicts.
576d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  outputs = [ "$root_gen_dir/widevine_cdm_version.h" ]
586d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
596d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
606d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# GYP version: third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_binaries
616d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)if (widevine_cdm_binary_files == []) {
626d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  group("binaries") {
636d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    # NOP
646d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
656d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} else {
666d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  copy("binaries") {
676d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    sources = widevine_cdm_binary_files
686d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    outputs = [ "$root_out_dir/{{source_file_part}}" ]
696d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    # TODO(GYP)
706d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    # 'COPY_PHASE_STRIP': 'NO',
716d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
726d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
736d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
746d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)source_set("adapter") {
756d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  if (is_chrome_branded) {
766d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    deps = [
77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      ":version_h",
78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      ":binaries",
796d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      "//ppapi:ppapi_cpp",
806d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      #'<(DEPTH)/media/media_cdm_adapter.gyp:cdmadapter',  TODO(GYP)
816d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
826d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
836d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
846d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  if (is_linux) {
856d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    libs = [ "$root_out_dir/libwidevinecdm.sp" ]
866d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else if (is_win) {
876d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    libs = [ "$root_out_dir/widevinecdm.dll.lib" ]
886d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  } else if (is_mac) {
896d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    libs = [ "$root_out_dir/libwidevinecdm.dylib" ]
906d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
916d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
926d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
936d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# This target exists for tests to depend on that pulls in a runtime dependency
946d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)# on the license server.
956d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)source_set("widevine_test_license_server") {
966d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  if (is_chrome_branded && is_linux) {
976d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    deps = [
986d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      # TODO(GYP)
996d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      #"//third_party/widevine/test/license_server/license_server.gyp:test_license_server"
1006d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    ]
1016d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  }
1026d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
103