blob: 6f5d9037f1ff58417e8131e2cb654effae7ad2c9 [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("//tools/grit/grit_rule.gni")
libaddressinput_util_files = [
"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/json.cc",
"src/cpp/src/util/string_split.cc",
"src/cpp/src/util/string_util.cc",
]
# GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput_strings
grit("strings") {
source = "//chrome/app/address_input_strings.grd"
outputs = [
"messages.h",
"en_messages.cc",
"address_input_strings_am.pak",
"address_input_strings_ar.pak",
"address_input_strings_bg.pak",
"address_input_strings_bn.pak",
"address_input_strings_ca.pak",
"address_input_strings_cs.pak",
"address_input_strings_da.pak",
"address_input_strings_de.pak",
"address_input_strings_el.pak",
"address_input_strings_en-GB.pak",
"address_input_strings_en-US.pak",
"address_input_strings_es.pak",
"address_input_strings_es-419.pak",
"address_input_strings_et.pak",
"address_input_strings_fa.pak",
"address_input_strings_fake-bidi.pak",
"address_input_strings_fi.pak",
"address_input_strings_fil.pak",
"address_input_strings_fr.pak",
"address_input_strings_gu.pak",
"address_input_strings_he.pak",
"address_input_strings_hi.pak",
"address_input_strings_hr.pak",
"address_input_strings_hu.pak",
"address_input_strings_id.pak",
"address_input_strings_it.pak",
"address_input_strings_ja.pak",
"address_input_strings_kn.pak",
"address_input_strings_ko.pak",
"address_input_strings_lt.pak",
"address_input_strings_lv.pak",
"address_input_strings_ml.pak",
"address_input_strings_mr.pak",
"address_input_strings_ms.pak",
"address_input_strings_nl.pak",
"address_input_strings_nb.pak",
"address_input_strings_pl.pak",
"address_input_strings_pt-BR.pak",
"address_input_strings_pt-PT.pak",
"address_input_strings_ro.pak",
"address_input_strings_ru.pak",
"address_input_strings_sk.pak",
"address_input_strings_sl.pak",
"address_input_strings_sr.pak",
"address_input_strings_sv.pak",
"address_input_strings_sw.pak",
"address_input_strings_ta.pak",
"address_input_strings_te.pak",
"address_input_strings_th.pak",
"address_input_strings_tr.pak",
"address_input_strings_uk.pak",
"address_input_strings_vi.pak",
"address_input_strings_zh-CN.pak",
"address_input_strings_zh-TW.pak",
]
}
config("libaddressinput_config") {
defines = [
"I18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1",
"I18N_ADDRESS_VALIDATION_DATA_URL=\"https://i18napis.appspot.com/ssl-aggregate-address/\"",
]
include_dirs = [
"src/cpp/include",
"chromium/override",
]
}
# This target provides basic functionality which is cooked into the build.
# GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput_util
static_library("util") {
sources = libaddressinput_util_files
sources += [
"chromium/addressinput_util.cc",
"chromium/json.cc",
]
sources -= [
"src/cpp/src/util/json.cc",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//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",
]
}
if (is_android) {
import("//build/config/android/rules.gni")
# GYP: //third_party/libaddressinput/libaddressinput.gyp:libaddressinput_android_strings_grd
java_strings_grd("libaddressinput_android_strings_grd") {
grd_file = "//chrome/app/address_input_strings_android.grd"
outputs = [
"values-am/address_input_strings.xml",
"values-ar/address_input_strings.xml",
"values-bg/address_input_strings.xml",
"values-ca/address_input_strings.xml",
"values-cs/address_input_strings.xml",
"values-da/address_input_strings.xml",
"values-de/address_input_strings.xml",
"values-el/address_input_strings.xml",
"values-en-rGB/address_input_strings.xml",
"values-es-rUS/address_input_strings.xml",
"values-es/address_input_strings.xml",
"values-fa/address_input_strings.xml",
"values-fi/address_input_strings.xml",
"values-fr/address_input_strings.xml",
"values-hi/address_input_strings.xml",
"values-hr/address_input_strings.xml",
"values-hu/address_input_strings.xml",
"values-in/address_input_strings.xml",
"values-it/address_input_strings.xml",
"values-iw/address_input_strings.xml",
"values-ja/address_input_strings.xml",
"values-ko/address_input_strings.xml",
"values-lt/address_input_strings.xml",
"values-lv/address_input_strings.xml",
"values-nb/address_input_strings.xml",
"values-nl/address_input_strings.xml",
"values-pl/address_input_strings.xml",
"values-pt-rBR/address_input_strings.xml",
"values-pt-rPT/address_input_strings.xml",
"values-ro/address_input_strings.xml",
"values-ru/address_input_strings.xml",
"values-sk/address_input_strings.xml",
"values-sl/address_input_strings.xml",
"values-sr/address_input_strings.xml",
"values-sv/address_input_strings.xml",
"values-sw/address_input_strings.xml",
"values-th/address_input_strings.xml",
"values-tl/address_input_strings.xml",
"values-tr/address_input_strings.xml",
"values-uk/address_input_strings.xml",
"values-vi/address_input_strings.xml",
"values-zh-rCN/address_input_strings.xml",
"values-zh-rTW/address_input_strings.xml",
"values/address_input_strings.xml",
]
}
android_resources("android_addressinput_widget_resources") {
custom_package = "com.android.i18n.addressinput"
resource_dirs = [ "src/java/res" ]
v14_verify_only = true
}
# GYP: //third_party/libaddressinput/libaddressinput.gyp:android_addressinput_widget
android_library("android_addressinput_widget_java") {
DEPRECATED_java_in_dir = "src/java/src"
deps = [
":android_addressinput_widget_resources",
":libaddressinput_android_strings_grd",
]
}
} else {
# The list of files in libaddressinput.gypi.
gypi_values = exec_script(
"//build/gypi_to_gn.py",
[ rebase_path("src/cpp/libaddressinput.gypi") ],
"scope",
[ "src/cpp/libaddressinput.gypi" ])
# This target provides more complicated functionality like pinging servers
# for validation rules.
# GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput
static_library("libaddressinput") {
sources = rebase_path(gypi_values.libaddressinput_files, ".", "src/cpp")
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",
]
sources -= libaddressinput_util_files
sources -= [
"src/cpp/src/util/string_compare.cc",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_configs = [ ":libaddressinput_config" ]
deps = [
":strings",
":util",
"//base",
"//base:i18n",
"//third_party/icu",
"//third_party/re2",
]
}
test("libaddressinput_unittests") {
sources = rebase_path(
gypi_values.libaddressinput_test_files, ".", "src/cpp")
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",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
defines = [
"TEST_DATA_DIR=\"third_party/libaddressinput/src/testdata\"",
]
include_dirs = [
"src/cpp/src",
]
deps = [
":libaddressinput",
":strings",
"//base:prefs",
"//base/test:run_all_unittests",
"//net:test_support",
"//testing/gtest",
]
}
}