# Copyright (c) 2013 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("json") {
  sources = [
    "json_file_value_serializer.cc",
    "json_file_value_serializer.h",
    "json_parser.cc",
    "json_parser.h",
    "json_reader.cc",
    "json_reader.h",
    "json_string_value_serializer.cc",
    "json_string_value_serializer.h",
    "json_value_converter.cc",
    "json_value_converter.h",
    "json_writer.cc",
    "json_writer.h",
    "string_escape.cc",
    "string_escape.h",
  ]

  if (is_nacl) {
    sources -= [
      "json_file_value_serializer.cc",
      "json_file_value_serializer.h",
    ]
  }

  configs += [ "//base:base_implementation" ]

  deps = [
    "//base/memory",
  ]

  visibility = [ "//base/*" ]
}
