| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//testing/test.gni") | 5 import("//testing/test.gni") |
| 6 import("//url/config.gni") | |
| 7 | 6 |
| 8 # Sets the USE_ICU_ALTERNATIVES_ON_ANDROID define based on the build flag. | 7 if (is_android) { |
| 9 config("url_icu_config") { | 8 import("//build/config/android/rules.gni") |
| 10 if (use_icu_alternatives_on_android) { | |
| 11 defines = [ "USE_ICU_ALTERNATIVES_ON_ANDROID=1" ] | |
| 12 } | |
| 13 } | 9 } |
| 14 | 10 |
| 11 # The list of url files is kept in url_srcs.gypi. Read it. |
| 12 url_srcs = exec_script("//build/gypi_to_gn.py", |
| 13 [ rebase_path("url_srcs.gypi") ], |
| 14 "scope", |
| 15 [ "url_srcs.gypi" ]) |
| 16 |
| 15 component("url") { | 17 component("url") { |
| 16 if (is_win) { | 18 if (is_win) { |
| 17 # Don't conflict with Windows' "url.dll". | 19 # Don't conflict with Windows' "url.dll". |
| 18 output_name = "url_lib" | 20 output_name = "url_lib" |
| 19 } | 21 } |
| 20 sources = [ | 22 |
| 21 "android/url_jni_registrar.cc", | 23 sources = url_srcs.gurl_sources |
| 22 "android/url_jni_registrar.h", | |
| 23 "gurl.cc", | |
| 24 "gurl.h", | |
| 25 "origin.cc", | |
| 26 "origin.h", | |
| 27 "scheme_host_port.cc", | |
| 28 "scheme_host_port.h", | |
| 29 "third_party/mozilla/url_parse.cc", | |
| 30 "third_party/mozilla/url_parse.h", | |
| 31 "url_canon.h", | |
| 32 "url_canon_etc.cc", | |
| 33 "url_canon_filesystemurl.cc", | |
| 34 "url_canon_fileurl.cc", | |
| 35 "url_canon_host.cc", | |
| 36 "url_canon_icu.cc", | |
| 37 "url_canon_icu.h", | |
| 38 "url_canon_internal.cc", | |
| 39 "url_canon_internal.h", | |
| 40 "url_canon_internal_file.h", | |
| 41 "url_canon_ip.cc", | |
| 42 "url_canon_ip.h", | |
| 43 "url_canon_mailtourl.cc", | |
| 44 "url_canon_path.cc", | |
| 45 "url_canon_pathurl.cc", | |
| 46 "url_canon_query.cc", | |
| 47 "url_canon_relative.cc", | |
| 48 "url_canon_stdstring.cc", | |
| 49 "url_canon_stdstring.h", | |
| 50 "url_canon_stdurl.cc", | |
| 51 "url_constants.cc", | |
| 52 "url_constants.h", | |
| 53 "url_export.h", | |
| 54 "url_file.h", | |
| 55 "url_parse_file.cc", | |
| 56 "url_parse_internal.h", | |
| 57 "url_util.cc", | |
| 58 "url_util.h", | |
| 59 ] | |
| 60 | 24 |
| 61 defines = [ "URL_IMPLEMENTATION" ] | 25 defines = [ "URL_IMPLEMENTATION" ] |
| 62 | 26 |
| 63 configs += [ | 27 configs += [ |
| 64 ":url_icu_config", | |
| 65 | |
| 66 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | 28 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 67 "//build/config/compiler:no_size_t_to_int_warning", | 29 "//build/config/compiler:no_size_t_to_int_warning", |
| 68 ] | 30 ] |
| 69 | 31 |
| 70 deps = [ | 32 deps = [ |
| 71 "//base", | 33 "//base", |
| 72 "//base/third_party/dynamic_annotations", | 34 "//base/third_party/dynamic_annotations", |
| 73 "//third_party/icu:icudata", | 35 "//third_party/icu:icudata", |
| 74 "//third_party/icu", | 36 "//third_party/icu", |
| 75 ] | 37 ] |
| 38 } |
| 76 | 39 |
| 77 if (use_icu_alternatives_on_android) { | 40 if (is_android) { |
| 41 generate_jni("url_jni_headers") { |
| 42 sources = [ |
| 43 "android/java/src/org/chromium/url/IDNStringUtil.java", |
| 44 ] |
| 45 jni_package = "url" |
| 46 } |
| 47 } |
| 48 |
| 49 if (is_android) { |
| 50 component("url_lib_use_icu_alternatives_on_android") { |
| 51 sources = url_srcs.gurl_sources + [ |
| 52 "url_canon_icu_alternatives_android.cc", |
| 53 "url_canon_icu_alternatives_android.h", |
| 54 ] |
| 55 |
| 78 sources -= [ | 56 sources -= [ |
| 79 "url_canon_icu.cc", | 57 "url_canon_icu.cc", |
| 80 "url_canon_icu.h", | 58 "url_canon_icu.h", |
| 81 ] | 59 ] |
| 82 deps -= [ | 60 defines = [ |
| 83 "//third_party/icu:icudata", | 61 "URL_IMPLEMENTATION", |
| 84 "//third_party/icu", | 62 "USE_ICU_ALTERNATIVES_ON_ANDROID=1", |
| 85 ] | 63 ] |
| 86 | 64 |
| 87 sources += [ | 65 configs += [ |
| 88 "url_canon_icu_alternatives_android.cc", | 66 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 89 "url_canon_icu_alternatives_android.h", | 67 "//build/config/compiler:no_size_t_to_int_warning", |
| 68 ] |
| 69 |
| 70 deps = [ |
| 71 "//base", |
| 72 "//base/third_party/dynamic_annotations", |
| 73 ":url_jni_headers", |
| 90 ] | 74 ] |
| 91 } | 75 } |
| 92 } | 76 } |
| 93 | 77 |
| 94 # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. | 78 # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. |
| 95 if (!is_android) { | 79 if (!is_android) { |
| 96 # TODO(GYP): Delete this after we've converted everything to GN. | 80 # TODO(GYP): Delete this after we've converted everything to GN. |
| 97 # The _run targets exist only for compatibility w/ GYP. | 81 # The _run targets exist only for compatibility w/ GYP. |
| 98 group("url_unittests_run") { | 82 group("url_unittests_run") { |
| 99 testonly = true | 83 testonly = true |
| (...skipping 23 matching lines...) Expand all Loading... |
| 123 # } | 107 # } |
| 124 #} | 108 #} |
| 125 | 109 |
| 126 deps = [ | 110 deps = [ |
| 127 ":url", | 111 ":url", |
| 128 "//base", | 112 "//base", |
| 129 "//base/test:run_all_unittests", | 113 "//base/test:run_all_unittests", |
| 130 "//testing/gtest", | 114 "//testing/gtest", |
| 131 "//third_party/icu:icuuc", | 115 "//third_party/icu:icuuc", |
| 132 ] | 116 ] |
| 133 | |
| 134 if (use_icu_alternatives_on_android) { | |
| 135 sources -= [ "url_canon_icu_unittest.cc" ] | |
| 136 deps -= [ "//third_party/icu:icuuc" ] | |
| 137 } | |
| 138 } | 117 } |
| 139 } | 118 } |
| OLD | NEW |