blob: 5eaa8607baddf54f481c3e8261542aac0dc6c7e7 [file] [log] [blame]
# 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.
import("//testing/test.gni")
import("//build/config/locales.gni")
import("//tools/grit/grit_rule.gni")
config("no-newline-eof-warning") {
if (is_clang) {
cflags = [ "-Wno-newline-eof" ]
}
}
grit("strings") {
source = "//chrome/app/address_input_strings.grd"
outputs = [
"messages.h",
"en_messages.cc",
]
foreach(locale, locales_with_fake_bidi) {
outputs += [ "address_input_strings_$locale.pak" ]
}
configs = [ ":no-newline-eof-warning" ]
}
config("libaddressinput_config") {
defines = [
"I18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1",
"I18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\"",
]
include_dirs = [
"src/cpp/include",
"chromium/override",
]
}
# This target provides basic functionality which is cooked into the build.
static_library("util") {
sources = [
"chromium/addressinput_util.cc",
"chromium/json.cc",
"src/cpp/src/address_data.cc",
"src/cpp/src/address_field.cc",
"src/cpp/src/address_field_util.cc",
"src/cpp/src/address_formatter.cc",
"src/cpp/src/address_metadata.cc",
"src/cpp/src/address_ui.cc",
"src/cpp/src/format_element.cc",
"src/cpp/src/language.cc",
"src/cpp/src/localization.cc",
"src/cpp/src/lookup_key.cc",
"src/cpp/src/region_data_constants.cc",
"src/cpp/src/rule.cc",
"src/cpp/src/util/cctype_tolower_equal.cc",
"src/cpp/src/util/string_split.cc",
"src/cpp/src/util/string_util.cc",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [
":no-newline-eof-warning",
"//build/config/compiler:no_chromium_code",
]
public_configs = [ ":libaddressinput_config" ]
include_dirs = [ "$root_gen_dir/third_party/libaddressinput" ]
deps = [
":strings",
"//base",
"//base:i18n",
"//third_party/icu",
"//third_party/re2",
]
}
# This target provides more complicated functionality like pinging servers
# for validation rules.
static_library("libaddressinput") {
sources = [
"chromium/chrome_address_validator.cc",
"chromium/chrome_metadata_source.cc",
"chromium/chrome_storage_impl.cc",
"chromium/fallback_data_store.cc",
"chromium/input_suggester.cc",
"chromium/string_compare.cc",
"chromium/trie.cc",
"src/cpp/src/address_input_helper.cc",
"src/cpp/src/address_normalizer.cc",
"src/cpp/src/address_problem.cc",
"src/cpp/src/address_validator.cc",
"src/cpp/src/null_storage.cc",
"src/cpp/src/ondemand_supplier.cc",
"src/cpp/src/ondemand_supply_task.cc",
"src/cpp/src/post_box_matchers.cc",
"src/cpp/src/preload_supplier.cc",
"src/cpp/src/region_data.cc",
"src/cpp/src/region_data_builder.cc",
"src/cpp/src/retriever.cc",
"src/cpp/src/rule_retriever.cc",
"src/cpp/src/util/md5.cc",
"src/cpp/src/validating_storage.cc",
"src/cpp/src/validating_util.cc",
"src/cpp/src/validation_task.cc",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_configs = [ ":libaddressinput_config" ]
deps = [
":strings",
":util",
"//base",
"//base:i18n",
"//components/prefs",
"//net",
"//third_party/icu",
"//third_party/re2",
]
}
test("libaddressinput_unittests") {
sources = [
"chromium/addressinput_util_unittest.cc",
"chromium/chrome_address_validator_unittest.cc",
"chromium/chrome_metadata_source_unittest.cc",
"chromium/chrome_storage_impl_unittest.cc",
"chromium/fallback_data_store_unittest.cc",
"chromium/storage_test_runner.cc",
"chromium/string_compare_unittest.cc",
"chromium/trie_unittest.cc",
"src/cpp/test/address_data_test.cc",
"src/cpp/test/address_field_test.cc",
"src/cpp/test/address_field_util_test.cc",
"src/cpp/test/address_formatter_test.cc",
"src/cpp/test/address_input_helper_test.cc",
"src/cpp/test/address_metadata_test.cc",
"src/cpp/test/address_normalizer_test.cc",
"src/cpp/test/address_problem_test.cc",
"src/cpp/test/address_ui_test.cc",
"src/cpp/test/address_validator_test.cc",
"src/cpp/test/fake_storage.cc",
"src/cpp/test/fake_storage_test.cc",
"src/cpp/test/format_element_test.cc",
"src/cpp/test/language_test.cc",
"src/cpp/test/localization_test.cc",
"src/cpp/test/lookup_key_test.cc",
"src/cpp/test/mock_source.cc",
"src/cpp/test/null_storage_test.cc",
"src/cpp/test/ondemand_supply_task_test.cc",
"src/cpp/test/post_box_matchers_test.cc",
"src/cpp/test/preload_supplier_test.cc",
"src/cpp/test/region_data_builder_test.cc",
"src/cpp/test/region_data_constants_test.cc",
"src/cpp/test/region_data_test.cc",
"src/cpp/test/retriever_test.cc",
"src/cpp/test/rule_retriever_test.cc",
"src/cpp/test/rule_test.cc",
"src/cpp/test/supplier_test.cc",
"src/cpp/test/testdata_source.cc",
"src/cpp/test/testdata_source_test.cc",
"src/cpp/test/util/json_test.cc",
"src/cpp/test/util/md5_unittest.cc",
"src/cpp/test/util/scoped_ptr_unittest.cc",
"src/cpp/test/util/string_compare_test.cc",
"src/cpp/test/util/string_split_unittest.cc",
"src/cpp/test/util/string_util_test.cc",
"src/cpp/test/validating_storage_test.cc",
"src/cpp/test/validating_util_test.cc",
"src/cpp/test/validation_task_test.cc",
]
if (is_ios) {
# TODO(rouslan): This tests uses ASSERT_DEATH which is not supported on
# iOS. Re-enable once http://crbug.com/595645 is fixed.
sources -= [ "src/cpp/test/address_data_test.cc" ]
}
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
defines = [ "TEST_DATA_DIR=\"src/third_party/libaddressinput/src/testdata\"" ]
include_dirs = [ "src/cpp/src" ]
deps = [
":libaddressinput",
":strings",
"//base/test:run_all_unittests",
"//components/prefs",
"//net:test_support",
"//testing/gtest",
]
}