# 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") { DEPRECATED_java_in_dir = "android/java/src" 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", ] } } # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. if (!is_android) { # TODO(GYP): Delete this after we've converted everything to GN. # The _run targets exist only for compatibility w/ GYP. group("url_unittests_run") { testonly = true deps = [ ":url_unittests", ] } test("url_unittests") { sources = [ "gurl_unittest.cc", "origin_unittest.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", ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] #if (is_posix && !is_mac && !is_ios) { # if (use_allocator!="none") { # deps += "//base/allocator" # } #} deps = [ ":url", "//base", "//base/test:run_all_unittests", "//testing/gtest", "//third_party/icu:icuuc", ] } }