Build with the system jsoncpp instead of the bundled one. Adapted from Debian: https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/system/jsoncpp.patch diff --git a/third_party/jsoncpp/BUILD.gn b/third_party/jsoncpp/BUILD.gn --- a/third_party/jsoncpp/BUILD.gn +++ b/third_party/jsoncpp/BUILD.gn @@ -3,52 +3,14 @@ # found in the LICENSE file. import("//testing/libfuzzer/fuzzer_test.gni") +import("//build/config/linux/pkg_config.gni") -config("jsoncpp_config") { - include_dirs = [ - "source/include", - "generated", - ] - - # TODO(crbug.com/983223): Update JsonCpp BUILD.gn to remove deprecated - # declaration flag. - # This temporary flag allowing clients to update to the new version, and then - # update to the new StreamWriter and CharReader classes. - if (!is_win || is_clang) { - cflags_cc = [ "-Wno-deprecated-declarations" ] - } +pkg_config("jsoncpp_config") { + packages = [ "jsoncpp" ] } -source_set("jsoncpp") { - sources = [ - "generated/version.h", - "source/include/json/assertions.h", - "source/include/json/autolink.h", - "source/include/json/config.h", - "source/include/json/features.h", - "source/include/json/forwards.h", - "source/include/json/json.h", - "source/include/json/reader.h", - "source/include/json/value.h", - "source/include/json/writer.h", - "source/src/lib_json/json_reader.cpp", - "source/src/lib_json/json_tool.h", - "source/src/lib_json/json_value.cpp", - "source/src/lib_json/json_writer.cpp", - ] - +group("jsoncpp") { public_configs = [ ":jsoncpp_config" ] - - defines = [ - "JSON_USE_EXCEPTION=0", - "JSON_USE_NULLREF=0", - ] - - include_dirs = [ "source/src/lib_json" ] - - if (!is_win || is_clang) { - cflags_cc = [ "-Wno-implicit-fallthrough" ] - } } if (build_with_chromium) {