blob: a7108afeedbd6b9a598eb82fa57fd27d56387a91 [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',
joth@chromium.orged27f3a2011-09-09 19:17:35 +0900135 'android/scoped_java_ref_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900136 'at_exit_unittest.cc',
137 'atomicops_unittest.cc',
hayato@chromium.org268ac3a2009-11-24 15:21:53 +0900138 'base64_unittest.cc',
ajwong@chromium.orge4f3dc32012-01-07 07:12:28 +0900139 'bind_helpers_unittest.cc',
ajwong@chromium.orge2cca632011-02-15 10:27:38 +0900140 'bind_unittest.cc',
ajwong@chromium.org505386d2011-09-10 12:03:00 +0900141 'bind_unittest.nc',
apatrick@google.com0265b732009-11-19 08:08:39 +0900142 'bits_unittest.cc',
agl@chromium.orgb9206f42011-11-12 01:09:31 +0900143 'build_time_unittest.cc',
akalin@chromium.org6ed4f882010-02-19 12:15:59 +0900144 'callback_unittest.cc',
ajwong@chromium.org3bc50ce2011-09-10 12:14:35 +0900145 'callback_unittest.nc',
jhawkins@chromium.org78936ff2011-11-24 13:12:04 +0900146 'cancelable_callback_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900147 'command_line_unittest.cc',
hbono@chromium.org31407362011-02-24 18:20:16 +0900148 'cpu_unittest.cc',
brettw@chromium.org2f49b122010-10-26 13:07:50 +0900149 'debug/leak_tracker_unittest.cc',
150 'debug/stack_trace_unittest.cc',
scheib@chromium.org603f46e2011-05-10 11:23:58 +0900151 'debug/trace_event_unittest.cc',
brettw@chromium.org2f49b122010-10-26 13:07:50 +0900152 'debug/trace_event_win_unittest.cc',
agl@chromium.org4300a312010-03-12 00:25:54 +0900153 'dir_reader_posix_unittest.cc',
tfarina@chromium.org6d36c5d2010-08-03 12:00:50 +0900154 'environment_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900155 'file_descriptor_shuffle_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900156 'file_path_unittest.cc',
157 'file_util_unittest.cc',
158 'file_version_info_unittest.cc',
ajwong@chromium.orgab54d3d2009-05-30 23:39:59 +0900159 'gmock_unittest.cc',
phajdan.jr@chromium.orga12746c2009-08-19 23:56:38 +0900160 'id_map_unittest.cc',
cdn@chromium.org79f24902010-12-16 03:00:54 +0900161 'i18n/break_iterator_unittest.cc',
dmazzoni@chromium.org43126982010-08-23 23:30:27 +0900162 'i18n/char_iterator_unittest.cc',
phajdan.jr@chromium.orge178fe22011-05-06 17:36:26 +0900163 'i18n/case_conversion_unittest.cc',
brettw@chromium.org86aca862009-10-09 02:38:30 +0900164 'i18n/file_util_icu_unittest.cc',
brettw@chromium.orgde29ea42009-10-11 05:40:50 +0900165 'i18n/icu_string_conversions_unittest.cc',
avi@chromium.orgac6d6152011-06-23 05:40:22 +0900166 'i18n/number_formatting_unittest.cc',
ben@chromium.org2c4a3a82010-03-20 15:37:01 +0900167 'i18n/rtl_unittest.cc',
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900168 'i18n/string_search_unittest.cc',
kinaba@google.com7f3f2422011-05-30 20:45:43 +0900169 'i18n/time_formatting_unittest.cc',
brettw@chromium.org7cd41eb2009-10-24 05:00:20 +0900170 'json/json_reader_unittest.cc',
mukai@chromium.org55292e42011-12-23 03:31:47 +0900171 'json/json_value_converter_unittest.cc',
pastarmovj@chromium.orgb81dd3f2011-11-18 01:17:23 +0900172 'json/json_value_serializer_unittest.cc',
brettw@chromium.org7cd41eb2009-10-24 05:00:20 +0900173 'json/json_writer_unittest.cc',
174 'json/string_escape_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900175 'lazy_instance_unittest.cc',
ericroman@google.com7e41f132009-08-12 06:38:54 +0900176 'linked_list_unittest.cc',
akalin@chromium.orga88579b2010-10-02 08:02:36 +0900177 'logging_unittest.cc',
jam@chromium.org7059e302012-03-01 10:58:05 +0900178 'mac/closure_blocks_leopard_compat_unittest.cc',
kushi.p@gmail.com9a28acb2011-10-19 09:36:56 +0900179 'mac/foundation_util_unittest.mm',
brettw@chromium.org92d954b2011-01-02 03:20:14 +0900180 'mac/mac_util_unittest.mm',
mark@chromium.org2a9b20f2011-04-21 07:30:35 +0900181 'mac/objc_property_releaser_unittest.mm',
shess@chromium.orgcb3d4fe2011-12-02 08:56:17 +0900182 'mac/scoped_sending_event_unittest.mm',
shinyak@google.com5c521022011-04-26 08:54:07 +0900183 'md5_unittest.cc',
jbates@chromium.orgdde8e302012-02-24 02:52:20 +0900184 'memory/aligned_memory_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900185 'memory/linked_ptr_unittest.cc',
agayev@chromium.org751c2272011-04-28 03:37:03 +0900186 'memory/mru_cache_unittest.cc',
joth@chromium.org42544c82011-07-22 22:22:23 +0900187 'memory/ref_counted_memory_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900188 'memory/ref_counted_unittest.cc',
qsr@chromium.orgd85d9492012-02-09 18:50:58 +0900189 'memory/scoped_nsobject_unittest.mm',
levin@chromium.org5c528682011-03-28 10:54:15 +0900190 'memory/scoped_ptr_unittest.cc',
sergeyu@chromium.org1c30aaf2012-01-25 09:33:05 +0900191 'memory/scoped_ptr_unittest.nc',
scr@chromium.org80f0c1a2011-03-29 07:27:34 +0900192 'memory/scoped_vector_unittest.cc',
levin@chromium.org5c528682011-03-28 10:54:15 +0900193 'memory/singleton_unittest.cc',
194 'memory/weak_ptr_unittest.cc',
sanjeevr@chromium.orgd393cc42010-05-07 03:34:24 +0900195 'message_loop_proxy_impl_unittest.cc',
ajwong@chromium.org545839a2011-08-19 08:13:01 +0900196 'message_loop_proxy_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900197 'message_loop_unittest.cc',
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900198 'message_pump_glib_unittest.cc',
dmaclach@chromium.org482f99a2011-05-14 01:19:23 +0900199 'message_pump_libevent_unittest.cc',
brettw@chromium.org275c2ec2010-10-14 13:38:38 +0900200 'metrics/field_trial_unittest.cc',
201 'metrics/histogram_unittest.cc',
202 'metrics/stats_table_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900203 'observer_list_unittest.cc',
204 'path_service_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900205 'pickle_unittest.cc',
dumi@chromium.org23915982010-09-10 12:01:14 +0900206 'platform_file_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900207 'pr_time_unittest.cc',
208 'process_util_unittest.cc',
avi@chromium.org4b9545a2010-03-20 03:42:41 +0900209 'process_util_unittest_mac.h',
210 'process_util_unittest_mac.mm',
jar@chromium.org27cf2972011-11-09 02:09:21 +0900211 'profiler/tracked_time_unittest.cc',
jam@chromium.org5beeeaf2011-11-23 09:58:23 +0900212 'property_bag_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900213 'rand_util_unittest.cc',
thakis@chromium.org927d7282011-05-20 08:34:17 +0900214 'scoped_native_library_unittest.cc',
215 'scoped_temp_dir_unittest.cc',
jhawkins@chromium.orgf64907f2009-11-05 04:29:58 +0900216 'sha1_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900217 'shared_memory_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900218 'stack_container_unittest.cc',
abarth@chromium.orgd04f7082010-11-14 05:05:47 +0900219 'string16_unittest.cc',
brettw@chromium.orgcbde69a2010-07-31 04:28:44 +0900220 'string_number_conversions_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900221 'string_piece_unittest.cc',
timsteele@google.com22058212010-01-22 04:29:25 +0900222 'string_split_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900223 'string_tokenizer_unittest.cc',
224 'string_util_unittest.cc',
joi@chromium.orgeb2b72d2010-11-18 11:15:12 +0900225 'stringize_macros_unittest.cc',
brettw@chromium.org67cbde42010-08-17 12:45:37 +0900226 'stringprintf_unittest.cc',
brettw@chromium.org5238c7d2011-01-02 15:05:39 +0900227 'synchronization/cancellation_flag_unittest.cc',
brettw@chromium.orge439a962011-01-02 08:16:20 +0900228 'synchronization/condition_variable_unittest.cc',
229 'synchronization/lock_unittest.cc',
brettw@chromium.org5238c7d2011-01-02 15:05:39 +0900230 'synchronization/waitable_event_unittest.cc',
231 'synchronization/waitable_event_watcher_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900232 'sys_info_unittest.cc',
mirandac@chromium.org69689342009-11-09 04:04:54 +0900233 'sys_string_conversions_mac_unittest.mm',
mark@chromium.org15425a12009-02-26 06:26:55 +0900234 'sys_string_conversions_unittest.cc',
willchan@chromium.org0fbb8682011-05-18 16:29:56 +0900235 'system_monitor/system_monitor_unittest.cc',
battre@chromium.org6d025972012-04-17 11:48:06 +0900236 'task_runner_util_unittest.cc',
ajwong@chromium.orge2cca632011-02-15 10:27:38 +0900237 'template_util_unittest.cc',
francoisk777@gmail.com80356342012-04-02 19:16:55 +0900238 'test/sequenced_worker_pool_owner.cc',
239 'test/sequenced_worker_pool_owner.h',
jbates@chromium.orgf44a6882011-10-29 12:16:52 +0900240 'test/trace_event_analyzer_unittest.cc',
brettw@chromium.org088ae932011-01-01 13:48:49 +0900241 'threading/non_thread_safe_unittest.cc',
brettw@chromium.org61391822011-01-01 05:02:16 +0900242 'threading/platform_thread_unittest.cc',
brettw@chromium.org03d32fd2012-01-01 14:42:34 +0900243 'threading/sequenced_worker_pool_unittest.cc',
brettw@chromium.org34f964f2010-12-31 03:08:36 +0900244 'threading/simple_thread_unittest.cc',
brettw@chromium.org61391822011-01-01 05:02:16 +0900245 'threading/thread_checker_unittest.cc',
brettw@chromium.org5b5f5e02011-01-01 10:01:06 +0900246 'threading/thread_collision_warner_unittest.cc',
brettw@chromium.org63965582010-12-31 07:18:56 +0900247 'threading/thread_local_storage_unittest.cc',
248 'threading/thread_local_unittest.cc',
brettw@chromium.org5b5f5e02011-01-01 10:01:06 +0900249 'threading/thread_unittest.cc',
brettw@chromium.org34f964f2010-12-31 03:08:36 +0900250 'threading/watchdog_unittest.cc',
251 'threading/worker_pool_posix_unittest.cc',
252 'threading/worker_pool_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900253 'time_unittest.cc',
254 'time_win_unittest.cc',
255 'timer_unittest.cc',
glider@chromium.org0f9756f2009-12-17 21:37:58 +0900256 'tools_sanity_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900257 'tracked_objects_unittest.cc',
258 'tuple_unittest.cc',
pkasting@chromium.org046cd5a2009-11-14 04:27:48 +0900259 'utf_offset_string_conversions_unittest.cc',
pkasting@chromium.org47366502009-11-07 10:34:53 +0900260 'utf_string_conversions_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900261 'values_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900262 'version_unittest.cc',
akalin@chromium.orgf0ee79c2010-09-30 04:26:36 +0900263 'vlog_unittest.cc',
jar@chromium.org92d3dcf2011-12-23 07:07:41 +0900264 'win/dllmain.cc',
dmazzoni@chromium.orgb1bdde42011-12-03 13:31:13 +0900265 'win/enum_variant_unittest.cc',
siggi@chromium.org7913ed62010-11-07 00:39:40 +0900266 'win/event_trace_consumer_unittest.cc',
267 'win/event_trace_controller_unittest.cc',
268 'win/event_trace_provider_unittest.cc',
grt@chromium.orgce2cac52010-11-17 00:28:45 +0900269 'win/i18n_unittest.cc',
dmazzoni@chromium.orgb1bdde42011-12-03 13:31:13 +0900270 'win/iunknown_impl_unittest.cc',
brettw@google.com3890ab32011-01-02 03:26:16 +0900271 'win/object_watcher_unittest.cc',
brettw@chromium.orgb3a7c3e2010-10-17 13:41:54 +0900272 'win/pe_image_unittest.cc',
273 'win/registry_unittest.cc',
siggi@chromium.orgdb0946f2011-12-08 06:44:28 +0900274 'win/sampling_profiler_unittest.cc',
brettw@chromium.org45352272010-10-16 12:46:05 +0900275 'win/scoped_bstr_unittest.cc',
276 'win/scoped_comptr_unittest.cc',
erikwright@chromium.org82223842012-04-05 04:57:50 +0900277 'win/scoped_process_information_unittest.cc',
brettw@chromium.org45352272010-10-16 12:46:05 +0900278 'win/scoped_variant_unittest.cc',
brettw@google.comf4fe79b2011-01-01 02:18:50 +0900279 'win/win_util_unittest.cc',
rvargas@google.comed1496e2011-03-17 09:34:09 +0900280 'win/wrapped_window_proc_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900281 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900282 'dependencies': [
283 'base',
brettw@chromium.org67eb77e2009-10-15 07:06:14 +0900284 'base_i18n',
rvargas@google.com57a43962011-04-05 07:42:46 +0900285 'base_static',
akalin@chromium.org4158e992012-03-21 14:55:06 +0900286 'run_all_unittests',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900287 'test_support_base',
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900288 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
ajwong@chromium.orge2f951e2009-05-28 16:23:16 +0900289 '../testing/gmock.gyp:gmock',
mark@chromium.org15425a12009-02-26 06:26:55 +0900290 '../testing/gtest.gyp:gtest',
kinaba@google.com7f3f2422011-05-30 20:45:43 +0900291 '../third_party/icu/icu.gyp:icui18n',
292 '../third_party/icu/icu.gyp:icuuc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900293 ],
ajwong@chromium.org505386d2011-09-10 12:03:00 +0900294 'includes': ['../build/nocompile.gypi'],
295 'variables': {
296 # TODO(ajwong): Is there a way to autodetect this?
297 'module_dir': 'base'
298 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900299 'conditions': [
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900300 ['OS == "android"', {
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900301 'sources!': [
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900302 # TODO(michaelbai): Removed the below once the fix upstreamed.
303 'memory/mru_cache_unittest.cc',
304 'process_util_unittest.cc',
305 'synchronization/cancellation_flag_unittest.cc',
306 # TODO(michaelbai): The below files are excluded because of the
307 # missing JNI and should be added back once JNI is ready.
jrg@chromium.orga9057702011-12-07 08:28:21 +0900308 'android/jni_android_unittest.cc',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900309 'android/scoped_java_ref_unittest.cc',
310 'debug/stack_trace_unittest.cc',
311 ],
bulach@chromium.org6079a072012-02-24 09:09:38 +0900312 'dependencies': [
bulach@chromium.orgf9326a02012-03-08 21:39:13 +0900313 'android/jni_generator/jni_generator.gyp:jni_generator_tests',
bulach@chromium.org6079a072012-02-24 09:09:38 +0900314 ],
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900315 }],
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900316 ['OS=="android" and "<(gtest_target_type)"=="shared_library"', {
317 'dependencies': [
318 '../testing/android/native_test.gyp:native_test_native_code',
319 ],
320 }],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900321 ['use_glib==1', {
mark@chromium.org828adfd2009-03-02 15:53:31 +0900322 'sources!': [
323 'file_version_info_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900324 ],
willchan@chromium.orge6bcfff2010-10-20 04:09:30 +0900325 'conditions': [
326 [ 'linux_use_tcmalloc==1', {
327 'dependencies': [
328 'allocator/allocator.gyp:allocator',
329 ],
330 },
331 ],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900332 [ 'toolkit_uses_gtk==1', {
333 'sources': [
334 'nix/xdg_util_unittest.cc',
335 ],
336 'dependencies': [
337 '../build/linux/system.gyp:gtk',
338 ]
339 }],
willchan@chromium.orge6bcfff2010-10-20 04:09:30 +0900340 ],
sgk@google.com300c8752009-03-21 08:13:26 +0900341 'dependencies': [
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900342 '../build/linux/system.gyp:glib',
mirandac@chromium.org1d9e6492011-06-01 02:19:30 +0900343 '../build/linux/system.gyp:ssl',
thestig@chromium.orgb5e33342009-09-18 06:37:19 +0900344 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
sgk@google.com300c8752009-03-21 08:13:26 +0900345 ],
sadrul@chromium.org847a5722011-09-21 09:17:19 +0900346 }, { # use_glib!=1
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900347 'sources!': [
348 'message_pump_glib_unittest.cc',
349 ]
mark@chromium.org828adfd2009-03-02 15:53:31 +0900350 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900351 # This is needed to trigger the dll copy step on windows.
352 # TODO(mark): This should not be necessary.
mark@chromium.org828adfd2009-03-02 15:53:31 +0900353 ['OS == "win"', {
354 'dependencies': [
jshin@chromium.org5b8504c2009-09-09 15:49:08 +0900355 '../third_party/icu/icu.gyp:icudata',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900356 ],
357 'sources!': [
agl@chromium.org4300a312010-03-12 00:25:54 +0900358 'dir_reader_posix_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900359 'file_descriptor_shuffle_unittest.cc',
brettw@chromium.org975db2b2010-12-31 03:29:28 +0900360 'threading/worker_pool_posix_unittest.cc',
dmaclach@chromium.org482f99a2011-05-14 01:19:23 +0900361 'message_pump_libevent_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900362 ],
363 }, { # OS != "win"
phajdan.jr@chromium.org01b92782011-08-05 07:23:55 +0900364 'dependencies': [
365 '../third_party/libevent/libevent.gyp:libevent'
366 ],
brettw@chromium.org45352272010-10-16 12:46:05 +0900367 'sources/': [
368 ['exclude', '^win/'],
369 ],
mark@chromium.org828adfd2009-03-02 15:53:31 +0900370 'sources!': [
sadrul@chromium.org9bb2c1a2011-05-25 09:20:42 +0900371 'debug/trace_event_win_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900372 'time_win_unittest.cc',
sadrul@chromium.org9bb2c1a2011-05-25 09:20:42 +0900373 'win/win_util_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900374 ],
375 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900376 ['OS=="mac"', {
377 'dependencies': [
378 'closure_blocks_leopard_compat',
379 ],
380 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900381 ],
382 },
sgk@google.com2b059ed2009-03-17 08:46:45 +0900383 {
akalin@chromium.org836c6e62011-12-02 16:31:09 +0900384 'target_name': 'check_example',
385 'type': 'executable',
386 'sources': [
387 'check_example.cc',
388 ],
389 'dependencies': [
390 'base',
391 ],
392 },
393 {
sgk@google.com2b059ed2009-03-17 08:46:45 +0900394 'target_name': 'test_support_base',
evan@chromium.org0b930f22011-05-20 08:18:53 +0900395 'type': 'static_library',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900396 'dependencies': [
397 'base',
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900398 'base_static',
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900399 'base_i18n',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900400 '../testing/gmock.gyp:gmock',
401 '../testing/gtest.gyp:gtest',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900402 ],
rvargas@google.com97a20ec2011-04-22 07:22:10 +0900403 'export_dependent_settings': [
404 'base',
405 ],
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900406 'conditions': [
mark@chromium.org639d3b52011-05-13 03:18:34 +0900407 ['toolkit_uses_gtk==1', {
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900408 'dependencies': [
409 # test_suite initializes GTK.
410 '../build/linux/system.gyp:gtk',
411 ],
412 }],
joaodasilva@chromium.orgefe510f2011-06-21 02:44:05 +0900413 ['os_posix==0', {
414 'sources!': [
415 'test/scoped_locale.cc',
416 'test/scoped_locale.h',
417 ],
418 }],
robert.nagy@gmail.combddca342011-11-23 08:41:45 +0900419 ['os_bsd==1', {
robert.nagy@gmail.comea54e462011-10-25 07:05:27 +0900420 'sources!': [
421 'test/test_file_util_linux.cc',
422 ],
423 }],
brettw@chromium.orgf4850792010-08-16 13:42:26 +0900424 ],
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900425 'sources': [
brettw@chromium.orge0a88f32010-10-10 11:42:32 +0900426 'perftimer.cc',
thakis@chromium.org5e435992010-12-18 10:18:29 +0900427 'test/mock_chrome_application_mac.h',
428 'test/mock_chrome_application_mac.mm',
vandebo@chromium.orgfab003a2012-03-03 08:13:40 +0900429 'test/mock_devices_changed_observer.cc',
430 'test/mock_devices_changed_observer.h',
stevet@chromium.orge493ba32011-06-28 23:29:06 +0900431 'test/mock_time_provider.cc',
432 'test/mock_time_provider.h',
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +0900433 'test/multiprocess_test.cc',
434 'test/multiprocess_test.h',
brettw@chromium.orgafb572a2010-10-10 09:21:35 +0900435 'test/perf_test_suite.cc',
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +0900436 'test/perf_test_suite.h',
joaodasilva@chromium.orgefe510f2011-06-21 02:44:05 +0900437 'test/scoped_locale.cc',
438 'test/scoped_locale.h',
francoisk777@gmail.com80356342012-04-02 19:16:55 +0900439 'test/sequenced_task_runner_test_template.cc',
440 'test/sequenced_task_runner_test_template.h',
akalin@chromium.org38d2e292012-03-09 15:20:18 +0900441 'test/task_runner_test_template.cc',
442 'test/task_runner_test_template.h',
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900443 'test/test_file_util.h',
444 'test/test_file_util_linux.cc',
445 'test/test_file_util_mac.cc',
446 'test/test_file_util_posix.cc',
447 'test/test_file_util_win.cc',
rogerta@chromium.orgea6545c2011-08-25 05:02:42 +0900448 'test/test_reg_util_win.cc',
449 'test/test_reg_util_win.h',
brettw@chromium.org694bb6f2010-08-16 13:18:41 +0900450 'test/test_suite.cc',
451 'test/test_suite.h',
michaelbai@google.com7cdf8a52011-10-04 01:25:19 +0900452 'test/test_stub_android.cc',
sergeyu@chromium.org0f6abbc2010-10-06 04:03:05 +0900453 'test/test_switches.cc',
454 'test/test_switches.h',
455 'test/test_timeouts.cc',
456 'test/test_timeouts.h',
jochen@chromium.orgf5593332011-06-28 15:43:20 +0900457 'test/thread_test_helper.cc',
458 'test/thread_test_helper.h',
jbates@chromium.orgf44a6882011-10-29 12:16:52 +0900459 'test/trace_event_analyzer.cc',
460 'test/trace_event_analyzer.h',
akalin@chromium.orgd79b68c2012-02-29 12:57:29 +0900461 'test/values_test_util.cc',
462 'test/values_test_util.h',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900463 ],
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900464 },
465 {
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900466 'target_name': 'base_unittests_run',
467 'type': 'none',
468 'dependencies': [
469 'base_unittests',
470 ],
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900471 'includes': [
472 'base_unittests.isolate',
473 ],
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900474 'actions': [
475 {
maruel@chromium.orgfd474db2012-03-09 09:34:45 +0900476 'action_name': 'isolate',
477 'inputs': [
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900478 'base_unittests.isolate',
479 '<@(isolate_dependency_tracked)',
maruel@chromium.orgfd474db2012-03-09 09:34:45 +0900480 ],
481 'outputs': [
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900482 '<(PRODUCT_DIR)/base_unittests.results',
483 ],
484 'action': [
485 'python',
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900486 '../tools/isolate/isolate.py',
487 '--mode', '<(tests_run)',
maruel@chromium.org78d3e3d2012-04-23 12:05:36 +0900488 '--variable', 'PRODUCT_DIR', '<(PRODUCT_DIR)',
489 '--variable', 'OS', '<(OS)',
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900490 '--result', '<@(_outputs)',
maruel@chromium.orga9199b02012-04-12 10:59:29 +0900491 'base_unittests.isolate',
maruel@chromium.org842e65b2012-03-07 23:39:56 +0900492 ],
493 },
494 ],
495 },
496 {
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900497 'target_name': 'test_support_perf',
evan@chromium.org0b930f22011-05-20 08:18:53 +0900498 'type': 'static_library',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900499 'dependencies': [
500 'base',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900501 '../testing/gtest.gyp:gtest',
502 ],
503 'sources': [
504 'perftimer.cc',
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900505 'test/run_all_perftests.cc',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900506 ],
507 'direct_dependent_settings': {
508 'defines': [
509 'PERF_TEST',
510 ],
511 },
sgk@google.com300c8752009-03-21 08:13:26 +0900512 'conditions': [
mark@chromium.org639d3b52011-05-13 03:18:34 +0900513 ['toolkit_uses_gtk==1', {
sgk@google.com300c8752009-03-21 08:13:26 +0900514 'dependencies': [
515 # Needed to handle the #include chain:
brettw@chromium.orga52632f2009-10-10 03:20:30 +0900516 # base/test/perf_test_suite.h
517 # base/test/test_suite.h
sgk@google.com300c8752009-03-21 08:13:26 +0900518 # gtk/gtk.h
519 '../build/linux/system.gyp:gtk',
520 ],
521 }],
522 ],
sgk@google.com2b059ed2009-03-17 08:46:45 +0900523 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900524 ],
525 'conditions': [
yfriedman@chromium.org71995f32012-04-17 13:39:52 +0900526 ['OS == "android"', {
527 'targets': [
528 {
529 'target_name': 'base_jni_headers',
530 'type': 'none',
531 'variables': {
532 'java_sources': [
533 'android/java/org/chromium/base/BuildInfo.java',
534 'android/java/org/chromium/base/PathUtils.java',
535 'android/java/org/chromium/base/SystemMessageHandler.java',
536 ],
537 'jni_headers': [
538 '<(SHARED_INTERMEDIATE_DIR)/base/jni/build_info_jni.h',
539 '<(SHARED_INTERMEDIATE_DIR)/base/jni/path_utils_jni.h',
540 '<(SHARED_INTERMEDIATE_DIR)/base/jni/system_message_handler_jni.h',
541 ],
542 },
543 'includes': [ '../build/jni_generator.gypi' ],
544 },
545 {
546 'target_name': 'base_java',
547 'type': 'none',
548 'variables': {
549 'package_name': 'base',
550 'java_in_dir': 'android/java',
551 },
552 'includes': [ '../build/java.gypi' ],
553 },
554 ],
555 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900556 ['OS == "win"', {
mark@chromium.org15425a12009-02-26 06:26:55 +0900557 'targets': [
558 {
559 'target_name': 'debug_message',
560 'type': 'executable',
561 'sources': [
562 'debug_message.cc',
563 ],
sgk@google.com36d40a42009-05-22 11:39:14 +0900564 'msvs_settings': {
565 'VCLinkerTool': {
566 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
567 },
568 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900569 },
570 ],
571 }],
jam@chromium.org7059e302012-03-01 10:58:05 +0900572 ['OS=="mac"', {
573 'targets': [
574 {
575 'target_name': 'closure_blocks_leopard_compat',
576 'sources': [
577 'mac/closure_blocks_leopard_compat.h',
578 ],
579 'conditions': [
580 ['mac_sdk == "10.5"', {
581 'type': 'shared_library',
582 'product_name': 'closure_blocks_leopard_compat_stub',
583 'variables': {
584 # This target controls stripping directly. See below.
585 'mac_strip': 0,
586 },
587 'sources': [
588 'mac/closure_blocks_leopard_compat.S',
589 ],
590 'xcode_settings': {
591 # These values are taken from libSystem.dylib in the 10.5
592 # SDK. Setting LD_DYLIB_INSTALL_NAME causes anything linked
593 # against this stub library to look for the symbols it
594 # provides in the real libSystem at runtime. When using ld
595 # from Xcode 4 or later (ld64-123.2 and up), giving two
596 # libraries with the same "install name" to the linker will
597 # cause it to print "ld: warning: dylibs with same install
598 # name". This is harmless, and ld will behave as intended
599 # here.
600 #
601 # The real library's compatibility version is used, and the
602 # value of the current version from the SDK is used to make
603 # it appear as though anything linked against this stub was
604 # linked against the real thing.
605 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib',
606 'DYLIB_COMPATIBILITY_VERSION': '1.0.0',
607 'DYLIB_CURRENT_VERSION': '111.1.4',
608
609 # Turn on stripping (yes, even in debug mode), and add the -c
610 # flag. This is what produces a stub library (MH_DYLIB_STUB)
611 # as opposed to a dylib (MH_DYLIB). MH_DYLIB_STUB files
612 # contain symbol tables and everything else needed for
613 # linking, but are stripped of section contents. This is the
614 # same way that the stub libraries in Mac OS X SDKs are
615 # created. dyld will refuse to load a stub library, so this
616 # provides some insurance in case anyone tries to load the
617 # stub at runtime.
618 'DEPLOYMENT_POSTPROCESSING': 'YES',
619 'STRIP_STYLE': 'non-global',
620 'STRIPFLAGS': '-c',
621 },
622 }, { # else: mac_sdk != "10.5"
623 # When using the 10.6 SDK or newer, the necessary definitions
624 # are already present in libSystem.dylib. There is no need to
625 # build a stub dylib to provide these symbols at link time.
626 # This target is still useful to cause those symbols to be
627 # treated as weak imports in dependents, who still must
628 # #include closure_blocks_leopard_compat.h to get weak imports.
629 'type': 'none',
630 }],
631 ],
632 },
633 ],
634 }],
jrg@chromium.org37eb4e92012-04-20 06:02:09 +0900635 # Special target to wrap a <(gtest_target_type)==shared_library
636 # base_unittests into an android apk for execution.
637 # TODO(jrg): lib.target comes from _InstallableTargetInstallPath()
638 # in the gyp make generator. What is the correct way to extract
639 # this path from gyp and into 'raw' for input to antfiles?
640 # Hard-coding in the gypfile seems a poor choice.
641 # TODO(jrg): there has to be a shorter way to do all this. Try
642 # and convert this entire target cluster into ~5 lines that can be
643 # trivially copied to other projects with only a deps change, such
644 # as with a new gtest_target_type called
645 # 'shared_library_apk_wrapper' that does a lot of this magically.
646 ['OS=="android" and "<(gtest_target_type)"=="shared_library"', {
647 'targets': [
648 {
649 'target_name': 'base_unittests_apk',
650 'type': 'none',
651 'dependencies': [
652 'base', # So that android/java/java.gyp:base_java is built
653 'base_unittests',
654 ],
655 'actions': [
656 {
657 # Generate apk files (including source and antfile) from
658 # a template, and builds them.
659 'action_name': 'generate_and_build',
660 'inputs': [
661 '../testing/android/generate_native_test.py',
662 '<(PRODUCT_DIR)/lib.target/libbase_unittests.so',
663 '<(PRODUCT_DIR)/chromium_base.jar'
664 ],
665 'outputs': [
666 '<(PRODUCT_DIR)/ChromeNativeTests_base_unittests-debug.apk',
667 ],
668 'action': [
669 '../testing/android/generate_native_test.py',
670 '--native_library',
671 '<(PRODUCT_DIR)/lib.target/libbase_unittests.so',
672 '--jar',
673 '<(PRODUCT_DIR)/chromium_base.jar',
674 '--output',
675 '<(PRODUCT_DIR)/base_unittests_apk',
676 '--ant-args',
677 '-DPRODUCT_DIR=<(PRODUCT_DIR)',
678 '--ant-compile'
679 ],
680 },
681 ]
682 }],
683 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900684 ],
685}