# 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. import("//testing/test.gni") if (is_android) { import("//build/config/android/rules.gni") } # Shared sources between url and url_lib_use_icu_alternatives_on_android. url_shared_sources = [ "gurl.cc", "gurl.h", "origin.cc", "origin.h", "scheme_host_port.cc", "scheme_host_port.h", "third_party/mozilla/url_parse.cc", "third_party/mozilla/url_parse.h", "url_canon.h", "url_canon_etc.cc", "url_canon_filesystemurl.cc", "url_canon_fileurl.cc", "url_canon_host.cc", "url_canon_internal.cc", "url_canon_internal.h", "url_canon_internal_file.h", "url_canon_ip.cc", "url_canon_ip.h", "url_canon_mailtourl.cc", "url_canon_path.cc", "url_canon_pathurl.cc", "url_canon_query.cc", "url_canon_relative.cc", "url_canon_stdstring.cc", "url_canon_stdstring.h", "url_canon_stdurl.cc", "url_constants.cc", "url_constants.h", "url_export.h", "url_file.h", "url_parse_file.cc", "url_parse_internal.h", "url_util.cc", "url_util.h", ] component("url") { sources = url_shared_sources + [ "url_canon_icu.cc", "url_canon_icu.h", ] if (is_win) { # Don't conflict with Windows' "url.dll". output_name = "url_lib" } defines = [ "URL_IMPLEMENTATION" ] configs += [ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. "//build/config/compiler:no_size_t_to_int_warning", ] deps = [ "//base", "//base/third_party/dynamic_annotations", "//third_party/icu", "//third_party/icu:icudata", ] } if (is_android) { android_library("url_java") { java_files = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ] deps = [ "//base:base_java", ] } generate_jni("url_jni_headers") { sources = [ "android/java/src/org/chromium/url/IDNStringUtil.java", ] jni_package = "url" } component("url_lib_use_icu_alternatives_on_android") { sources = url_shared_sources + [ "android/url_jni_registrar.cc", "android/url_jni_registrar.h", "url_canon_icu_alternatives_android.cc", "url_canon_icu_alternatives_android.h", ] defines = [ "URL_IMPLEMENTATION", "USE_ICU_ALTERNATIVES_ON_ANDROID=1", ] configs += [ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. "//build/config/compiler:no_size_t_to_int_warning", ] deps = [ ":url_java", ":url_jni_headers", "//base", "//base/third_party/dynamic_annotations", ] } } test("url_unittests") { sources = [ "gurl_unittest.cc", "origin_unittest.cc", "run_all_unittests.cc", "scheme_host_port_unittest.cc", "url_canon_icu_unittest.cc", "url_canon_unittest.cc", "url_parse_unittest.cc", "url_test_utils.h", "url_util_unittest.cc", ] if (!is_ios) { sources += [ "mojo/url_gurl_struct_traits_unittest.cc" ] } # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] deps = [ ":url", "//base", "//base/test:test_support", "//testing/gtest", "//third_party/icu:icuuc", ] if (!is_ios) { deps += [ "//mojo/edk/system", "//mojo/edk/test:test_support", "//url/mojo:test_url_mojom_gurl", ] } }