blob: 52df28608191c73d6336cfe940d1f192982aebe8 [file] [log] [blame]
evan@chromium.orgd6842f62012-01-24 13:37:29 +09001# Copyright (c) 2012 The Chromium Authors. All rights reserved.
mark@chromium.org15425a12009-02-26 06:26:55 +09002# 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 },
gregoryd@google.com9e3cfd62009-12-05 07:46:50 +09009 'includes': [
joi@chromium.org3b4d6d92011-09-07 23:14:54 +090010 '../build/win_precompile.gypi',
gregoryd@google.com9e3cfd62009-12-05 07:46:50 +090011 'base.gypi',
12 ],
mark@chromium.org15425a12009-02-26 06:26:55 +090013 'targets': [
14 {
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090015 'target_name': 'base_i18n',
rvargas@google.comc4b016b2011-09-01 07:15:48 +090016 'type': '<(component)',
siggi@chromium.org71120e42011-12-21 04:59:10 +090017 'variables': {
18 'enable_wexit_time_destructors': 1,
19 'optimize': 'max',
20 },
mark@chromium.org15425a12009-02-26 06:26:55 +090021 'dependencies': [
22 'base',
rvargas@google.comc4b016b2011-09-01 07:15:48 +090023 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090024 '../third_party/icu/icu.gyp:icui18n',
25 '../third_party/icu/icu.gyp:icuuc',
mark@chromium.org15425a12009-02-26 06:26:55 +090026 ],
mmoss@google.com751961d2010-03-23 06:24:57 +090027 'conditions': [
mark@chromium.org639d3b52011-05-13 03:18:34 +090028 ['toolkit_uses_gtk==1', {
mmoss@google.com751961d2010-03-23 06:24:57 +090029 'dependencies': [
30 # i18n/rtl.cc uses gtk
31 '../build/linux/system.gyp:gtk',
32 ],
33 }],
34 ],
mark@chromium.org15425a12009-02-26 06:26:55 +090035 'export_dependent_settings': [
36 'base',
37 ],
rvargas@google.comc4b016b2011-09-01 07:15:48 +090038 'defines': [
39 'BASE_I18N_IMPLEMENTATION',
40 ],
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090041 'sources': [
rvargas@google.comc4b016b2011-09-01 07:15:48 +090042 'i18n/base_i18n_export.h',
hbono@chromium.org31407362011-02-24 18:20:16 +090043 'i18n/bidi_line_iterator.cc',
44 'i18n/bidi_line_iterator.h',
cdn@chromium.org79f24902010-12-16 03:00:54 +090045 'i18n/break_iterator.cc',
46 'i18n/break_iterator.h',
dmazzoni@chromium.org43126982010-08-23 23:30:27 +090047 'i18n/char_iterator.cc',
48 'i18n/char_iterator.h',
phajdan.jr@chromium.orge178fe22011-05-06 17:36:26 +090049 'i18n/case_conversion.cc',
50 'i18n/case_conversion.h',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090051 'i18n/file_util_icu.cc',
52 'i18n/file_util_icu.h',
phajdan.jr@chromium.orgb00f0982010-05-11 18:19:30 +090053 'i18n/icu_encoding_detection.cc',
54 'i18n/icu_encoding_detection.h',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090055 'i18n/icu_string_conversions.cc',
56 'i18n/icu_string_conversions.h',
57 'i18n/icu_util.cc',
58 'i18n/icu_util.h',
59 'i18n/number_formatting.cc',
60 'i18n/number_formatting.h',
ben@chromium.org2c4a3a82010-03-20 15:37:01 +090061 'i18n/rtl.cc',
62 'i18n/rtl.h',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +090063 'i18n/string_search.cc',
64 'i18n/string_search.h',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090065 'i18n/time_formatting.cc',
66 'i18n/time_formatting.h',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +090067 ],
mark@chromium.org15425a12009-02-26 06:26:55 +090068 },
69 {
rvargas@google.com57a43962011-04-05 07:42:46 +090070 # This is the subset of files from base that should not be used with a
rvargas@google.com97a20ec2011-04-22 07:22:10 +090071 # dynamic library. Note that this library cannot depend on base because
72 # base depends on base_static.
rvargas@google.com57a43962011-04-05 07:42:46 +090073 'target_name': 'base_static',
evan@chromium.org0b930f22011-05-20 08:18:53 +090074 'type': 'static_library',
siggi@chromium.org71120e42011-12-21 04:59:10 +090075 'variables': {
76 'enable_wexit_time_destructors': 1,
77 'optimize': 'max',
78 },
pkasting@chromium.org2680a0a2011-09-16 06:17:32 +090079 'toolsets': ['host', 'target'],
rvargas@google.com57a43962011-04-05 07:42:46 +090080 'sources': [
rvargas@google.com29b10092011-05-27 07:03:28 +090081 'base_switches.cc',
82 'base_switches.h',
rvargas@google.com57a43962011-04-05 07:42:46 +090083 'win/pe_image.cc',
84 'win/pe_image.h',
85 ],
86 'include_dirs': [
87 '..',
88 ],
89 },
90 {
91 # TODO(rvargas): Remove this when gyp finally supports a clean model.
92 # See bug 36232.
93 'target_name': 'base_static_win64',
evan@chromium.org0b930f22011-05-20 08:18:53 +090094 'type': 'static_library',
rvargas@google.com57a43962011-04-05 07:42:46 +090095 'sources': [
rvargas@google.com29b10092011-05-27 07:03:28 +090096 'base_switches.cc',
97 'base_switches.h',
rvargas@google.com57a43962011-04-05 07:42:46 +090098 'win/pe_image.cc',
99 'win/pe_image.h',
100 ],
101 'include_dirs': [
102 '..',
103 ],
104 'configurations': {
105 'Common_Base': {
106 'msvs_target_platform': 'x64',
107 },
108 },
109 'defines': [
110 'NACL_WIN64',
111 ],
112 # TODO(rvargas): Bug 78117. Remove this.
113 'msvs_disabled_warnings': [
114 4244,
115 ],
116 },
akalin@chromium.org4158e992012-03-21 14:55:06 +0900117 # Include this target for a main() function that simply instantiates
118 # and runs a base::TestSuite.
119 {
120 'target_name': 'run_all_unittests',
121 'type': 'static_library',
122 'dependencies': [
123 'test_support_base',
124 ],
125 'sources': [
126 'test/run_all_unittests.cc',
127 ],
128 },
peter@chromium.orgf63cdf12012-03-14 20:24:04 +0900129 {
mark@chromium.org15425a12009-02-26 06:26:55 +0900130 'target_name': 'base_unittests',
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900131 'type': '<(gtest_target_type)',
mark@chromium.org15425a12009-02-26 06:26:55 +0900132 'sources': [
maruel@chromium.org2b6effe2009-09-09 02:25:40 +0900133 # Tests.
steveblock@chromium.org27bef552011-12-05 23:42:08 +0900134 'android/jni_android_unittest.cc',
nileshagrawal@chromium.org77ab0bc2012-04-27 05:19:47 +0900135 'android/path_utils_unittest.cc',
joth@chromium.orged27f3a2011-09-09 19:17:35 +0900136 'android/scoped_java_ref_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900137 'at_exit_unittest.cc',
138 'atomicops_unittest.cc',
hayato@chromium.org268ac3a2009-11-24 15:21:53 +0900139 'base64_unittest.cc',
ajwong@chromium.orge4f3dc32012-01-07 07:12:28 +0900140 'bind_helpers_unittest.cc',
ajwong@chromium.orge2cca632011-02-15 10:27:38 +0900141 'bind_unittest.cc',
ajwong@chromium.org505386d2011-09-10 12:03:00 +0900142 'bind_unittest.nc',
apatrick@google.com0265b732009-11-19 08:08:39 +0900143 'bits_unittest.cc',
agl@chromium.orgb9206f42011-11-12 01:09:31 +0900144 'build_time_unittest.cc',
akalin@chromium.org6ed4f882010-02-19 12:15:59 +0900145 'callback_unittest.cc',
ajwong@chromium.org3bc50ce2011-09-10 12:14:35 +0900146 'callback_unittest.nc',
jhawkins@chromium.org78936ff2011-11-24 13:12:04 +0900147 'cancelable_callback_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900148 'command_line_unittest.cc',
hbono@chromium.org31407362011-02-24 18:20:16 +0900149 'cpu_unittest.cc',
brettw@chromium.org2f49b122010-10-26 13:07:50 +0900150 'debug/leak_tracker_unittest.cc',
151 'debug/stack_trace_unittest.cc',
scheib@chromium.org603f46e2011-05-10 11:23:58 +0900152 'debug/trace_event_unittest.cc',
brettw@chromium.org2f49b122010-10-26 13:07:50 +0900153 'debug/trace_event_win_unittest.cc',
agl@chromium.org4300a312010-03-12 00:25:54 +0900154 'dir_reader_posix_unittest.cc',
tfarina@chromium.org6d36c5d2010-08-03 12:00:50 +0900155 'environment_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900156 'file_descriptor_shuffle_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900157 'file_path_unittest.cc',
kinuko@chromium.org20e2efc2012-04-24 03:40:57 +0900158 'file_util_proxy_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900159 'file_util_unittest.cc',
160 'file_version_info_unittest.cc',
ajwong@chromium.orgab54d3d2009-05-30 23:39:59 +0900161 'gmock_unittest.cc',
phajdan.jr@chromium.orga12746c2009-08-19 23:56:38 +0900162 'id_map_unittest.cc',
cdn@chromium.org79f24902010-12-16 03:00:54 +0900163 'i18n/break_iterator_unittest.cc',
dmazzoni@chromium.org43126982010-08-23 23:30:27 +0900164 'i18n/char_iterator_unittest.cc',
phajdan.jr@chromium.orge178fe22011-05-06 17:36:26 +0900165 'i18n/case_conversion_unittest.cc',
brettw@chromium.org86aca862009-10-09 02:38:30 +0900166 'i18n/file_util_icu_unittest.cc',
brettw@chromium.orgde29ea42009-10-11 05:40:50 +0900167 'i18n/icu_string_conversions_unittest.cc',
avi@chromium.orgac6d6152011-06-23 05:40:22 +0900168 'i18n/number_formatting_unittest.cc',
ben@chromium.org2c4a3a82010-03-20 15:37:01 +0900169 'i18n/rtl_unittest.cc',
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900170 'i18n/string_search_unittest.cc',
kinaba@google.com7f3f2422011-05-30 20:45:43 +0900171 'i18n/time_formatting_unittest.cc',
brettw@chromium.org7cd41eb2009-10-24 05:00:20 +0900172 'json/json_reader_unittest.cc',
mukai@chromium.org55292e42011-12-23 03:31:47 +0900173 'json/json_value_converter_unittest.cc',
pastarmovj@chromium.orgb81dd3f2011-11-18 01:17:23 +0900174 'json/json_value_serializer_unittest.cc',
brettw@chromium.org7cd41eb2009-10-24 05:00:20 +0900175 'json/json_writer_unittest.cc',
176 'json/string_escape_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900177 'lazy_instance_unittest.cc',
ericroman@google.com7e41f132009-08-12 06:38:54 +0900178 'linked_list_unittest.cc',
akalin@chromium.orga88579b2010-10-02 08:02:36 +0900179 'logging_unittest.cc',
jam@chromium.org7059e302012-03-01 10:58:05 +0900180 'mac/closure_blocks_leopard_compat_unittest.cc',
kushi.p@gmail.com9a28acb2011-10-19 09:36:56 +0900181 'mac/foundation_util_unittest.mm',
brettw@chromium.org92d954b2011-01-02 03:20:14 +0900182 'mac/mac_util_unittest.mm',
mark@chromium.org2a9b20f2011-04-21 07:30:35 +0900183 'mac/objc_property_releaser_unittest.mm',
shess@chromium.orgcb3d4fe2011-12-02 08:56:17 +0900184 'mac/scoped_sending_event_unittest.mm',
shinyak@google.com5c521022011-04-26 08:54:07 +0900185 'md5_unittest.cc',
jbates@chromium.orgdde8e302012-02-24 02:52:20 +0900186 'memory/aligned_memory_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900187 'memory/linked_ptr_unittest.cc',
agayev@chromium.org751c2272011-04-28 03:37:03 +0900188 'memory/mru_cache_unittest.cc',
joth@chromium.org42544c82011-07-22 22:22:23 +0900189 'memory/ref_counted_memory_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900190 'memory/ref_counted_unittest.cc',
qsr@chromium.orgd85d9492012-02-09 18:50:58 +0900191 'memory/scoped_nsobject_unittest.mm',
levin@chromium.org5c528682011-03-28 10:54:15 +0900192 'memory/scoped_ptr_unittest.cc',
sergeyu@chromium.org1c30aaf2012-01-25 09:33:05 +0900193 'memory/scoped_ptr_unittest.nc',
scr@chromium.org80f0c1a2011-03-29 07:27:34 +0900194 'memory/scoped_vector_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900195 'memory/singleton_unittest.cc',
196 'memory/weak_ptr_unittest.cc',
sanjeevr@chromium.orgd393cc42010-05-07 03:34:24 +0900197 'message_loop_proxy_impl_unittest.cc',
ajwong@chromium.org545839a2011-08-19 08:13:01 +0900198 'message_loop_proxy_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900199 'message_loop_unittest.cc',
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900200 'message_pump_glib_unittest.cc',
dmaclach@chromium.org482f99a2011-05-14 01:19:23 +0900201 'message_pump_libevent_unittest.cc',
brettw@chromium.org275c2ec2010-10-14 13:38:38 +0900202 'metrics/field_trial_unittest.cc',
203 'metrics/histogram_unittest.cc',
204 'metrics/stats_table_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900205 'observer_list_unittest.cc',
206 'path_service_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900207 'pickle_unittest.cc',
dumi@chromium.org23915982010-09-10 12:01:14 +0900208 'platform_file_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900209 'pr_time_unittest.cc',
210 'process_util_unittest.cc',
avi@chromium.org4b9545a2010-03-20 03:42:41 +0900211 'process_util_unittest_mac.h',
212 'process_util_unittest_mac.mm',
jar@chromium.org27cf2972011-11-09 02:09:21 +0900213 'profiler/tracked_time_unittest.cc',
jam@chromium.org5beeeaf2011-11-23 09:58:23 +0900214 'property_bag_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900215 'rand_util_unittest.cc',
thakis@chromium.org927d7282011-05-20 08:34:17 +0900216 'scoped_native_library_unittest.cc',
217 'scoped_temp_dir_unittest.cc',
jhawkins@chromium.orgf64907f2009-11-05 04:29:58 +0900218 'sha1_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900219 'shared_memory_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900220 'stack_container_unittest.cc',
abarth@chromium.orgd04f7082010-11-14 05:05:47 +0900221 'string16_unittest.cc',
brettw@chromium.orgcbde69a2010-07-31 04:28:44 +0900222 'string_number_conversions_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900223 'string_piece_unittest.cc',
timsteele@google.com22058212010-01-22 04:29:25 +0900224 'string_split_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900225 'string_tokenizer_unittest.cc',
226 'string_util_unittest.cc',
joi@chromium.orgeb2b72d2010-11-18 11:15:12 +0900227 'stringize_macros_unittest.cc',
brettw@chromium.org67cbde42010-08-17 12:45:37 +0900228 'stringprintf_unittest.cc',
brettw@chromium.org5238c7d2011-01-02 15:05:39 +0900229 'synchronization/cancellation_flag_unittest.cc',
brettw@chromium.orge439a962011-01-02 08:16:20 +0900230 'synchronization/condition_variable_unittest.cc',
231 'synchronization/lock_unittest.cc',
brettw@chromium.org5238c7d2011-01-02 15:05:39 +0900232 'synchronization/waitable_event_unittest.cc',
233 'synchronization/waitable_event_watcher_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900234 'sys_info_unittest.cc',
mirandac@chromium.org69689342009-11-09 04:04:54 +0900235 'sys_string_conversions_mac_unittest.mm',
mark@chromium.org15425a12009-02-26 06:26:55 +0900236 'sys_string_conversions_unittest.cc',
willchan@chromium.org0fbb8682011-05-18 16:29:56 +0900237 'system_monitor/system_monitor_unittest.cc',
battre@chromium.org6d025972012-04-17 11:48:06 +0900238 'task_runner_util_unittest.cc',
ajwong@chromium.orge2cca632011-02-15 10:27:38 +0900239 'template_util_unittest.cc',
francoisk777@gmail.com80356342012-04-02 19:16:55 +0900240 'test/sequenced_worker_pool_owner.cc',
241 'test/sequenced_worker_pool_owner.h',
jbates@chromium.orgf44a6882011-10-29 12:16:52 +0900242 'test/trace_event_analyzer_unittest.cc',
brettw@chromium.org088ae932011-01-01 13:48:49 +0900243 'threading/non_thread_safe_unittest.cc',
brettw@chromium.org61391822011-01-01 05:02:16 +0900244 'threading/platform_thread_unittest.cc',
brettw@chromium.org03d32fd2012-01-01 14:42:34 +0900245 'threading/sequenced_worker_pool_unittest.cc',
brettw@chromium.org34f964f2010-12-31 03:08:36 +0900246 'threading/simple_thread_unittest.cc',
brettw@chromium.org61391822011-01-01 05:02:16 +0900247 'threading/thread_checker_unittest.cc',
brettw@chromium.org5b5f5e02011-01-01 10:01:06 +0900248 'threading/thread_collision_warner_unittest.cc',
brettw@chromium.org63965582010-12-31 07:18:56 +0900249 'threading/thread_local_storage_unittest.cc',
250 'threading/thread_local_unittest.cc',
brettw@chromium.org5b5f5e02011-01-01 10:01:06 +0900251 'threading/thread_unittest.cc',
brettw@chromium.org34f964f2010-12-31 03:08:36 +0900252 'threading/watchdog_unittest.cc',
253 'threading/worker_pool_posix_unittest.cc',
254 'threading/worker_pool_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900255 'time_unittest.cc',
256 'time_win_unittest.cc',
257 'timer_unittest.cc',
glider@chromium.org0f9756f2009-12-17 21:37:58 +0900258 'tools_sanity_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900259 'tracked_objects_unittest.cc',
260 'tuple_unittest.cc',
pkasting@chromium.org046cd5a2009-11-14 04:27:48 +0900261 'utf_offset_string_conversions_unittest.cc',
pkasting@chromium.org47366502009-11-07 10:34:53 +0900262 'utf_string_conversions_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900263 'values_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900264 'version_unittest.cc',
akalin@chromium.orgf0ee79c2010-09-30 04:26:36 +0900265 'vlog_unittest.cc',
jar@chromium.org92d3dcf2011-12-23 07:07:41 +0900266 'win/dllmain.cc',
dmazzoni@chromium.orgb1bdde42011-12-03 13:31:13 +0900267 'win/enum_variant_unittest.cc',
siggi@chromium.org7913ed62010-11-07 00:39:40 +0900268 'win/event_trace_consumer_unittest.cc',
269 'win/event_trace_controller_unittest.cc',
270 'win/event_trace_provider_unittest.cc',
grt@chromium.orgce2cac52010-11-17 00:28:45 +0900271 'win/i18n_unittest.cc',
dmazzoni@chromium.orgb1bdde42011-12-03 13:31:13 +0900272 'win/iunknown_impl_unittest.cc',
brettw@google.com3890ab32011-01-02 03:26:16 +0900273 'win/object_watcher_unittest.cc',
brettw@chromium.orgb3a7c3e2010-10-17 13:41:54 +0900274 'win/pe_image_unittest.cc',
275 'win/registry_unittest.cc',
siggi@chromium.orgdb0946f2011-12-08 06:44:28 +0900276 'win/sampling_profiler_unittest.cc',
brettw@chromium.org45352272010-10-16 12:46:05 +0900277 'win/scoped_bstr_unittest.cc',
278 'win/scoped_comptr_unittest.cc',
erikwright@chromium.org82223842012-04-05 04:57:50 +0900279 'win/scoped_process_information_unittest.cc',
brettw@chromium.org45352272010-10-16 12:46:05 +0900280 'win/scoped_variant_unittest.cc',
brettw@google.comf4fe79b2011-01-01 02:18:50 +0900281 'win/win_util_unittest.cc',
rvargas@google.comed1496e2011-03-17 09:34:09 +0900282 'win/wrapped_window_proc_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900283 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900284 'dependencies': [
285 'base',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +0900286 'base_i18n',
rvargas@google.com57a43962011-04-05 07:42:46 +0900287 'base_static',
akalin@chromium.org4158e992012-03-21 14:55:06 +0900288 'run_all_unittests',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900289 'test_support_base',
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900290 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
ajwong@chromium.orge2f951e2009-05-28 16:23:16 +0900291 '../testing/gmock.gyp:gmock',
mark@chromium.org15425a12009-02-26 06:26:55 +0900292 '../testing/gtest.gyp:gtest',
kinaba@google.com7f3f2422011-05-30 20:45:43 +0900293 '../third_party/icu/icu.gyp:icui18n',
294 '../third_party/icu/icu.gyp:icuuc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900295 ],
ajwong@chromium.org505386d2011-09-10 12:03:00 +0900296 'includes': ['../build/nocompile.gypi'],
297 'variables': {
298 # TODO(ajwong): Is there a way to autodetect this?
299 'module_dir': 'base'
300 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900301 'conditions': [
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900302 ['OS == "android"', {
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900303 'sources!': [
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900304 # TODO(michaelbai): Removed the below once the fix upstreamed.
nileshagrawal@chromium.org77ab0bc2012-04-27 05:19:47 +0900305 'debug/stack_trace_unittest.cc',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900306 'memory/mru_cache_unittest.cc',
307 'process_util_unittest.cc',
308 'synchronization/cancellation_flag_unittest.cc',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900309 ],
bulach@chromium.org6079a072012-02-24 09:09:38 +0900310 'dependencies': [
bulach@chromium.orgf9326a02012-03-08 21:39:13 +0900311 'android/jni_generator/jni_generator.gyp:jni_generator_tests',
bulach@chromium.org6079a072012-02-24 09:09:38 +0900312 ],
nileshagrawal@chromium.org77ab0bc2012-04-27 05:19:47 +0900313 'conditions': [
314 ['"<(gtest_target_type)"=="shared_library"', {
315 'dependencies': [
316 '../testing/android/native_test.gyp:native_test_native_code',
317 ],
318 }, { # gtest_target_type != shared_library
319 'sources!': [
320 # The below files are excluded because of the missing JNI.
321 'android/jni_android_unittest.cc',
322 'android/path_utils_unittest.cc',
323 'android/scoped_java_ref_unittest.cc',
324 ],
325 }],
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900326 ],
327 }],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900328 ['use_glib==1', {
mark@chromium.org828adfd2009-03-02 15:53:31 +0900329 'sources!': [
330 'file_version_info_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900331 ],
willchan@chromium.orge6bcfff2010-10-20 04:09:30 +0900332 'conditions': [
333 [ 'linux_use_tcmalloc==1', {
334 'dependencies': [
335 'allocator/allocator.gyp:allocator',
336 ],
337 },
338 ],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900339 [ 'toolkit_uses_gtk==1', {
340 'sources': [
341 'nix/xdg_util_unittest.cc',
342 ],
343 'dependencies': [
344 '../build/linux/system.gyp:gtk',
345 ]
346 }],
willchan@chromium.orge6bcfff2010-10-20 04:09:30 +0900347 ],
sgk@google.com300c8752009-03-21 08:13:26 +0900348 'dependencies': [
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900349 '../build/linux/system.gyp:glib',
mirandac@chromium.org1d9e6492011-06-01 02:19:30 +0900350 '../build/linux/system.gyp:ssl',
thestig@chromium.orgb5e33342009-09-18 06:37:19 +0900351 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
sgk@google.com300c8752009-03-21 08:13:26 +0900352 ],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900353 }, { # use_glib!=1
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900354 'sources!': [
355 'message_pump_glib_unittest.cc',
356 ]
mark@chromium.org828adfd2009-03-02 15:53:31 +0900357 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900358 # This is needed to trigger the dll copy step on windows.
359 # TODO(mark): This should not be necessary.
mark@chromium.org828adfd2009-03-02 15:53:31 +0900360 ['OS == "win"', {
361 'dependencies': [
jshin@chromium.org5b8504c2009-09-09 15:49:08 +0900362 '../third_party/icu/icu.gyp:icudata',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900363 ],
364 'sources!': [
agl@chromium.org4300a312010-03-12 00:25:54 +0900365 'dir_reader_posix_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900366 'file_descriptor_shuffle_unittest.cc',
brettw@chromium.org975db2b2010-12-31 03:29:28 +0900367 'threading/worker_pool_posix_unittest.cc',
dmaclach@chromium.org482f99a2011-05-14 01:19:23 +0900368 'message_pump_libevent_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900369 ],
370 }, { # OS != "win"
phajdan.jr@chromium.org01b92782011-08-05 07:23:55 +0900371 'dependencies': [
372 '../third_party/libevent/libevent.gyp:libevent'
373 ],
brettw@chromium.org45352272010-10-16 12:46:05 +0900374 'sources/': [
375 ['exclude', '^win/'],
376 ],
mark@chromium.org828adfd2009-03-02 15:53:31 +0900377 'sources!': [
sadrul@chromium.org9bb2c1a2011-05-25 09:20:42 +0900378 'debug/trace_event_win_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900379 'time_win_unittest.cc',
sadrul@chromium.org9bb2c1a2011-05-25 09:20:42 +0900380 'win/win_util_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900381 ],
382 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900383 ['OS=="mac"', {
384 'dependencies': [
385 'closure_blocks_leopard_compat',
386 ],
387 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900388 ],
389 },
sgk@google.com2b059ed2009-03-17 08:46:45 +0900390 {
akalin@chromium.org836c6e62011-12-02 16:31:09 +0900391 'target_name': 'check_example',
392 'type': 'executable',
393 'sources': [
394 'check_example.cc',
395 ],
396 'dependencies': [
397 'base',
398 ],
399 },
400 {
sgk@google.com2b059ed2009-03-17 08:46:45 +0900401 'target_name': 'test_support_base',
evan@chromium.org0b930f22011-05-20 08:18:53 +0900402 'type': 'static_library',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900403 'dependencies': [
404 'base',
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900405 'base_static',
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900406 'base_i18n',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900407 '../testing/gmock.gyp:gmock',
408 '../testing/gtest.gyp:gtest',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900409 ],
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900410 'export_dependent_settings': [
411 'base',
412 ],
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900413 'conditions': [
mark@chromium.org639d3b52011-05-13 03:18:34 +0900414 ['toolkit_uses_gtk==1', {
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900415 'dependencies': [
416 # test_suite initializes GTK.
417 '../build/linux/system.gyp:gtk',
418 ],
419 }],
joaodasilva@chromium.orgefe510f2011-06-21 02:44:05 +0900420 ['os_posix==0', {
421 'sources!': [
422 'test/scoped_locale.cc',
423 'test/scoped_locale.h',
424 ],
425 }],
robert.nagy@gmail.combddca342011-11-23 08:41:45 +0900426 ['os_bsd==1', {
robert.nagy@gmail.comea54e462011-10-25 07:05:27 +0900427 'sources!': [
428 'test/test_file_util_linux.cc',
429 ],
430 }],
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900431 ],
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900432 'sources': [
brettw@chromium.orge0a88f32010-10-10 11:42:32 +0900433 'perftimer.cc',
thakis@chromium.org5e435992010-12-18 10:18:29 +0900434 'test/mock_chrome_application_mac.h',
435 'test/mock_chrome_application_mac.mm',
vandebo@chromium.orgfab003a2012-03-03 08:13:40 +0900436 'test/mock_devices_changed_observer.cc',
437 'test/mock_devices_changed_observer.h',
stevet@chromium.orge493ba32011-06-28 23:29:06 +0900438 'test/mock_time_provider.cc',
439 'test/mock_time_provider.h',
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +0900440 'test/multiprocess_test.cc',
441 'test/multiprocess_test.h',
brettw@chromium.orgafb572a2010-10-10 09:21:35 +0900442 'test/perf_test_suite.cc',
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +0900443 'test/perf_test_suite.h',
joaodasilva@chromium.orgefe510f2011-06-21 02:44:05 +0900444 'test/scoped_locale.cc',
445 'test/scoped_locale.h',
francoisk777@gmail.com80356342012-04-02 19:16:55 +0900446 'test/sequenced_task_runner_test_template.cc',
447 'test/sequenced_task_runner_test_template.h',
akalin@chromium.org38d2e292012-03-09 15:20:18 +0900448 'test/task_runner_test_template.cc',
449 'test/task_runner_test_template.h',
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900450 'test/test_file_util.h',
451 'test/test_file_util_linux.cc',
452 'test/test_file_util_mac.cc',
453 'test/test_file_util_posix.cc',
454 'test/test_file_util_win.cc',
rogerta@chromium.orgea6545c2011-08-25 05:02:42 +0900455 'test/test_reg_util_win.cc',
456 'test/test_reg_util_win.h',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900457 'test/test_suite.cc',
458 'test/test_suite.h',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900459 'test/test_stub_android.cc',
sergeyu@chromium.org0f6abbc2010-10-06 04:03:05 +0900460 'test/test_switches.cc',
461 'test/test_switches.h',
462 'test/test_timeouts.cc',
463 'test/test_timeouts.h',
jochen@chromium.orgf5593332011-06-28 15:43:20 +0900464 'test/thread_test_helper.cc',
465 'test/thread_test_helper.h',
jbates@chromium.orgf44a6882011-10-29 12:16:52 +0900466 'test/trace_event_analyzer.cc',
467 'test/trace_event_analyzer.h',
akalin@chromium.orgd79b68c2012-02-29 12:57:29 +0900468 'test/values_test_util.cc',
469 'test/values_test_util.h',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900470 ],
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900471 },
472 {
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900473 'target_name': 'base_unittests_run',
474 'type': 'none',
475 'dependencies': [
476 'base_unittests',
477 ],
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900478 'includes': [
479 'base_unittests.isolate',
480 ],
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900481 'actions': [
482 {
maruel@chromium.orgfd474db2012-03-09 09:34:45 +0900483 'action_name': 'isolate',
484 'inputs': [
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900485 'base_unittests.isolate',
486 '<@(isolate_dependency_tracked)',
maruel@chromium.orgfd474db2012-03-09 09:34:45 +0900487 ],
488 'outputs': [
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900489 '<(PRODUCT_DIR)/base_unittests.results',
490 ],
491 'action': [
492 'python',
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900493 '../tools/isolate/isolate.py',
maruel@chromium.org7a620aa2012-05-15 23:56:33 +0900494 '--mode', '<(test_isolation_mode)',
495 '--outdir', '<(test_isolation_outdir)',
maruel@chromium.org78d3e3d2012-04-23 12:05:36 +0900496 '--variable', 'PRODUCT_DIR', '<(PRODUCT_DIR)',
497 '--variable', 'OS', '<(OS)',
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900498 '--result', '<@(_outputs)',
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900499 'base_unittests.isolate',
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900500 ],
501 },
502 ],
503 },
504 {
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900505 'target_name': 'test_support_perf',
evan@chromium.org0b930f22011-05-20 08:18:53 +0900506 'type': 'static_library',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900507 'dependencies': [
508 'base',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900509 '../testing/gtest.gyp:gtest',
510 ],
511 'sources': [
512 'perftimer.cc',
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900513 'test/run_all_perftests.cc',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900514 ],
515 'direct_dependent_settings': {
516 'defines': [
517 'PERF_TEST',
518 ],
519 },
sgk@google.com300c8752009-03-21 08:13:26 +0900520 'conditions': [
mark@chromium.org639d3b52011-05-13 03:18:34 +0900521 ['toolkit_uses_gtk==1', {
sgk@google.com300c8752009-03-21 08:13:26 +0900522 'dependencies': [
523 # Needed to handle the #include chain:
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900524 # base/test/perf_test_suite.h
525 # base/test/test_suite.h
sgk@google.com300c8752009-03-21 08:13:26 +0900526 # gtk/gtk.h
527 '../build/linux/system.gyp:gtk',
528 ],
529 }],
530 ],
sgk@google.com2b059ed2009-03-17 08:46:45 +0900531 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900532 ],
533 'conditions': [
yfriedman@chromium.org71995f32012-04-17 13:39:52 +0900534 ['OS == "android"', {
535 'targets': [
536 {
537 'target_name': 'base_jni_headers',
538 'type': 'none',
539 'variables': {
540 'java_sources': [
541 'android/java/org/chromium/base/BuildInfo.java',
wangxianzhu@chromium.orga6031a92012-05-05 12:11:38 +0900542 'android/java/org/chromium/base/LocaleUtils.java',
yfriedman@chromium.org71995f32012-04-17 13:39:52 +0900543 'android/java/org/chromium/base/PathUtils.java',
544 'android/java/org/chromium/base/SystemMessageHandler.java',
545 ],
546 'jni_headers': [
547 '<(SHARED_INTERMEDIATE_DIR)/base/jni/build_info_jni.h',
wangxianzhu@chromium.orga6031a92012-05-05 12:11:38 +0900548 '<(SHARED_INTERMEDIATE_DIR)/base/jni/locale_utils_jni.h',
yfriedman@chromium.org71995f32012-04-17 13:39:52 +0900549 '<(SHARED_INTERMEDIATE_DIR)/base/jni/path_utils_jni.h',
550 '<(SHARED_INTERMEDIATE_DIR)/base/jni/system_message_handler_jni.h',
551 ],
552 },
553 'includes': [ '../build/jni_generator.gypi' ],
554 },
555 {
556 'target_name': 'base_java',
557 'type': 'none',
558 'variables': {
559 'package_name': 'base',
560 'java_in_dir': 'android/java',
561 },
562 'includes': [ '../build/java.gypi' ],
563 },
564 ],
565 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900566 ['OS == "win"', {
mark@chromium.org15425a12009-02-26 06:26:55 +0900567 'targets': [
568 {
569 'target_name': 'debug_message',
570 'type': 'executable',
571 'sources': [
572 'debug_message.cc',
573 ],
sgk@google.com36d40a42009-05-22 11:39:14 +0900574 'msvs_settings': {
575 'VCLinkerTool': {
576 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
577 },
578 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900579 },
580 ],
581 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900582 ['OS=="mac"', {
583 'targets': [
584 {
585 'target_name': 'closure_blocks_leopard_compat',
586 'sources': [
587 'mac/closure_blocks_leopard_compat.h',
588 ],
589 'conditions': [
590 ['mac_sdk == "10.5"', {
591 'type': 'shared_library',
592 'product_name': 'closure_blocks_leopard_compat_stub',
593 'variables': {
594 # This target controls stripping directly. See below.
595 'mac_strip': 0,
596 },
597 'sources': [
598 'mac/closure_blocks_leopard_compat.S',
599 ],
600 'xcode_settings': {
601 # These values are taken from libSystem.dylib in the 10.5
602 # SDK. Setting LD_DYLIB_INSTALL_NAME causes anything linked
603 # against this stub library to look for the symbols it
604 # provides in the real libSystem at runtime. When using ld
605 # from Xcode 4 or later (ld64-123.2 and up), giving two
606 # libraries with the same "install name" to the linker will
607 # cause it to print "ld: warning: dylibs with same install
608 # name". This is harmless, and ld will behave as intended
609 # here.
610 #
611 # The real library's compatibility version is used, and the
612 # value of the current version from the SDK is used to make
613 # it appear as though anything linked against this stub was
614 # linked against the real thing.
615 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib',
616 'DYLIB_COMPATIBILITY_VERSION': '1.0.0',
617 'DYLIB_CURRENT_VERSION': '111.1.4',
618
619 # Turn on stripping (yes, even in debug mode), and add the -c
620 # flag. This is what produces a stub library (MH_DYLIB_STUB)
621 # as opposed to a dylib (MH_DYLIB). MH_DYLIB_STUB files
622 # contain symbol tables and everything else needed for
623 # linking, but are stripped of section contents. This is the
624 # same way that the stub libraries in Mac OS X SDKs are
625 # created. dyld will refuse to load a stub library, so this
626 # provides some insurance in case anyone tries to load the
627 # stub at runtime.
628 'DEPLOYMENT_POSTPROCESSING': 'YES',
629 'STRIP_STYLE': 'non-global',
630 'STRIPFLAGS': '-c',
631 },
632 }, { # else: mac_sdk != "10.5"
633 # When using the 10.6 SDK or newer, the necessary definitions
634 # are already present in libSystem.dylib. There is no need to
635 # build a stub dylib to provide these symbols at link time.
636 # This target is still useful to cause those symbols to be
637 # treated as weak imports in dependents, who still must
638 # #include closure_blocks_leopard_compat.h to get weak imports.
639 'type': 'none',
640 }],
641 ],
642 },
643 ],
644 }],
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900645 # Special target to wrap a <(gtest_target_type)==shared_library
646 # base_unittests into an android apk for execution.
647 # TODO(jrg): lib.target comes from _InstallableTargetInstallPath()
648 # in the gyp make generator. What is the correct way to extract
649 # this path from gyp and into 'raw' for input to antfiles?
650 # Hard-coding in the gypfile seems a poor choice.
651 # TODO(jrg): there has to be a shorter way to do all this. Try
652 # and convert this entire target cluster into ~5 lines that can be
653 # trivially copied to other projects with only a deps change, such
654 # as with a new gtest_target_type called
655 # 'shared_library_apk_wrapper' that does a lot of this magically.
656 ['OS=="android" and "<(gtest_target_type)"=="shared_library"', {
657 'targets': [
658 {
659 'target_name': 'base_unittests_apk',
660 'type': 'none',
661 'dependencies': [
662 'base', # So that android/java/java.gyp:base_java is built
663 'base_unittests',
664 ],
665 'actions': [
666 {
667 # Generate apk files (including source and antfile) from
668 # a template, and builds them.
669 'action_name': 'generate_and_build',
670 'inputs': [
nileshagrawal@chromium.org5cfcd752012-05-16 12:46:39 +0900671 '../testing/android/AndroidManifest.xml',
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900672 '../testing/android/generate_native_test.py',
673 '<(PRODUCT_DIR)/lib.target/libbase_unittests.so',
nileshagrawal@chromium.orga3c9e6b2012-05-11 12:23:47 +0900674 '<(PRODUCT_DIR)/lib.java/chromium_base.jar'
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900675 ],
676 'outputs': [
nileshagrawal@chromium.org5cfcd752012-05-16 12:46:39 +0900677 '<(PRODUCT_DIR)/base_unittests_apk/base_unittests-debug.apk',
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900678 ],
679 'action': [
680 '../testing/android/generate_native_test.py',
681 '--native_library',
682 '<(PRODUCT_DIR)/lib.target/libbase_unittests.so',
683 '--jar',
nileshagrawal@chromium.orga3c9e6b2012-05-11 12:23:47 +0900684 '<(PRODUCT_DIR)/lib.java/chromium_base.jar',
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900685 '--output',
686 '<(PRODUCT_DIR)/base_unittests_apk',
687 '--ant-args',
688 '-DPRODUCT_DIR=<(PRODUCT_DIR)',
689 '--ant-compile'
690 ],
691 },
692 ]
693 }],
694 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900695 ],
696}