Home | History | Annotate | Download | only in url
      1 # Copyright 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9   'includes': [
     10     'url_srcs.gypi',
     11   ],
     12   'targets': [
     13     {
     14       # Note, this target_name cannot be 'url', because that will generate
     15       # 'url.dll' for a Windows component build, and that will confuse Windows,
     16       # which has a system DLL with the same name.
     17       'target_name': 'url_lib',
     18       'type': '<(component)',
     19       'dependencies': [
     20         '../base/base.gyp:base',
     21         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     22         '../third_party/icu/icu.gyp:icui18n',
     23         '../third_party/icu/icu.gyp:icuuc',
     24       ],
     25       'sources': [
     26         '<@(gurl_sources)',
     27       ],
     28       'direct_dependent_settings': {
     29         'include_dirs': [
     30           '..',
     31         ],
     32       },
     33       'defines': [
     34         'URL_IMPLEMENTATION',
     35       ],
     36       'conditions': [
     37         ['use_icu_alternatives_on_android==1', {
     38           'sources!': [
     39             'url_canon_icu.cc',
     40             'url_canon_icu.h',
     41           ],
     42           'dependencies!': [
     43             '../third_party/icu/icu.gyp:icui18n',
     44             '../third_party/icu/icu.gyp:icuuc',
     45           ],
     46         }],
     47         ['use_icu_alternatives_on_android==1 and OS=="android"', {
     48           'dependencies': [
     49             'url_java',
     50             'url_jni_headers',
     51           ],
     52           'sources': [
     53             'url_canon_icu_alternatives_android.cc',
     54             'url_canon_icu_alternatives_android.h',
     55           ],
     56         }],
     57       ],
     58       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
     59       'msvs_disabled_warnings': [4267, ],
     60     },
     61     {
     62       'target_name': 'url_unittests',
     63       'type': 'executable',
     64       'dependencies': [
     65         '../base/base.gyp:run_all_unittests',
     66         '../testing/gtest.gyp:gtest',
     67         '../third_party/icu/icu.gyp:icuuc',
     68         'url_lib',
     69       ],
     70       'sources': [
     71         'gurl_unittest.cc',
     72         'origin_unittest.cc',
     73         'url_canon_icu_unittest.cc',
     74         'url_canon_unittest.cc',
     75         'url_parse_unittest.cc',
     76         'url_test_utils.h',
     77         'url_util_unittest.cc',
     78       ],
     79       'conditions': [
     80         ['os_posix==1 and OS!="mac" and OS!="ios" and use_allocator!="none"',
     81           {
     82             'dependencies': [
     83               '../base/allocator/allocator.gyp:allocator',
     84             ],
     85           }
     86         ],
     87         ['use_icu_alternatives_on_android==1',
     88           {
     89             'sources!': [
     90               'url_canon_icu_unittest.cc',
     91             ],
     92             'dependencies!': [
     93               '../third_party/icu/icu.gyp:icuuc',
     94             ],
     95           }
     96         ],
     97       ],
     98       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
     99       'msvs_disabled_warnings': [4267, ],
    100     },
    101   ],
    102   'conditions': [
    103     ['use_icu_alternatives_on_android==1 and OS=="android"', {
    104       'targets': [
    105         {
    106           'target_name': 'url_jni_headers',
    107           'type': 'none',
    108           'sources': [
    109             'android/java/src/org/chromium/url/IDNStringUtil.java'
    110           ],
    111           'variables': {
    112             'jni_gen_package': 'url',
    113           },
    114           'includes': [ '../build/jni_generator.gypi' ],
    115         },
    116         {
    117           'target_name': 'url_java',
    118           'type': 'none',
    119           'variables': {
    120             'java_in_dir': '../url/android/java',
    121           },
    122           'dependencies': [
    123             '../base/base.gyp:base',
    124           ],
    125           'includes': [ '../build/java.gypi' ],
    126         },
    127       ],
    128     }],
    129   ],
    130 }
    131