| # 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) { |
| 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_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", |
| ] |
| } |
| } |