Upstreaming browser/ui/uikit_ui_util from iOS.
[chromium-blink-merge.git] / media / cdm / ppapi / BUILD.gn
blob585e6bf00a205457e16d0a0e4430d29b6e7e289e
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
3 # found in the LICENSE file.
5 import("//build/config/features.gni")
6 import("//chrome/version.gni")  # TODO layering violation!
7 import("//media/cdm/ppapi/cdm_adapter.gni")
9 # Android doesn't use ffmpeg.
10 use_ffmpeg = !is_android
12 # The GYP version supports build flags "use_fake_video_decoder" and
13 # "use_vpx". These should be added here if necessary but its not clear if
14 # they are required any more.
15 shared_library("clearkeycdm") {
16   sources = [
17     "cdm_file_io_test.cc",
18     "cdm_file_io_test.h",
19     "external_clear_key/cdm_video_decoder.cc",
20     "external_clear_key/cdm_video_decoder.h",
21     "external_clear_key/clear_key_cdm.cc",
22     "external_clear_key/clear_key_cdm.h",
23     "external_clear_key/clear_key_cdm_common.h",
24   ]
26   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
27   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
29   defines = [ "CDM_IMPLEMENTATION" ]
31   deps = [
32     "//base",
33     "//media",  # For media::AudioTimestampHelper
34     "//media:shared_memory_support",  # For media::AudioBus.
35     "//url",
36   ]
38   if (use_ffmpeg) {
39     sources += [
40       "external_clear_key/ffmpeg_cdm_audio_decoder.cc",
41       "external_clear_key/ffmpeg_cdm_audio_decoder.h",
42       "external_clear_key/ffmpeg_cdm_video_decoder.cc",
43       "external_clear_key/ffmpeg_cdm_video_decoder.h",
44     ]
45     defines += [ "CLEAR_KEY_CDM_USE_FFMPEG_DECODER" ]
46     deps += [ "//third_party/ffmpeg" ]
47   }
49   # TODO(GYP) on Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
52 process_version("clearkeycdmadapter_resources") {
53   visibility = [ ":*" ]
54   sources = [
55     "//media/clearkeycdmadapter.ver",
56     "external_clear_key/BRANDING",
57   ]
58   output =  "$target_gen_dir/clearkeycdmadapter_version.rc"
61 cdm_adapter("clearkeycdmadapter") {
62   # Check whether the plugin's origin URL is valid.
63   defines = [ "CHECK_DOCUMENT_URL" ]
64   deps = [
65     ":clearkeycdm",
66     ":clearkeycdmadapter_resources",
67     "//ppapi/cpp",
68   ]
70   if (is_posix && !is_mac && enable_pepper_cdms) {
71     # Because clearkeycdm has type 'loadable_module', we must explicitly
72     # specify this dependency.
73     ldflags = [ rebase_path("$root_out_dir/libclearkeycdm.so", root_build_dir) ]
74     libs = [ "rt" ]
75   }