Blob Blame History Raw
diff -up chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn.gnsystem	2016-09-06 13:27:56.018365168 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn	2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,9 @@
+# Copyright 2016 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.
+
+source_set("libjpeg") {
+  libs = [
+    "jpeg",
+  ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/libpng.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libpng.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libpng.gn.gnsystem	2016-09-06 13:27:56.018365168 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libpng.gn	2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,25 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libpng") {
+  packages = [ "libpng" ]
+}
+
+shim_headers("libpng_shim") {
+  root_path = "include"
+  headers = [
+    "png.h",
+    "pngconf.h",
+  ]
+}
+
+source_set("libpng") {
+  deps = [
+    ":libpng_shim",
+  ]
+  public_configs = [ ":system_libpng" ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/libusb.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libusb.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libusb.gn.gnsystem	2016-09-06 13:27:56.019365149 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libusb.gn	2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,24 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libusb") {
+  packages = [ "libusb-1.0" ]
+}
+
+shim_headers("libusb_shim") {
+  root_path = "src/libusb"
+  headers = [
+    "libusb.h",
+  ]
+}
+
+source_set("libusb") {
+  deps = [
+    ":libusb_shim",
+  ]
+  public_configs = [ ":system_libusb" ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/opus.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/opus.gn
--- chromium-53.0.2785.92/build/linux/unbundle/opus.gn.gnsystem	2016-09-06 13:27:56.019365149 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/opus.gn	2016-09-06 13:31:11.546589545 -0400
@@ -0,0 +1,161 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+import("//testing/test.gni")
+
+pkg_config("system_opus") {
+  packages = [ "opus" ]
+}
+
+shim_headers("opus_shim") {
+  root_path = "src/include"
+  headers = [
+    "opus_custom.h",
+    "opus_defines.h",
+    "opus_multistream.h",
+    "opus_types.h",
+    "opus.h",
+  ]
+}
+
+source_set("opus") {
+  deps = [
+    ":opus_shim",
+  ]
+  public_configs = [ ":system_opus" ]
+}
+
+config("opus_test_config") {
+  include_dirs = [
+    "src/celt",
+    "src/silk",
+  ]
+
+  if (is_win) {
+    defines = [ "inline=__inline" ]
+  }
+  if (is_android) {
+    libs = [ "log" ]
+  }
+  if (is_clang) {
+    cflags = [ "-Wno-absolute-value" ]
+  }
+}
+
+executable("opus_compare") {
+  sources = [
+    "src/src/opus_compare.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+  ]
+
+  deps = [
+    ":opus",
+    "//build/config/sanitizers:deps",
+    "//build/win:default_exe_manifest",
+  ]
+}
+
+executable("opus_demo") {
+  sources = [
+    "src/src/opus_demo.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+  ]
+
+  deps = [
+    ":opus",
+    "//build/config/sanitizers:deps",
+    "//build/win:default_exe_manifest",
+  ]
+}
+
+test("test_opus_api") {
+  sources = [
+    "src/tests/test_opus_api.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+  ]
+
+  deps = [
+    ":opus",
+  ]
+}
+
+test("test_opus_encode") {
+  sources = [
+    "src/tests/test_opus_encode.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+  ]
+
+  deps = [
+    ":opus",
+  ]
+}
+
+# GN orders flags on a target before flags from configs. The default config
+# adds -Wall, and this flag have to be after -Wall -- so they need to
+# come from a config and can't be on the target directly.
+config("test_opus_decode_config") {
+  # test_opus_decode passes a null pointer to opus_decode() for an argument
+  # marked as requiring a non-null value by the nonnull function attribute,
+  # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid
+  # a compilation error if -Werror is specified.
+  if (is_posix) {
+    cflags = [ "-Wno-nonnull" ]
+  }
+}
+
+test("test_opus_decode") {
+  sources = [
+    "src/tests/test_opus_decode.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+    ":test_opus_decode_config",
+  ]
+
+  deps = [
+    ":opus",
+  ]
+}
+
+test("test_opus_padding") {
+  sources = [
+    "src/tests/test_opus_padding.c",
+  ]
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":opus_test_config",
+  ]
+
+  deps = [
+    ":opus",
+  ]
+}
+
diff -up chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py
--- chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py.gnsystem	2016-09-02 15:02:02.000000000 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py	2016-09-06 13:27:56.020365130 -0400
@@ -21,9 +21,13 @@ REPLACEMENTS = {
   'flac': 'third_party/flac/BUILD.gn',
   'harfbuzz-ng': 'third_party/harfbuzz-ng/BUILD.gn',
   'libevent': 'base/third_party/libevent/BUILD.gn',
+  'libjpeg': 'third_party/libjpeg/BUILD.gn',
+  'libpng': 'third_party/libpng/BUILD.gn',
+  'libusb': 'third_party/libusb/BUILD.gn',
   'libwebp': 'third_party/libwebp/BUILD.gn',
   'libxml': 'third_party/libxml/BUILD.gn',
   'libxslt': 'third_party/libxslt/BUILD.gn',
+  'opus': 'third_party/opus/BUILD.gn',
   'snappy': 'third_party/snappy/BUILD.gn',
   'yasm': 'third_party/yasm/yasm_assemble.gni',
   'zlib': 'third_party/zlib/BUILD.gn',