diff -up chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn --- build/linux/unbundle/libjpeg.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 +++ build/linux/unbundle/libjpeg.gn 2017-07-31 10:38:25.879951641 -0400 @@ -16,6 +16,10 @@ source_set("libjpeg") { libs = [ "jpeg" ] } +config("system_libjpeg") { + defines = [ "USE_SYSTEM_LIBJPEG=1" ] +} + source_set("simd") { } diff -up chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libusb.gn --- build/linux/unbundle/libusb.gn.gnsystem 2017-07-31 10:38:25.880951622 -0400 +++ build/linux/unbundle/libusb.gn 2017-07-31 10:38:25.879951641 -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-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/opus.gn --- build/linux/unbundle/opus.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 +++ build/linux/unbundle/opus.gn 2017-07-31 10:38:25.880951622 -0400 @@ -1,3 +1,164 @@ +# 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", + ] +} + # Copyright 2017 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. diff -up chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py --- build/linux/unbundle/replace_gn_files.py.gnsystem 2017-07-31 10:38:25.880951622 -0400 +++ build/linux/unbundle/replace_gn_files.py 2017-07-31 10:39:58.067159914 -0400 @@ -26,6 +26,7 @@ REPLACEMENTS = { 'libevent': 'base/third_party/libevent/BUILD.gn', 'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn', 'libpng': 'third_party/libpng/BUILD.gn', + 'libusb': 'third_party/libusb/BUILD.gn', 'libvpx': 'third_party/libvpx/BUILD.gn', 'libwebp': 'third_party/libwebp/BUILD.gn', 'libxml': 'third_party/libxml/BUILD.gn',