blob: a495d495e062f576e2bc450147a23d5d58e62a85 [file] [log] [blame]
mark@chromium.org15425a12009-02-26 06:26:55 +09001# Copyright (c) 2009 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 '../build/common.gypi',
11 ],
12 'targets': [
13 {
14 'target_name': 'base',
sgk@google.comf8000932009-04-08 21:55:49 +090015 'type': '<(library)',
mark@chromium.org15425a12009-02-26 06:26:55 +090016 'dependencies': [
17 '../third_party/icu38/icu38.gyp:icui18n',
18 '../third_party/icu38/icu38.gyp:icuuc',
19 ],
bradnelson@google.comfb954952009-03-11 07:25:54 +090020 'msvs_guid': '1832A374-8A74-4F9E-B536-69A699B3E165',
mark@chromium.org15425a12009-02-26 06:26:55 +090021 'sources': [
22 '../build/build_config.h',
wtc@chromium.org3d33e022009-04-11 01:36:34 +090023 'crypto/cssm_init.cc',
24 'crypto/cssm_init.h',
aa@chromium.org31d8f2f2009-06-06 03:25:06 +090025 'crypto/rsa_private_key.h',
26 'crypto/rsa_private_key_win.cc',
27 'crypto/signature_creator.h',
28 'crypto/signature_creator_win.cc',
wtc@chromium.org3d33e022009-04-11 01:36:34 +090029 'crypto/signature_verifier.h',
30 'crypto/signature_verifier_mac.cc',
31 'crypto/signature_verifier_nss.cc',
32 'crypto/signature_verifier_win.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +090033 'third_party/dmg_fp/dmg_fp.h',
34 'third_party/dmg_fp/dtoa.cc',
35 'third_party/dmg_fp/g_fmt.cc',
36 'third_party/nspr/prcpucfg.h',
37 'third_party/nspr/prcpucfg_win.h',
38 'third_party/nspr/prtime.cc',
39 'third_party/nspr/prtime.h',
40 'third_party/nspr/prtypes.h',
41 'third_party/nss/blapi.h',
42 'third_party/nss/blapit.h',
43 'third_party/nss/sha256.h',
44 'third_party/nss/sha512.cc',
45 'third_party/purify/pure.h',
46 'third_party/purify/pure_api.c',
thestig@chromium.org1a3fde92009-05-16 13:30:05 +090047 'third_party/xdg_mime/xdgmime.c',
48 'third_party/xdg_mime/xdgmime.h',
49 'third_party/xdg_mime/xdgmimealias.c',
50 'third_party/xdg_mime/xdgmimealias.h',
51 'third_party/xdg_mime/xdgmimecache.c',
52 'third_party/xdg_mime/xdgmimecache.h',
53 'third_party/xdg_mime/xdgmimeglob.c',
54 'third_party/xdg_mime/xdgmimeglob.h',
55 'third_party/xdg_mime/xdgmimeicon.c',
56 'third_party/xdg_mime/xdgmimeicon.h',
57 'third_party/xdg_mime/xdgmimeint.c',
58 'third_party/xdg_mime/xdgmimeint.h',
59 'third_party/xdg_mime/xdgmimemagic.c',
60 'third_party/xdg_mime/xdgmimemagic.h',
61 'third_party/xdg_mime/xdgmimeparent.c',
62 'third_party/xdg_mime/xdgmimeparent.h',
mark@chromium.org15425a12009-02-26 06:26:55 +090063 'atomicops_internals_x86_gcc.cc',
64 'at_exit.cc',
65 'at_exit.h',
66 'atomic_ref_count.h',
67 'atomic_sequence_num.h',
68 'atomicops.h',
69 'atomicops_internals_x86_msvc.h',
70 'base_drag_source.cc',
71 'base_drag_source.h',
72 'base_drop_target.cc',
73 'base_drop_target.h',
74 'base_paths.cc',
75 'base_paths.h',
mark@chromium.org582c1dd2009-03-24 00:54:43 +090076 'base_paths_linux.h',
mark@chromium.org15425a12009-02-26 06:26:55 +090077 'base_paths_linux.cc',
mark@chromium.org582c1dd2009-03-24 00:54:43 +090078 'base_paths_mac.h',
mark@chromium.org15425a12009-02-26 06:26:55 +090079 'base_paths_mac.mm',
80 'base_paths_win.cc',
81 'base_paths_win.h',
82 'base_switches.cc',
83 'base_switches.h',
84 'basictypes.h',
85 'bzip2_error_handler.cc',
86 'clipboard.cc',
87 'clipboard.h',
88 'clipboard_linux.cc',
89 'clipboard_mac.mm',
90 'clipboard_util.cc',
91 'clipboard_util.h',
92 'clipboard_win.cc',
93 'command_line.cc',
94 'command_line.h',
95 'compiler_specific.h',
96 'condition_variable.h',
97 'condition_variable_posix.cc',
98 'condition_variable_win.cc',
99 'cpu.cc',
100 'cpu.h',
101 'data_pack.cc',
102 'debug_on_start.cc',
103 'debug_on_start.h',
104 'debug_util.cc',
105 'debug_util.h',
106 'debug_util_mac.cc',
107 'debug_util_posix.cc',
108 'debug_util_win.cc',
109 'directory_watcher.h',
phajdan.jr@chromium.org75b96ac2009-03-18 23:35:58 +0900110 'directory_watcher_inotify.cc',
phajdan.jr@chromium.orgb70bbac2009-05-01 04:39:15 +0900111 'directory_watcher_mac.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900112 'directory_watcher_win.cc',
deanm@chromium.org7c73faa2009-06-26 20:28:03 +0900113 'dynamic_annotations.h',
114 'dynamic_annotations.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900115 'event_recorder.cc',
116 'event_recorder.h',
117 'event_recorder_stubs.cc',
118 'field_trial.cc',
119 'field_trial.h',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900120 'file_descriptor_shuffle.cc',
121 'file_descriptor_shuffle.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900122 'file_path.cc',
123 'file_path.h',
124 'file_util.cc',
125 'file_util.h',
sra@chromium.org329849d2009-04-08 06:02:11 +0900126 'file_util_icu.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900127 'file_util_linux.cc',
128 'file_util_mac.mm',
129 'file_util_posix.cc',
130 'file_util_win.cc',
131 'file_version_info.cc',
132 'file_version_info.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900133 'file_version_info_mac.mm',
134 'fix_wp64.h',
135 'float_util.h',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900136 'foundation_utils_mac.h',
agl@chromium.org28a12e72009-06-13 02:36:55 +0900137 'global_descriptors_posix.h',
138 'global_descriptors_posix.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900139 'hash_tables.h',
140 'histogram.cc',
141 'histogram.h',
142 'hmac.h',
143 'hmac_mac.cc',
144 'hmac_nss.cc',
145 'hmac_win.cc',
146 'iat_patch.cc',
147 'iat_patch.h',
148 'icu_util.cc',
149 'icu_util.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900150 'idle_timer.cc',
151 'idle_timer.h',
152 'idle_timer_none.cc',
phajdan.jr@chromium.orga12746c2009-08-19 23:56:38 +0900153 'id_map.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900154 'image_util.cc',
155 'image_util.h',
156 'json_reader.cc',
157 'json_reader.h',
158 'json_writer.cc',
159 'json_writer.h',
160 'keyboard_codes.h',
161 'keyboard_codes_win.h',
162 'lazy_instance.cc',
163 'lazy_instance.h',
ericroman@google.com7e41f132009-08-12 06:38:54 +0900164 'leak_tracker.h',
165 'linked_list.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900166 'linked_ptr.h',
sgk@google.come1f4a242009-04-22 02:20:10 +0900167 'linux_util.cc',
168 'linux_util.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900169 'lock.cc',
170 'lock.h',
171 'lock_impl.h',
172 'lock_impl_posix.cc',
173 'lock_impl_win.cc',
174 'logging.cc',
175 'logging.h',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900176 'mac_util.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900177 'mac_util.mm',
178 'md5.cc',
179 'md5.h',
180 'memory_debug.cc',
181 'memory_debug.h',
182 'message_loop.cc',
183 'message_loop.h',
184 'message_pump.h',
185 'message_pump_default.cc',
186 'message_pump_default.h',
187 'message_pump_glib.cc',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900188 'message_pump_glib.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900189 'message_pump_libevent.cc',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900190 'message_pump_libevent.h',
191 'message_pump_mac.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900192 'message_pump_mac.mm',
193 'message_pump_win.cc',
194 'message_pump_win.h',
thestig@chromium.org1a3fde92009-05-16 13:30:05 +0900195 'mime_util.h',
196 'mime_util_linux.cc',
evan@chromium.orgda642ae2009-04-21 09:56:07 +0900197 'native_library.h',
198 'native_library_linux.cc',
199 'native_library_mac.mm',
200 'native_library_win.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900201 'non_thread_safe.cc',
202 'non_thread_safe.h',
203 'nss_init.cc',
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900204 'nss_init.h',
jorlow@chromium.org3a2fc8c2009-08-27 09:55:02 +0900205 'nullable_string16.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900206 'object_watcher.cc',
207 'object_watcher.h',
208 'observer_list.h',
209 'observer_list_threadsafe.h',
210 'path_service.cc',
211 'path_service.h',
212 'pe_image.cc',
213 'pe_image.h',
214 'pickle.cc',
215 'pickle.h',
216 'platform_file.h',
217 'platform_file_win.cc',
218 'platform_file_posix.cc',
219 'platform_thread.h',
220 'platform_thread_mac.mm',
221 'platform_thread_posix.cc',
222 'platform_thread_win.cc',
223 'port.h',
asargent@chromium.orge3333cc2009-03-10 06:26:28 +0900224 'profiler.cc',
225 'profiler.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900226 'process.h',
227 'process_posix.cc',
228 'process_util.h',
229 'process_util_linux.cc',
230 'process_util_mac.mm',
231 'process_util_posix.cc',
232 'process_util_win.cc',
233 'process_win.cc',
234 'rand_util.cc',
235 'rand_util.h',
236 'rand_util_posix.cc',
237 'rand_util_win.cc',
238 'ref_counted.cc',
239 'ref_counted.h',
240 'registry.cc',
241 'registry.h',
242 'resource_util.cc',
243 'resource_util.h',
244 'revocable_store.cc',
245 'revocable_store.h',
246 'scoped_bstr_win.cc',
247 'scoped_bstr_win.h',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900248 'scoped_cftyperef.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900249 'scoped_clipboard_writer.cc',
250 'scoped_clipboard_writer.h',
251 'scoped_comptr_win.h',
252 'scoped_handle.h',
253 'scoped_handle_win.h',
254 'scoped_nsautorelease_pool.h',
255 'scoped_nsautorelease_pool.mm',
pinkerton@chromium.org37462252009-06-10 02:39:34 +0900256 'scoped_nsdisable_screen_updates.h',
mark@chromium.org582c1dd2009-03-24 00:54:43 +0900257 'scoped_nsobject.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900258 'scoped_ptr.h',
259 'scoped_temp_dir.cc',
260 'scoped_temp_dir.h',
tommi@chromium.org27a0e642009-03-19 13:22:28 +0900261 'scoped_variant_win.cc',
262 'scoped_variant_win.h',
ben@chromium.orgbc3bca72009-05-05 12:31:44 +0900263 'scoped_vector.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900264 'sha2.cc',
265 'sha2.h',
266 'shared_memory.h',
267 'shared_memory_posix.cc',
268 'shared_memory_win.cc',
269 'simple_thread.cc',
270 'simple_thread.h',
271 'singleton.h',
272 'spin_wait.h',
273 'stack_container.h',
274 'stats_counters.h',
275 'stats_table.cc',
276 'stats_table.h',
ben@chromium.orgbc3bca72009-05-05 12:31:44 +0900277 'stl_util-inl.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900278 'string16.cc',
279 'string16.h',
280 'string_escape.cc',
281 'string_escape.h',
282 'string_piece.cc',
283 'string_piece.h',
284 'string_tokenizer.h',
285 'string_util.cc',
286 'string_util.h',
287 'string_util_icu.cc',
288 'string_util_win.h',
289 'sys_info.h',
evan@chromium.org54b72102009-07-22 09:35:18 +0900290 'sys_info_chromeos.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900291 'sys_info_mac.cc',
292 'sys_info_posix.cc',
293 'sys_info_win.cc',
294 'sys_string_conversions.h',
295 'sys_string_conversions_linux.cc',
296 'sys_string_conversions_mac.mm',
297 'sys_string_conversions_win.cc',
298 'system_monitor.cc',
299 'system_monitor.h',
300 'system_monitor_posix.cc',
301 'system_monitor_win.cc',
302 'task.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900303 'thread.cc',
304 'thread.h',
305 'thread_collision_warner.cc',
306 'thread_collision_warner.h',
307 'thread_local.h',
308 'thread_local_posix.cc',
309 'thread_local_storage.h',
310 'thread_local_storage_posix.cc',
311 'thread_local_storage_win.cc',
312 'thread_local_win.cc',
313 'time.cc',
314 'time.h',
315 'time_format.cc',
316 'time_format.h',
317 'time_mac.cc',
318 'time_posix.cc',
319 'time_win.cc',
320 'timer.cc',
321 'timer.h',
322 'trace_event.cc',
323 'trace_event.h',
324 'tracked.cc',
325 'tracked.h',
326 'tracked_objects.cc',
327 'tracked_objects.h',
328 'tuple.h',
agl@chromium.org28a12e72009-06-13 02:36:55 +0900329 'unix_domain_socket_posix.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900330 'values.cc',
331 'values.h',
332 'version.cc',
333 'version.h',
334 'waitable_event.h',
335 'waitable_event_posix.cc',
336 'waitable_event_watcher.h',
337 'waitable_event_watcher_posix.cc',
338 'waitable_event_watcher_win.cc',
339 'waitable_event_win.cc',
340 'watchdog.cc',
341 'watchdog.h',
darin@chromium.org046526c2009-09-02 05:50:17 +0900342 'weak_ptr.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900343 'win_util.cc',
344 'win_util.h',
345 'windows_message_list.h',
346 'wmi_util.cc',
347 'wmi_util.h',
348 'word_iterator.cc',
349 'word_iterator.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900350 'worker_pool.h',
willchan@chromium.org920c60c2009-03-07 05:35:45 +0900351 'worker_pool_linux.cc',
willchan@chromium.orge0a8f3a2009-03-25 08:41:53 +0900352 'worker_pool_linux.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900353 'worker_pool_mac.mm',
willchan@chromium.org920c60c2009-03-07 05:35:45 +0900354 'worker_pool_win.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900355 ],
356 'include_dirs': [
357 '..',
358 ],
359 'direct_dependent_settings': {
360 'include_dirs': [
361 '..',
362 ],
363 },
364 # These warnings are needed for the files in third_party\dmg_fp.
365 'msvs_disabled_warnings': [
366 4244, 4554, 4018, 4102,
367 ],
368 'conditions': [
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900369 [ 'OS == "linux" or OS == "freebsd"', {
willchan@chromium.orgf4a03ec2009-08-27 06:53:46 +0900370 'variables' : {
371 'linux_use_tcmalloc%': 0,
372 },
evan@chromium.org54b72102009-07-22 09:35:18 +0900373 'sources/': [ ['exclude', '_(mac|win|chromeos)\\.cc$'],
mark@chromium.org15425a12009-02-26 06:26:55 +0900374 ['exclude', '\\.mm?$' ] ],
375 'sources!': [
376 # Linux has an implementation of idle_timer that depends
377 # on XScreenSaver, but it's unclear if we want it yet,
378 # so use idle_timer_none.cc instead.
379 'idle_timer.cc',
380 ],
evan@chromium.org54b72102009-07-22 09:35:18 +0900381 'conditions': [
382 [ 'chromeos==1', {
383 'sources/': [ ['include', '_chromeos\\.cc$'] ]
384 },
385 ],
willchan@chromium.orgf4a03ec2009-08-27 06:53:46 +0900386 [ 'linux_use_tcmalloc==1', {
387 'dependencies': [
388 '../third_party/tcmalloc/tcmalloc.gyp:tcmalloc',
389 ],
390 },
391 ],
evan@chromium.org54b72102009-07-22 09:35:18 +0900392 ],
sgk@google.com300c8752009-03-21 08:13:26 +0900393 'dependencies': [
sgk@google.com6cf49262009-06-05 01:08:16 +0900394 '../build/util/build_util.gyp:lastchange',
sgk@google.com300c8752009-03-21 08:13:26 +0900395 '../build/linux/system.gyp:gtk',
396 '../build/linux/system.gyp:nss',
397 ],
398 'cflags': [
399 '-Wno-write-strings',
400 ],
benl@chromium.org11b293c2009-09-08 03:29:35 +0900401 'link_settings': {
402 'libraries': [
403 # We need rt for clock_gettime().
404 '-lrt',
405 ],
406 },
sky@chromium.orgff7ef5a2009-05-19 06:12:34 +0900407 'export_dependent_settings': [
408 '../build/linux/system.gyp:gtk',
409 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900410 },
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900411 { # else: OS != "linux" && OS != "freebsd"
thestig@chromium.org1a3fde92009-05-16 13:30:05 +0900412 'sources/': [
413 ['exclude', '/xdg_mime/'],
414 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900415 'sources!': [
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900416 'crypto/signature_verifier_nss.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900417 'atomicops_internals_x86_gcc.cc',
phajdan.jr@chromium.org75b96ac2009-03-18 23:35:58 +0900418 'directory_watcher_inotify.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900419 'hmac_nss.cc',
420 'idle_timer_none.cc',
sgk@google.come1f4a242009-04-22 02:20:10 +0900421 'linux_util.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900422 'message_pump_glib.cc',
423 'nss_init.cc',
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900424 'nss_init.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900425 'time_posix.cc',
426 ],
427 }
428 ],
agl@chromium.orga6fc1a72009-03-19 08:19:10 +0900429 [ 'GENERATOR == "quentin"', {
430 # Quentin builds don't have a recent enough glibc to include the
431 # inotify headers
432 'sources!': [
433 'directory_watcher_inotify.cc',
434 ],
435 'sources': [
436 'directory_watcher_stub.cc',
437 ],
438 },
439 ],
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900440 [ 'OS == "freebsd"', {
441 'sources!': [
442 'directory_watcher_inotify.cc',
443 ],
444 'sources': [
445 'directory_watcher_stub.cc',
446 ],
447 },
448 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900449 [ 'OS == "mac"', {
evan@chromium.org54b72102009-07-22 09:35:18 +0900450 'sources/': [ ['exclude', '_(linux|win|chromeos)\\.cc$'] ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900451 'sources!': [
mark@chromium.org15425a12009-02-26 06:26:55 +0900452 ],
453 'link_settings': {
454 'libraries': [
455 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
456 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
457 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
458 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900459 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
mark@chromium.org15425a12009-02-26 06:26:55 +0900460 ],
461 },
462 },
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900463 { # else: OS != "mac"
464 'sources!': [
465 'crypto/cssm_init.cc',
466 'crypto/cssm_init.h',
467 ],
468 }
mark@chromium.org15425a12009-02-26 06:26:55 +0900469 ],
470 [ 'OS == "win"', {
jhawkins@chromium.org418b8212009-08-08 05:57:16 +0900471 'include_dirs': [
472 '../chrome/third_party/wtl/include',
473 ],
evan@chromium.org54b72102009-07-22 09:35:18 +0900474 'sources/': [ ['exclude', '_(linux|mac|posix|chromeos)\\.cc$'],
mark@chromium.org15425a12009-02-26 06:26:55 +0900475 ['exclude', '\\.mm?$' ] ],
jhawkins@chromium.org418b8212009-08-08 05:57:16 +0900476 'sources': [
477 'window_impl.cc',
478 'window_impl.h',
479 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900480 'sources!': [
mark@chromium.org95f0acf2009-02-27 00:25:44 +0900481 'data_pack.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900482 'event_recorder_stubs.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900483 'file_descriptor_shuffle.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900484 'message_pump_libevent.cc',
485 'string16.cc',
486 ],
487 },
488 { # else: OS != "win"
489 'dependencies': ['../third_party/libevent/libevent.gyp:libevent'],
490 'sources!': [
491 'third_party/purify/pure_api.c',
492 'base_drag_source.cc',
493 'base_drop_target.cc',
494 'cpu.cc',
495 'clipboard_util.cc',
496 'debug_on_start.cc',
497 'event_recorder.cc',
498 'file_version_info.cc',
499 'iat_patch.cc',
500 'image_util.cc',
501 'object_watcher.cc',
502 'pe_image.cc',
503 'registry.cc',
504 'resource_util.cc',
505 'win_util.cc',
506 'wmi_util.cc',
507 ],
508 },
509 ],
510 ],
511 },
512 {
513 'target_name': 'base_gfx',
sgk@google.comf8000932009-04-08 21:55:49 +0900514 'type': '<(library)',
bradnelson@google.comfb954952009-03-11 07:25:54 +0900515 'msvs_guid': 'A508ADD3-CECE-4E0F-8448-2F5E454DF551',
mark@chromium.org15425a12009-02-26 06:26:55 +0900516 'sources': [
piman@chromium.orgc01653d2009-07-25 05:35:28 +0900517 'gfx/blit.cc',
518 'gfx/blit.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900519 'gfx/gdi_util.cc',
520 'gfx/gdi_util.h',
agl@chromium.org79f41272009-04-24 10:59:32 +0900521 'gfx/gtk_native_view_id_manager.cc',
522 'gfx/gtk_native_view_id_manager.h',
sgk@google.comf6819652009-03-07 06:33:46 +0900523 'gfx/gtk_util.cc',
524 'gfx/gtk_util.h',
mark@chromium.org15425a12009-02-26 06:26:55 +0900525 'gfx/jpeg_codec.cc',
526 'gfx/jpeg_codec.h',
527 'gfx/native_theme.cc',
528 'gfx/native_theme.h',
529 'gfx/native_widget_types.h',
agl@chromium.org79f41272009-04-24 10:59:32 +0900530 'gfx/native_widget_types_gtk.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900531 'gfx/png_decoder.cc',
532 'gfx/png_decoder.h',
533 'gfx/png_encoder.cc',
534 'gfx/png_encoder.h',
535 'gfx/point.cc',
536 'gfx/point.h',
537 'gfx/rect.cc',
538 'gfx/rect.h',
539 'gfx/size.cc',
540 'gfx/size.h',
541 ],
542 'mac_framework_dirs': [
543 '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
544 ],
545 'dependencies': [
546 'base',
547 '../skia/skia.gyp:skia',
548 '../third_party/libjpeg/libjpeg.gyp:libjpeg',
549 '../third_party/libpng/libpng.gyp:libpng',
550 '../third_party/zlib/zlib.gyp:zlib',
551 ],
552 'export_dependent_settings': [
553 'base',
554 ],
555 'conditions': [
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900556 ['OS == "linux" or OS == "freebsd"', {
sgk@google.com300c8752009-03-21 08:13:26 +0900557 'dependencies': [
558 '../build/linux/system.gyp:gtk',
559 ],
560 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900561 [ 'OS != "win"', { 'sources!': [
sgk@google.comf6819652009-03-07 06:33:46 +0900562 'gfx/gdi_util.cc',
563 'gfx/native_theme.cc',
bradnelson@google.com86468712009-03-11 08:12:16 +0900564 ],
sgk@google.comf6819652009-03-07 06:33:46 +0900565 }],
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900566 [ 'OS != "linux" and OS != "freebsd"', { 'sources!': [
agl@chromium.org79f41272009-04-24 10:59:32 +0900567 'gfx/gtk_native_view_id_manager.cc',
sgk@google.comf6819652009-03-07 06:33:46 +0900568 'gfx/gtk_util.cc',
agl@chromium.org79f41272009-04-24 10:59:32 +0900569 'gfx/native_widget_types_gtk.cc',
bradnelson@google.com86468712009-03-11 08:12:16 +0900570 ],
mark@chromium.org15425a12009-02-26 06:26:55 +0900571 }],
572 ],
573 },
574 {
575 'target_name': 'base_unittests',
576 'type': 'executable',
bradnelson@google.com86468712009-03-11 08:12:16 +0900577 'msvs_guid': '27A30967-4BBA-48D1-8522-CDE95F7B1CEC',
mark@chromium.org15425a12009-02-26 06:26:55 +0900578 'sources': [
maruel@chromium.org2b6effe2009-09-09 02:25:40 +0900579 # Infrastructure files.
580 'multiprocess_test.h',
581 'run_all_unittests.cc',
582 'test_suite.h',
583
584 # Tests.
mark@chromium.org15425a12009-02-26 06:26:55 +0900585 'at_exit_unittest.cc',
586 'atomicops_unittest.cc',
587 'clipboard_unittest.cc',
588 'command_line_unittest.cc',
589 'condition_variable_unittest.cc',
aa@chromium.org31d8f2f2009-06-06 03:25:06 +0900590 'crypto/rsa_private_key_unittest.cc',
591 'crypto/signature_creator_unittest.cc',
ajwong@chromium.orgf5cd1472009-05-28 15:02:56 +0900592 'crypto/signature_verifier_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900593 'data_pack_unittest.cc',
ajwong@chromium.org24cb89e2009-04-24 09:13:08 +0900594 'debug_util_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900595 'directory_watcher_unittest.cc',
596 'field_trial_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900597 'file_descriptor_shuffle_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900598 'file_path_unittest.cc',
599 'file_util_unittest.cc',
600 'file_version_info_unittest.cc',
ajwong@chromium.orgf5cd1472009-05-28 15:02:56 +0900601 'gfx/jpeg_codec_unittest.cc',
602 'gfx/native_theme_unittest.cc',
603 'gfx/png_codec_unittest.cc',
604 'gfx/rect_unittest.cc',
ajwong@chromium.orgab54d3d2009-05-30 23:39:59 +0900605 'gmock_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900606 'histogram_unittest.cc',
607 'hmac_unittest.cc',
608 'idletimer_unittest.cc',
phajdan.jr@chromium.orga12746c2009-08-19 23:56:38 +0900609 'id_map_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900610 'json_reader_unittest.cc',
611 'json_writer_unittest.cc',
612 'lazy_instance_unittest.cc',
ericroman@google.com7e41f132009-08-12 06:38:54 +0900613 'leak_tracker_unittest.cc',
614 'linked_list_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900615 'linked_ptr_unittest.cc',
616 'mac_util_unittest.cc',
617 'message_loop_unittest.cc',
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900618 'message_pump_glib_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900619 'object_watcher_unittest.cc',
620 'observer_list_unittest.cc',
621 'path_service_unittest.cc',
622 'pe_image_unittest.cc',
623 'pickle_unittest.cc',
624 'pr_time_unittest.cc',
625 'process_util_unittest.cc',
626 'rand_util_unittest.cc',
627 'ref_counted_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900628 'scoped_bstr_win_unittest.cc',
629 'scoped_comptr_win_unittest.cc',
630 'scoped_ptr_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900631 'scoped_temp_dir_unittest.cc',
tommi@chromium.org27a0e642009-03-19 13:22:28 +0900632 'scoped_variant_win_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900633 'sha2_unittest.cc',
634 'shared_memory_unittest.cc',
635 'simple_thread_unittest.cc',
636 'singleton_unittest.cc',
637 'stack_container_unittest.cc',
638 'stats_table_unittest.cc',
639 'string_escape_unittest.cc',
640 'string_piece_unittest.cc',
641 'string_tokenizer_unittest.cc',
642 'string_util_unittest.cc',
643 'sys_info_unittest.cc',
644 'sys_string_conversions_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900645 'system_monitor_unittest.cc',
jam@chromium.org2750bf82009-07-18 03:14:47 +0900646 'task_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900647 'thread_collision_warner_unittest.cc',
648 'thread_local_storage_unittest.cc',
649 'thread_local_unittest.cc',
650 'thread_unittest.cc',
651 'time_unittest.cc',
652 'time_win_unittest.cc',
653 'timer_unittest.cc',
654 'tracked_objects_unittest.cc',
655 'tuple_unittest.cc',
656 'values_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900657 'version_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900658 'waitable_event_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900659 'waitable_event_watcher_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900660 'watchdog_unittest.cc',
darin@chromium.org046526c2009-09-02 05:50:17 +0900661 'weak_ptr_unittest.cc',
mark@chromium.org15425a12009-02-26 06:26:55 +0900662 'win_util_unittest.cc',
663 'wmi_util_unittest.cc',
664 'word_iterator_unittest.cc',
665 'worker_pool_unittest.cc',
666 ],
667 'include_dirs': [
668 # word_iterator.h (used by word_iterator_unittest.cc) leaks an ICU
669 # #include for unicode/uchar.h. This should probably be cleaned up.
670 '../third_party/icu38/public/common',
671 ],
672 'dependencies': [
673 'base',
674 'base_gfx',
675 '../skia/skia.gyp:skia',
ajwong@chromium.orge2f951e2009-05-28 16:23:16 +0900676 '../testing/gmock.gyp:gmock',
mark@chromium.org15425a12009-02-26 06:26:55 +0900677 '../testing/gtest.gyp:gtest',
678 ],
679 'conditions': [
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900680 ['OS == "linux" or OS == "freebsd"', {
mark@chromium.org828adfd2009-03-02 15:53:31 +0900681 'sources!': [
682 'file_version_info_unittest.cc',
683 # Linux has an implementation of idle_timer, but it's unclear
684 # if we want it yet, so leave it 'unported' for now.
685 'idletimer_unittest.cc',
thestig@chromium.org7f7d89e2009-04-04 05:21:52 +0900686 'worker_pool_linux_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900687 ],
sgk@google.com300c8752009-03-21 08:13:26 +0900688 'dependencies': [
689 '../build/linux/system.gyp:gtk',
wtc@chromium.org3d33e022009-04-11 01:36:34 +0900690 '../build/linux/system.gyp:nss',
sgk@google.com300c8752009-03-21 08:13:26 +0900691 ],
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900692 }, { # OS != "linux" and OS != "freebsd"
deanm@chromium.orgbec47f42009-06-15 19:30:44 +0900693 'sources!': [
694 'message_pump_glib_unittest.cc',
695 ]
mark@chromium.org828adfd2009-03-02 15:53:31 +0900696 }],
phajdan.jr@chromium.orgb70bbac2009-05-01 04:39:15 +0900697 ['OS != "mac"', {
mark@chromium.org828adfd2009-03-02 15:53:31 +0900698 'sources!': [
699 'mac_util_unittest.cc',
700 ],
701 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900702 # This is needed to trigger the dll copy step on windows.
703 # TODO(mark): This should not be necessary.
mark@chromium.org828adfd2009-03-02 15:53:31 +0900704 ['OS == "win"', {
705 'dependencies': [
706 '../third_party/icu38/icu38.gyp:icudata',
707 ],
708 'sources!': [
709 'data_pack_unittest.cc',
agl@chromium.orgf9d91262009-05-01 04:40:03 +0900710 'file_descriptor_shuffle_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900711 ],
712 }, { # OS != "win"
713 'sources!': [
aa@chromium.org31d8f2f2009-06-06 03:25:06 +0900714 'crypto/rsa_private_key_unittest.cc',
715 'crypto/signature_creator_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900716 'gfx/native_theme_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900717 'object_watcher_unittest.cc',
718 'pe_image_unittest.cc',
719 'scoped_bstr_win_unittest.cc',
720 'scoped_comptr_win_unittest.cc',
tommi@chromium.org27a0e642009-03-19 13:22:28 +0900721 'scoped_variant_win_unittest.cc',
mark@chromium.org828adfd2009-03-02 15:53:31 +0900722 'system_monitor_unittest.cc',
723 'time_win_unittest.cc',
724 'win_util_unittest.cc',
725 'wmi_util_unittest.cc',
726 ],
727 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900728 ],
729 },
sgk@google.com2b059ed2009-03-17 08:46:45 +0900730 {
731 'target_name': 'test_support_base',
sgk@google.comf8000932009-04-08 21:55:49 +0900732 'type': '<(library)',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900733 'dependencies': [
734 'base',
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900735 ],
736 'sources': [
737 'test_file_util.h',
738 'test_file_util_linux.cc',
739 'test_file_util_mac.cc',
740 'test_file_util_posix.cc',
741 'test_file_util_win.cc',
742 ],
743 'conditions': [
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900744 [ 'OS == "linux" or OS == "freebsd"', {
phajdan.jr@chromium.orgf02d1442009-08-04 03:35:06 +0900745 'sources/': [ ['exclude', '_(mac|win|chromeos)\\.cc$'],
746 ['exclude', '\\.mm?$' ] ],
747 'conditions': [
748 [ 'chromeos==1', {
749 'sources/': [ ['include', '_chromeos\\.cc$'] ]
750 },
751 ],
752 ],
753 },
754 ],
755 [ 'OS == "mac"', {
756 'sources/': [ ['exclude', '_(linux|win|chromeos)\\.cc$'] ],
757 },
758 ],
759 [ 'OS == "win"', {
760 'sources/': [ ['exclude', '_(linux|mac|posix|chromeos)\\.cc$'],
761 ['exclude', '\\.mm?$' ] ],
762 },
763 ],
764 ],
765 },
766 {
767 'target_name': 'test_support_perf',
768 'type': '<(library)',
769 'dependencies': [
770 'base',
sgk@google.com2b059ed2009-03-17 08:46:45 +0900771 '../testing/gtest.gyp:gtest',
772 ],
773 'sources': [
774 'perftimer.cc',
775 'run_all_perftests.cc',
776 ],
777 'direct_dependent_settings': {
778 'defines': [
779 'PERF_TEST',
780 ],
781 },
sgk@google.com300c8752009-03-21 08:13:26 +0900782 'conditions': [
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900783 ['OS == "linux" or OS == "freebsd"', {
sgk@google.com300c8752009-03-21 08:13:26 +0900784 'dependencies': [
785 # Needed to handle the #include chain:
786 # base/perf_test_suite.h
787 # base/test_suite.h
788 # gtk/gtk.h
789 '../build/linux/system.gyp:gtk',
790 ],
791 }],
792 ],
sgk@google.com2b059ed2009-03-17 08:46:45 +0900793 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900794 ],
795 'conditions': [
796 [ 'OS == "win"', {
797 'targets': [
798 {
799 'target_name': 'debug_message',
800 'type': 'executable',
801 'sources': [
802 'debug_message.cc',
803 ],
sgk@google.com36d40a42009-05-22 11:39:14 +0900804 'msvs_settings': {
805 'VCLinkerTool': {
806 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
807 },
808 },
mark@chromium.org15425a12009-02-26 06:26:55 +0900809 },
810 ],
811 }],
benl@chromium.org6b6b2162009-09-08 01:39:46 +0900812 [ 'OS == "linux" or OS == "freebsd"', {
mmoss@chromium.org0b604032009-07-30 08:02:55 +0900813 'targets': [
814 {
815 'target_name': 'linux_versioninfo',
816 'type': '<(library)',
817 'sources': [
818 'file_version_info_linux.cc',
819 ],
820 'include_dirs': [
821 '..',
822 '<(SHARED_INTERMEDIATE_DIR)',
823 ],
824 'actions': [
825 {
826 'action_name': 'linux_version',
827 'variables': {
828 'lastchange_path':
829 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
830 'version_py_path': '../chrome/tools/build/version.py',
831 'version_path': '../chrome/VERSION',
832 'template_input_path': 'file_version_info_linux.h.version',
833 },
834 'conditions': [
835 [ 'branding == "Chrome"', {
836 'variables': {
837 'branding_path':
838 '../chrome/app/theme/google_chrome/BRANDING',
839 },
840 }, { # else branding!="Chrome"
841 'variables': {
842 'branding_path':
843 '../chrome/app/theme/chromium/BRANDING',
844 },
845 }],
846 ],
847 'inputs': [
848 '<(template_input_path)',
849 '<(version_path)',
850 '<(branding_path)',
851 '<(lastchange_path)',
852 ],
853 'outputs': [
854 '<(SHARED_INTERMEDIATE_DIR)/base/file_version_info_linux.h',
855 ],
856 'action': [
857 'python',
858 '<(version_py_path)',
859 '-f', '<(version_path)',
860 '-f', '<(branding_path)',
861 '-f', '<(lastchange_path)',
862 '<(template_input_path)',
863 '<@(_outputs)',
864 ],
865 'message': 'Generating version information',
866 },
867 ],
868 },
869 ],
870 }],
mark@chromium.org15425a12009-02-26 06:26:55 +0900871 ],
872}