summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/BUILD.gn37
-rw-r--r--chrome/android/BUILD.gn2
-rw-r--r--chrome/chrome_watcher/BUILD.gn8
-rw-r--r--chrome/common/BUILD.gn4
-rw-r--r--chrome/test/BUILD.gn16
-rw-r--r--chrome/version.gni64
-rw-r--r--chrome_elf/BUILD.gn8
-rw-r--r--components/data_reduction_proxy/core/common/BUILD.gn4
-rw-r--r--components/data_reduction_proxy/core/common/version.gni53
-rw-r--r--crypto/BUILD.gn9
-rw-r--r--extensions/shell/BUILD.gn2
-rw-r--r--media/cdm/ppapi/BUILD.gn32
-rw-r--r--media/cdm/ppapi/cdm_adapter.gni129
-rw-r--r--media/media_cdm.gypi1
-rw-r--r--media/media_cdm_adapter.gyp4
-rw-r--r--net/third_party/nss/ssl/BUILD.gn4
-rw-r--r--third_party/widevine/cdm/BUILD.gn40
-rw-r--r--third_party/widevine/cdm/widevine_cdm.gyp1
18 files changed, 290 insertions, 128 deletions
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index ab95acd..a807c09 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -294,7 +294,10 @@ if (is_win) {
# TODO(brettW) this should have more reduced visibility, but chrome/browser
# currently depends on this.
#visibility = [ ":*" ]
- source = "version.h.in"
+
+ # This one just uses the custom template and no separate sources.
+ sources = []
+ template_file = "version.h.in"
# TODO(brettw) this should move to $target_gen_dir/version.h and
# source files including it should reference it via "chrome/version.h"
@@ -302,39 +305,31 @@ if (is_win) {
}
process_version("chrome_exe_version") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/chrome_exe_version.rc"
- extra_args = [
- "-f",
- rebase_path("app/chrome_exe.ver", root_build_dir),
+ sources = [
+ "app/chrome_exe.ver",
]
+ output = "$target_gen_dir/chrome_exe_version.rc"
}
process_version("chrome_dll_version") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/chrome_dll_version.rc"
- extra_args = [
- "-f",
- rebase_path("app/chrome_dll.ver", root_build_dir),
+ sources = [
+ "app/chrome_dll.ver",
]
+ output = "$target_gen_dir/chrome_dll_version.rc"
}
process_version("nacl64_exe_version") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/nacl64_exe_version.rc"
- extra_args = [
- "-f",
- rebase_path("app/nacl64_exe.ver", root_build_dir),
+ sources = [
+ "app/nacl64_exe.ver",
]
+ output = "$target_gen_dir/nacl64_exe_version.rc"
}
process_version("other_version") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/other_version.rc"
- extra_args = [
- "-f",
- rebase_path("app/other.ver", root_build_dir),
+ sources = [
+ "app/other.ver",
]
+ output = "$target_gen_dir/other_version.rc"
}
group("chrome_version_resources") {
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index d0908fe..53a6cd4 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -477,7 +477,7 @@ uiautomator_test("uiautomator_tests") {
chrome_version_java_dir = "$root_gen_dir/templates/chrome_version_java"
chrome_version_java_file = "$chrome_version_java_dir/org/chromium/chrome/browser/ChromeVersionConstants.java"
process_version("chrome_version_java") {
- source = "java/ChromeVersionConstants.java.version"
+ template_file = "java/ChromeVersionConstants.java.version"
output = chrome_version_java_file
extra_args = [
"-e",
diff --git a/chrome/chrome_watcher/BUILD.gn b/chrome/chrome_watcher/BUILD.gn
index 376daaa..db5f5e8 100644
--- a/chrome/chrome_watcher/BUILD.gn
+++ b/chrome/chrome_watcher/BUILD.gn
@@ -15,12 +15,10 @@ source_set("client") {
}
process_version("chrome_watcher_resources") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/chrome_watcher_version.rc"
- extra_args = [
- "-f",
- rebase_path("chrome_watcher.ver", root_build_dir),
+ sources = [
+ "chrome_watcher.ver",
]
+ output = "$target_gen_dir/chrome_watcher_version.rc"
}
shared_library("chrome_watcher") {
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
index 5c9c241..622ce47 100644
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -240,12 +240,12 @@ static_library("common") {
import("//chrome/version.gni")
process_version("version") {
visibility = [ ":common" ]
- source = "chrome_version_info_values.h.version"
+ template_file = "chrome_version_info_values.h.version"
output = "$target_gen_dir/chrome_version_info_values.h"
}
process_version("make_chrome_version") {
- source = "chrome_version.cc.version"
+ template_file = "chrome_version.cc.version"
output = "$target_gen_dir/chrome_version.cc"
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index e905563..4bc1d9b 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -959,7 +959,7 @@ if (!is_android && (!is_win || link_chrome_on_windows)) {
# Runtime dependencies.
data_deps += [
"//media/cdm/ppapi:clearkeycdmadapter",
- #'../third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter', TODO(GYP)
+ "//third_party/widevine/cdm:adapter",
]
}
if (!enable_print_preview) {
@@ -1150,14 +1150,12 @@ if (!is_android && (!is_win || link_chrome_on_windows)) {
"//third_party/widevine/cdm:version_h",
]
- # TODO(GYP) CDM adapter stuff.
- #if (enable_pepper_cdms) {
- # deps += [
- # "//media/cdm/ppapi:clearkeycdmadapter",
- # "//ppapi/cpp",
- # "//third_party/widevine/cdm:adapter",
- # ]
- #}
+ if (enable_pepper_cdms) {
+ data_deps = [
+ "//media/cdm/ppapi:clearkeycdmadapter",
+ "//third_party/widevine/cdm:adapter",
+ ]
+ }
}
unit_gypi_values = exec_script("//build/gypi_to_gn.py",
diff --git a/chrome/version.gni b/chrome/version.gni
index cc8d96a..b956e9c 100644
--- a/chrome/version.gni
+++ b/chrome/version.gni
@@ -6,28 +6,48 @@
# an output file. This is used for generating various forms of files that
# incorporate the product name and version.
#
-# This template automatically includes VERSION, LASTCHANGE, and BRANDING,
+# This template automatically includes VERSION, LASTCHANGE, and BRANDING. It
+# automatically uses the template file .
+# GYP parameterizes this template file but all current invocations use this
+# same one. If in the future we need to set it, this should be added as an
+# optional argument.
+#
+# In GYP this is a rule that runs once per ".ver" file. In GN this just
+# processes one file per invocation of the template so you may have to have
+# multiple targets.
+#
+# You must specify either sources or a template_file, or both.
#
# Parameters:
-# source:
-# File name of source template file to read.
+# sources (optional):
+# List of file names to read. When converting a GYP target, this should
+# list the 'source' (see above) as well as any extra_variable_files.
#
# output:
-# File name of file to write.
+# File name of file to write. In GYP this is unspecified and it will
+# make up a file name for you based on the input name, and tack on
+# "_version.rc" to the end. But in GN you need to specify the full name.
+#
+# template_file (optional):
+# Template file to use (not a list). Defaults to
+# //chrome/app/chrome_version.rc.version if unspecified.
#
# extra_args (optional):
-# Extra arguments to pass to version.py.
+# Extra arguments to pass to version.py. Any "-f <filename>" args should
+# use sources instead.
#
# visibility (optional)
#
# Example:
# process_version("myversion") {
-# source = "myfile.h.in"
+# sources = [ "myfile.h.in" ]
# output = "$target_gen_dir/myfile.h"
# extra_args = ["-e", "FOO=42"]
+# extra_files = [ "foo/BRANDING" ]
# }
template("process_version") {
- assert(defined(invoker.source), "Source must be defined for $target_name")
+ assert(defined(invoker.sources) || defined(invoker.template_file),
+ "Either sources or template_file must be defined for $target_name")
assert(defined(invoker.output), "Output must be defined for $target_name")
action(target_name) {
@@ -43,33 +63,49 @@ template("process_version") {
} else {
branding_path = "//chrome/app/theme/chromium/BRANDING"
}
+ if (defined(invoker.template_file)) {
+ template_path = invoker.template_file
+ } else {
+ template_path = "//chrome/app/chrome_version.rc.version"
+ }
inputs = [
version_path,
- invoker.source,
lastchange_path,
branding_path,
+ template_path,
]
outputs = [
invoker.output,
]
- args = [
+ args = []
+
+ if (defined(invoker.sources)) {
+ inputs += invoker.sources
+ foreach(i, invoker.sources) {
+ args += [
+ "-f",
+ rebase_path(i, root_build_dir),
+ ]
+ }
+ }
+
+ args += [
"-f",
rebase_path(version_path, root_build_dir),
"-f",
rebase_path(branding_path, root_build_dir),
"-f",
rebase_path(lastchange_path, root_build_dir),
- "-i",
- rebase_path(invoker.source, root_build_dir),
- "-o",
- rebase_path(invoker.output, root_build_dir),
]
-
if (defined(invoker.extra_args)) {
args += invoker.extra_args
}
+ args += [
+ rebase_path(template_path, root_build_dir),
+ rebase_path(invoker.output, root_build_dir),
+ ]
}
}
diff --git a/chrome_elf/BUILD.gn b/chrome_elf/BUILD.gn
index 74a217f..092ba7a 100644
--- a/chrome_elf/BUILD.gn
+++ b/chrome_elf/BUILD.gn
@@ -6,12 +6,10 @@ import("//chrome/version.gni")
import("//testing/test.gni")
process_version("chrome_elf_resources") {
- source = "//chrome/app/chrome_version.rc.version"
- output = "$target_gen_dir/chrome_elf_version.rc"
- extra_args = [
- "-f",
- rebase_path("chrome_elf.ver"),
+ sources = [
+ "chrome_elf.ver",
]
+ output = "$target_gen_dir/chrome_elf_version.rc"
}
shared_library("chrome_elf") {
diff --git a/components/data_reduction_proxy/core/common/BUILD.gn b/components/data_reduction_proxy/core/common/BUILD.gn
index 4f760ae..674c361 100644
--- a/components/data_reduction_proxy/core/common/BUILD.gn
+++ b/components/data_reduction_proxy/core/common/BUILD.gn
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import("//components/data_reduction_proxy/core/common/version.gni")
+import("//chrome/version.gni")
static_library("common") {
sources = [
@@ -69,6 +69,6 @@ source_set("unit_tests") {
}
process_version("version_header") {
- source = "version.h.in"
+ template_file = "version.h.in"
output = "$target_gen_dir/version.h"
}
diff --git a/components/data_reduction_proxy/core/common/version.gni b/components/data_reduction_proxy/core/common/version.gni
deleted file mode 100644
index 48184d7..0000000
--- a/components/data_reduction_proxy/core/common/version.gni
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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.
-
-# Runs the version processing script over the given template file to produce
-# an output file. This is used for generating various forms of files that
-# incorporate the product name and version.
-#
-# This template automatically includes VERSION,
-#
-# Parameters:
-# source:
-# File name of source template file to read.
-#
-# output:
-# File name of file to write.
-#
-# visibility (optional)
-#
-# Example:
-# process_version("myversion") {
-# source = "myfile.h.in"
-# output = "$target_gen_dir/myfile.h"
-# }
-template("process_version") {
- assert(defined(invoker.source), "Source must be defined for $target_name")
- assert(defined(invoker.output), "Output must be defined for $target_name")
-
- action(target_name) {
- if (defined(invoker.visibility)) {
- visibility = invoker.visibility
- }
- script = "//build/util/version.py"
-
- version_path = "//chrome/VERSION"
-
- inputs = [
- version_path,
- invoker.source,
- ]
-
- outputs = [
- invoker.output,
- ]
-
- args = [
- "-f",
- rebase_path(version_path, root_build_dir),
- rebase_path(invoker.source, root_build_dir),
- rebase_path(invoker.output, root_build_dir),
- ]
- }
-}
diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
index d717197..6f99a8e 100644
--- a/crypto/BUILD.gn
+++ b/crypto/BUILD.gn
@@ -286,6 +286,14 @@ source_set("test_support") {
}
}
+config("platform_config") {
+ if (!use_openssl && is_clang) {
+ # There is a broken header guard in /usr/include/nss/secmod.h:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=884072
+ cflags = [ "-Wno-header-guard" ]
+ }
+}
+
# This is a meta-target that forwards to NSS's SSL library or OpenSSL,
# according to the state of the crypto flags. A target just wanting to depend
# on the current SSL library should just depend on this.
@@ -309,6 +317,7 @@ group("platform") {
# Therefore, we need to explicitly list our custom libssl's config here
# before the system one.
public_configs = [
+ ":platform_config",
"//net/third_party/nss/ssl:ssl_config",
"//third_party/nss:system_nss_no_ssl_config",
]
diff --git a/extensions/shell/BUILD.gn b/extensions/shell/BUILD.gn
index 89d2d24..cea781f 100644
--- a/extensions/shell/BUILD.gn
+++ b/extensions/shell/BUILD.gn
@@ -183,6 +183,6 @@ test("app_shell_unittests") {
}
process_version("version_header") {
- source = "common/version.h.in"
+ template_file = "common/version.h.in"
output = "$target_gen_dir/common/version.h"
}
diff --git a/media/cdm/ppapi/BUILD.gn b/media/cdm/ppapi/BUILD.gn
index 9a85bd3..5bcca69 100644
--- a/media/cdm/ppapi/BUILD.gn
+++ b/media/cdm/ppapi/BUILD.gn
@@ -3,6 +3,8 @@
# found in the LICENSE file.
import("//build/config/features.gni")
+import("//chrome/version.gni") # TODO layering violation!
+import("//media/cdm/ppapi/cdm_adapter.gni")
# Android doesn't use ffmpeg.
use_ffmpeg = !is_android
@@ -47,14 +49,34 @@ shared_library("clearkeycdm") {
# TODO(GYP) on Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
}
-# TODO(GYP): clearkeycdmadapter_resources
+clearkeycdmadapter_rc_file = "$target_gen_dir/clearkeycdmadapter_version.rc"
-group("clearkeycdmadapter") {
+process_version("clearkeycdmadapter_resources") {
+ visibility = [ ":*" ]
+ sources = [
+ "external_clear_key/BRANDING",
+ "//media/clearkeycdmadapter.ver",
+ ]
+ output = clearkeycdmadapter_rc_file
+}
+
+cdm_adapter("clearkeycdmadapter") {
+ sources = [
+ clearkeycdmadapter_rc_file,
+ ]
+
+ # Check whether the plugin's origin URL is valid.
+ defines = [ "CHECK_DOCUMENT_URL" ]
deps = [
- #":cdmadapter", TODO(GYP)
":clearkeycdm",
-
- #":clearkeycdmadapter_resources", TODO(GYP)
+ ":clearkeycdmadapter_resources",
"//ppapi/cpp",
]
+
+ if (is_posix && !is_mac && enable_pepper_cdms) {
+ # Because clearkeycdm has type 'loadable_module', we must explicitly
+ # specify this dependency.
+ ldflags = [ rebase_path("$root_out_dir/libclearkeycdm.so", root_build_dir) ]
+ libs = [ "rt" ]
+ }
}
diff --git a/media/cdm/ppapi/cdm_adapter.gni b/media/cdm/ppapi/cdm_adapter.gni
new file mode 100644
index 0000000..cee8ce6
--- /dev/null
+++ b/media/cdm/ppapi/cdm_adapter.gni
@@ -0,0 +1,129 @@
+# Copyright 2015 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.
+
+# This template defines a CDM adapter target. Just use this as you would a
+# normal target and everything should work correctly. If GYP, you would instead
+# depend on media/media_cdm_adapter.gyp:cdmadapter which would in turn modify
+# your target with direct_dependent_settings.
+template("cdm_adapter") {
+ # TODO(GYP) On Mac/Linux this should be a loadable_module.
+ shared_library(target_name) {
+ # Don't filter sources list again.
+ set_sources_assignment_filter([])
+
+ sources = [
+ "//media/cdm/ppapi/api/content_decryption_module.h",
+ "//media/cdm/ppapi/cdm_adapter.cc",
+ "//media/cdm/ppapi/cdm_adapter.h",
+ "//media/cdm/ppapi/cdm_file_io_impl.cc",
+ "//media/cdm/ppapi/cdm_file_io_impl.h",
+ "//media/cdm/ppapi/cdm_helpers.cc",
+ "//media/cdm/ppapi/cdm_helpers.h",
+ "//media/cdm/ppapi/cdm_logging.cc",
+ "//media/cdm/ppapi/cdm_logging.h",
+ "//media/cdm/ppapi/cdm_wrapper.h",
+ "//media/cdm/ppapi/linked_ptr.h",
+ "//media/cdm/ppapi/supported_cdm_versions.h",
+ ]
+ if (defined(invoker.sources)) {
+ sources += invoker.sources
+ }
+
+ if (is_mac) {
+ ldflags = [
+ # Not to strip important symbols by -Wl,-dead_strip.
+ "-Wl,-exported_symbol,_PPP_GetInterface",
+ "-Wl,-exported_symbol,_PPP_InitializeModule",
+ "-Wl,-exported_symbol,_PPP_ShutdownModule",
+ ]
+ #TODO(GYP) Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
+ } else if (is_posix && !is_mac) {
+ cflags = [ "-fvisibility=hidden" ]
+ # Note GYP sets rpath but this is set by default on shared libraries in
+ # the GN build.
+ }
+
+ # TODO(jschuh) crbug.com/167187
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (defined(invoker.all_dependent_configs)) {
+ all_dependent_configs = invoker.all_dependent_configs
+ }
+ if (defined(invoker.allow_circular_includes_from)) {
+ allow_circular_includes_from = invoker.allow_circular_includes_from
+ }
+ if (defined(invoker.cflags)) {
+ cflags = invoker.cflags
+ }
+ if (defined(invoker.cflags_c)) {
+ cflags_c = invoker.cflags_c
+ }
+ if (defined(invoker.cflags_cc)) {
+ cflags_cc = invoker.cflags_cc
+ }
+ if (defined(invoker.cflags_objc)) {
+ cflags_objc = invoker.cflags_objc
+ }
+ if (defined(invoker.cflags_objcc)) {
+ cflags_objcc = invoker.cflags_objcc
+ }
+ if (defined(invoker.check_includes)) {
+ check_includes = invoker.check_includes
+ }
+ if (defined(invoker.data)) {
+ data = invoker.data
+ }
+ if (defined(invoker.data_deps)) {
+ data_deps = invoker.data_deps
+ }
+ if (defined(invoker.datadeps)) {
+ datadeps = invoker.datadeps
+ }
+ if (defined(invoker.defines)) {
+ defines = invoker.defines
+ }
+ if (defined(invoker.deps)) {
+ deps = invoker.deps
+ }
+ if (defined(invoker.direct_dependent_configs)) {
+ direct_dependent_configs = invoker.direct_dependent_configs
+ }
+ if (defined(invoker.forward_dependent_configs_from)) {
+ forward_dependent_configs_from = invoker.forward_dependent_configs_from
+ }
+ if (defined(invoker.include_dirs)) {
+ include_dirs = invoker.include_dirs
+ }
+ if (defined(invoker.ldflags)) {
+ ldflags = invoker.ldflags
+ }
+ if (defined(invoker.lib_dirs)) {
+ lib_dirs = invoker.lib_dirs
+ }
+ if (defined(invoker.libs)) {
+ libs = invoker.libs
+ }
+ if (defined(invoker.output_extension)) {
+ output_extension = invoker.output_extension
+ }
+ if (defined(invoker.output_name)) {
+ output_name = invoker.output_name
+ }
+ if (defined(invoker.public)) {
+ public = invoker.public
+ }
+ if (defined(invoker.public_configs)) {
+ public_configs = invoker.public_configs
+ }
+ if (defined(invoker.public_deps)) {
+ public_deps = invoker.public_deps
+ }
+ if (defined(invoker.testonly)) {
+ testonly = invoker.testonly
+ }
+ if (defined(invoker.visibility)) {
+ visibility = invoker.visibility
+ }
+ }
+}
diff --git a/media/media_cdm.gypi b/media/media_cdm.gypi
index 85c8276..7d92732 100644
--- a/media/media_cdm.gypi
+++ b/media/media_cdm.gypi
@@ -98,6 +98,7 @@
'msvs_disabled_warnings': [ 4267, ],
},
{
+ # GN version: //media/cdm/ppapi:clearkeycdmadapter_resources
'target_name': 'clearkeycdmadapter_resources',
'type': 'none',
'conditions': [
diff --git a/media/media_cdm_adapter.gyp b/media/media_cdm_adapter.gyp
index bb21c96..d833819 100644
--- a/media/media_cdm_adapter.gyp
+++ b/media/media_cdm_adapter.gyp
@@ -16,8 +16,8 @@
['enable_pepper_cdms==1', {
'targets': [
{
- # For GN, we may want a template that defines a target of the right
- # type with the right dependencies.
+ # GN version: Use the template cdm_adapter in
+ # //media/cdm/ppapi/cdm_adapter.gni.
'target_name': 'cdmadapter',
'type': 'none',
'direct_dependent_settings': {
diff --git a/net/third_party/nss/ssl/BUILD.gn b/net/third_party/nss/ssl/BUILD.gn
index a40b71b..d8f7961 100644
--- a/net/third_party/nss/ssl/BUILD.gn
+++ b/net/third_party/nss/ssl/BUILD.gn
@@ -96,6 +96,10 @@ component("libssl") {
if (is_clang) {
# SSL triggers some of these Clang warnings.
configs -= [ "//build/config/clang:extra_warnings" ]
+
+ # There is a broken header guard in /usr/include/nss/secmod.h:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=884072
+ cflags = [ "-Wno-header-guard" ]
}
if (is_posix) {
diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn
index d322294..3fce784 100644
--- a/third_party/widevine/cdm/BUILD.gn
+++ b/third_party/widevine/cdm/BUILD.gn
@@ -2,6 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/features.gni")
+import("//chrome/version.gni") # TODO layering violation
+import("//media/cdm/ppapi/cdm_adapter.gni")
+
widevine_arch = current_cpu
if (widevine_arch == "x86") {
widevine_arch = "ia32"
@@ -70,26 +74,46 @@ if (widevine_cdm_binary_files == []) {
}
}
-source_set("adapter") {
- if (is_chrome_branded) {
+if (is_chrome_branded && enable_pepper_cdms) {
+ adapter_resource_file = "$target_gen_dir/widevinecdmadapter_version.rc"
+
+ # Produce the .rc file.
+ process_version("adapter_resources") {
+ visibility = [ ":*" ]
+ sources = [
+ "BRANDING",
+ "widevinecdmadapter.ver",
+ ]
+ output = adapter_resource_file
+ }
+
+ cdm_adapter("adapter") {
+ sources = [
+ adapter_resource_file,
+ ]
deps = [
- ":version_h",
+ ":adapter_resources",
":binaries",
+ ":version_h",
"//ppapi/cpp",
-
- #'<(DEPTH)/media/media_cdm_adapter.gyp:cdmadapter', TODO(GYP)
]
if (is_linux) {
- libs = [ rebase_path("$root_out_dir/libwidevinecdm.so", root_build_dir) ]
+ ldflags =
+ [ rebase_path("$root_out_dir/libwidevinecdm.so", root_build_dir) ]
+ libs = [ "rt" ]
} else if (is_win) {
- libs =
+ ldflags =
[ rebase_path("$root_out_dir/widevinecdm.dll.lib", root_build_dir) ]
} else if (is_mac) {
- libs =
+ ldflags =
[ rebase_path("$root_out_dir/libwidevinecdm.dylib", root_build_dir) ]
}
}
+} else {
+ # Placeholder when we're not compiling the adapter.
+ group("adapter") {
+ }
}
# This target exists for tests to depend on that pulls in a runtime dependency
diff --git a/third_party/widevine/cdm/widevine_cdm.gyp b/third_party/widevine/cdm/widevine_cdm.gyp
index d21d3474..eacbdb3 100644
--- a/third_party/widevine/cdm/widevine_cdm.gyp
+++ b/third_party/widevine/cdm/widevine_cdm.gyp
@@ -54,6 +54,7 @@
# anything to be done in this file (instead of a higher-level .gyp file).
'targets': [
{
+ # GN version: //third_party/widevine/cdm:adapter_resources
'target_name': 'widevinecdmadapter_resources',
'type': 'none',
'conditions': [