Add partial pre-read functionality to browser startup (Windows).
[chromium-blink-merge.git] / base / base.gypi
blob2d10270ab212fdc2f8bccc2dafc7f55355a959d7
1 # Copyright (c) 2012 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.
6   'target_defaults': {
7     'variables': {
8       'base_target': 0,
9     },
10     'target_conditions': [
11       # This part is shared between the targets defined below.
12       ['base_target==1', {
13         'sources': [
14           '../build/build_config.h',
15           'third_party/dmg_fp/dmg_fp.h',
16           'third_party/dmg_fp/g_fmt.cc',
17           'third_party/dmg_fp/dtoa_wrapper.cc',
18           'third_party/icu/icu_utf.cc',
19           'third_party/icu/icu_utf.h',
20           'third_party/nspr/prtime.cc',
21           'third_party/nspr/prtime.h',
22           'third_party/nspr/prcpucfg_linux.h',
23           'third_party/xdg_mime/xdgmime.h',
24           'android/scoped_java_ref.cc',
25           'android/scoped_java_ref.h',
26           'android/jni_android.cc',
27           'android/jni_android.h',
28           'android/jni_array.cc',
29           'android/jni_array.h',
30           'android/jni_string.cc',
31           'android/jni_string.h',
32           'android/path_utils.cc',
33           'android/path_utils.h',
34           'at_exit.cc',
35           'at_exit.h',
36           'atomic_ref_count.h',
37           'atomic_sequence_num.h',
38           'atomicops.h',
39           'atomicops_internals_x86_gcc.cc',
40           'atomicops_internals_x86_gcc.h',
41           'atomicops_internals_x86_msvc.h',
42           'base_export.h',
43           'base_paths.cc',
44           'base_paths.h',
45           'base_paths_android.cc',
46           'base_paths_mac.h',
47           'base_paths_mac.mm',
48           'base_paths_posix.cc',
49           'base_paths_win.cc',
50           'base_paths_win.h',
51           'base_switches.h',
52           'basictypes.h',
53           'bind.h',
54           'bind_helpers.cc',
55           'bind_helpers.h',
56           'bind_internal.h',
57           'bind_internal_win.h',
58           'bits.h',
59           'build_time.cc',
60           'build_time.h',
61           'callback.h',
62           'callback_internal.cc',
63           'callback_internal.h',
64           'cancelable_callback.h',
65           'command_line.cc',
66           'command_line.h',
67           'compiler_specific.h',
68           'cpu.cc',
69           'cpu.h',
70           'debug/alias.cc',
71           'debug/alias.h',
72           'debug/debug_on_start_win.cc',
73           'debug/debug_on_start_win.h',
74           'debug/debugger.cc',
75           'debug/debugger.h',
76           'debug/debugger_posix.cc',
77           'debug/debugger_win.cc',
78           'debug/leak_annotations.h',
79           'debug/leak_tracker.h',
80           'debug/profiler.cc',
81           'debug/profiler.h',
82           'debug/stack_trace.cc',
83           'debug/stack_trace.h',
84           'debug/stack_trace_android.cc',
85           'debug/stack_trace_posix.cc',
86           'debug/stack_trace_win.cc',
87           'debug/trace_event.cc',
88           'debug/trace_event.h',
89           'debug/trace_event_impl.cc',
90           'debug/trace_event_impl.h',
91           'debug/trace_event_win.cc',
92           'dir_reader_fallback.h',
93           'dir_reader_linux.h',
94           'dir_reader_posix.h',
95           'eintr_wrapper.h',
96           'environment.cc',
97           'environment.h',
98           'file_descriptor_posix.h',
99           'file_path.cc',
100           'file_path.h',
101           'file_util.cc',
102           'file_util.h',
103           'file_util_android.cc',
104           'file_util_deprecated.h',
105           'file_util_linux.cc',
106           'file_util_mac.mm',
107           'file_util_posix.cc',
108           'file_util_win.cc',
109           'file_util_proxy.cc',
110           'file_util_proxy.h',
111           'file_version_info.h',
112           'file_version_info_mac.h',
113           'file_version_info_mac.mm',
114           'file_version_info_win.cc',
115           'file_version_info_win.h',
116           'files/file_path_watcher.cc',
117           'files/file_path_watcher.h',
118           'files/file_path_watcher_kqueue.cc',
119           'files/file_path_watcher_linux.cc',
120           'files/file_path_watcher_stub.cc',
121           'files/file_path_watcher_win.cc',
122           'float_util.h',
123           'format_macros.h',
124           'global_descriptors_posix.cc',
125           'global_descriptors_posix.h',
126           'gtest_prod_util.h',
127           'hash_tables.h',
128           'id_map.h',
129           'json/json_reader.cc',
130           'json/json_reader.h',
131           'json/json_value_converter.h',
132           'json/json_value_serializer.cc',
133           'json/json_value_serializer.h',
134           'json/json_writer.cc',
135           'json/json_writer.h',
136           'json/string_escape.cc',
137           'json/string_escape.h',
138           'lazy_instance.cc',
139           'lazy_instance.h',
140           'linked_list.h',
141           'location.cc',
142           'location.h',
143           'logging.cc',
144           'logging.h',
145           'logging_win.cc',
146           'logging_win.h',
147           'mac/bundle_locations.h',
148           'mac/bundle_locations.mm',
149           'mac/cocoa_protocols.h',
150           'mac/crash_logging.h',
151           'mac/crash_logging.mm',
152           'mac/foundation_util.h',
153           'mac/foundation_util.mm',
154           'mac/mac_logging.h',
155           'mac/mac_logging.cc',
156           'mac/mac_util.h',
157           'mac/mac_util.mm',
158           'mac/objc_property_releaser.h',
159           'mac/objc_property_releaser.mm',
160           'mac/os_crash_dumps.cc',
161           'mac/os_crash_dumps.h',
162           'mac/scoped_aedesc.h',
163           'mac/scoped_cftyperef.h',
164           'mac/scoped_nsautorelease_pool.h',
165           'mac/scoped_nsautorelease_pool.mm',
166           'mac/scoped_nsexception_enabler.h',
167           'mac/scoped_nsexception_enabler.mm',
168           'mac/scoped_sending_event.h',
169           'mac/scoped_sending_event.mm',
170           'mach_ipc_mac.h',
171           'mach_ipc_mac.mm',
172           'memory/linked_ptr.h',
173           'memory/mru_cache.h',
174           'memory/raw_scoped_refptr_mismatch_checker.h',
175           'memory/ref_counted.cc',
176           'memory/ref_counted.h',
177           'memory/ref_counted_memory.cc',
178           'memory/ref_counted_memory.h',
179           'memory/scoped_handle.h',
180           'memory/scoped_nsobject.h',
181           'memory/scoped_open_process.h',
182           'memory/scoped_ptr.h',
183           'memory/scoped_vector.h',
184           'memory/singleton.cc',
185           'memory/singleton.h',
186           'memory/weak_ptr.cc',
187           'memory/weak_ptr.h',
188           'message_loop.cc',
189           'message_loop.h',
190           'message_loop_proxy.cc',
191           'message_loop_proxy.h',
192           'message_loop_proxy_impl.cc',
193           'message_loop_proxy_impl.h',
194           'message_pump.cc',
195           'message_pump.h',
196           'message_pump_default.cc',
197           'message_pump_default.h',
198           'message_pump_win.cc',
199           'message_pump_win.h',
200           'metrics/histogram.cc',
201           'metrics/histogram.h',
202           'metrics/stats_counters.cc',
203           'metrics/stats_counters.h',
204           'metrics/stats_table.cc',
205           'metrics/stats_table.h',
206           'move.h',
207           'native_library.h',
208           'native_library_mac.mm',
209           'native_library_posix.cc',
210           'native_library_win.cc',
211           'observer_list.h',
212           'observer_list_threadsafe.h',
213           'os_compat_android.cc',
214           'os_compat_android.h',
215           'path_service.cc',
216           'path_service.h',
217           'pending_task.cc',
218           'pending_task.h',
219           'pickle.cc',
220           'pickle.h',
221           'platform_file.cc',
222           'platform_file.h',
223           'platform_file_posix.cc',
224           'platform_file_win.cc',
225           'port.h',
226           'process.h',
227           'process_linux.cc',
228           'process_posix.cc',
229           'process_util.cc',
230           'process_util.h',
231           'process_util_freebsd.cc',
232           'process_util_linux.cc',
233           'process_util_mac.mm',
234           'process_util_openbsd.cc',
235           'process_util_posix.cc',
236           'process_util_win.cc',
237           'process_win.cc',
238           'profiler/scoped_profile.cc',
239           'profiler/scoped_profile.h',
240           'profiler/tracked_time.cc',
241           'profiler/tracked_time.h',
242           'property_bag.cc',
243           'property_bag.h',
244           'rand_util.cc',
245           'rand_util.h',
246           'rand_util_c.h',
247           'rand_util_posix.cc',
248           'rand_util_win.cc',
249           'safe_strerror_posix.cc',
250           'safe_strerror_posix.h',
251           'scoped_native_library.cc',
252           'scoped_native_library.h',
253           'scoped_temp_dir.cc',
254           'scoped_temp_dir.h',
255           'sha1.h',
256           'sha1_portable.cc',
257           'sha1_win.cc',
258           'shared_memory.h',
259           'shared_memory_android.cc',
260           'shared_memory_posix.cc',
261           'shared_memory_win.cc',
262           'spin_wait.h',
263           'stack_container.h',
264           'stl_util.h',
265           'string_number_conversions.cc',
266           'string_number_conversions.h',
267           'string_piece.cc',
268           'string_piece.h',
269           'string_split.cc',
270           'string_split.h',
271           'string_tokenizer.h',
272           'string_util.cc',
273           'string_util.h',
274           'string_util_posix.h',
275           'string_util_win.h',
276           'stringize_macros.h',
277           'stringprintf.cc',
278           'stringprintf.h',
279           'synchronization/cancellation_flag.cc',
280           'synchronization/cancellation_flag.h',
281           'synchronization/condition_variable.h',
282           'synchronization/condition_variable_posix.cc',
283           'synchronization/condition_variable_win.cc',
284           'synchronization/lock.cc',
285           'synchronization/lock.h',
286           'synchronization/lock_impl.h',
287           'synchronization/lock_impl_posix.cc',
288           'synchronization/lock_impl_win.cc',
289           'synchronization/waitable_event.h',
290           'synchronization/waitable_event_posix.cc',
291           'synchronization/waitable_event_watcher.h',
292           'synchronization/waitable_event_watcher_posix.cc',
293           'synchronization/waitable_event_watcher_win.cc',
294           'synchronization/waitable_event_win.cc',
295           'system_monitor/system_monitor.cc',
296           'system_monitor/system_monitor.h',
297           'system_monitor/system_monitor_android.cc',
298           'system_monitor/system_monitor_mac.mm',
299           'system_monitor/system_monitor_posix.cc',
300           'system_monitor/system_monitor_win.cc',
301           'sys_byteorder.h',
302           'sys_info.h',
303           'sys_info_chromeos.cc',
304           'sys_info_freebsd.cc',
305           'sys_info_linux.cc',
306           'sys_info_mac.cc',
307           'sys_info_openbsd.cc',
308           'sys_info_posix.cc',
309           'sys_info_win.cc',
310           'sys_string_conversions.h',
311           'sys_string_conversions_mac.mm',
312           'sys_string_conversions_posix.cc',
313           'sys_string_conversions_win.cc',
314           'template_util.h',
315           'threading/non_thread_safe.h',
316           'threading/non_thread_safe_impl.cc',
317           'threading/non_thread_safe_impl.h',
318           'threading/platform_thread.h',
319           'threading/platform_thread_mac.mm',
320           'threading/platform_thread_posix.cc',
321           'threading/platform_thread_win.cc',
322           'threading/post_task_and_reply_impl.cc',
323           'threading/post_task_and_reply_impl.h',
324           'threading/sequenced_worker_pool.cc',
325           'threading/sequenced_worker_pool.h',
326           'threading/simple_thread.cc',
327           'threading/simple_thread.h',
328           'threading/thread.cc',
329           'threading/thread.h',
330           'threading/thread_checker.h',
331           'threading/thread_checker_impl.cc',
332           'threading/thread_checker_impl.h',
333           'threading/thread_collision_warner.cc',
334           'threading/thread_collision_warner.h',
335           'threading/thread_local.h',
336           'threading/thread_local_posix.cc',
337           'threading/thread_local_storage.h',
338           'threading/thread_local_storage_posix.cc',
339           'threading/thread_local_storage_win.cc',
340           'threading/thread_local_win.cc',
341           'threading/thread_restrictions.h',
342           'threading/thread_restrictions.cc',
343           'threading/watchdog.cc',
344           'threading/watchdog.h',
345           'threading/worker_pool.h',
346           'threading/worker_pool.cc',
347           'threading/worker_pool_posix.cc',
348           'threading/worker_pool_posix.h',
349           'threading/worker_pool_win.cc',
350           'time.cc',
351           'time.h',
352           'time_win.cc',
353           'timer.cc',
354           'timer.h',
355           'tracked_objects.cc',
356           'tracked_objects.h',
357           'tracking_info.cc',
358           'tracking_info.h',
359           'tuple.h',
360           'utf_offset_string_conversions.cc',
361           'utf_offset_string_conversions.h',
362           'utf_string_conversion_utils.cc',
363           'utf_string_conversion_utils.h',
364           'utf_string_conversions.cc',
365           'utf_string_conversions.h',
366           'values.cc',
367           'values.h',
368           'value_conversions.cc',
369           'value_conversions.h',
370           'version.cc',
371           'version.h',
372           'vlog.cc',
373           'vlog.h',
374           'nix/mime_util_xdg.cc',
375           'nix/mime_util_xdg.h',
376           'nix/xdg_util.cc',
377           'nix/xdg_util.h',
378           'wayland/wayland_event.h',
379           'win/enum_variant.h',
380           'win/enum_variant.cc',
381           'win/event_trace_consumer.h',
382           'win/event_trace_controller.cc',
383           'win/event_trace_controller.h',
384           'win/event_trace_provider.cc',
385           'win/event_trace_provider.h',
386           'win/i18n.cc',
387           'win/i18n.h',
388           'win/iat_patch_function.cc',
389           'win/iat_patch_function.h',
390           'win/iunknown_impl.h',
391           'win/iunknown_impl.cc',
392           'win/object_watcher.cc',
393           'win/object_watcher.h',
394           'win/registry.cc',
395           'win/registry.h',
396           'win/resource_util.cc',
397           'win/resource_util.h',
398           'win/sampling_profiler.cc',
399           'win/sampling_profiler.h',
400           'win/scoped_bstr.cc',
401           'win/scoped_bstr.h',
402           'win/scoped_co_mem.h',
403           'win/scoped_com_initializer.h',
404           'win/scoped_comptr.h',
405           'win/scoped_gdi_object.h',
406           'win/scoped_handle.h',
407           'win/scoped_hdc.h',
408           'win/scoped_hglobal.h',
409           'win/scoped_select_object.h',
410           'win/scoped_variant.cc',
411           'win/scoped_variant.h',
412           'win/windows_version.cc',
413           'win/windows_version.h',
414           'win/win_util.cc',
415           'win/win_util.h',
416           'win/wrapped_window_proc.cc',
417           'win/wrapped_window_proc.h',
418         ],
419         'defines': [
420           'BASE_IMPLEMENTATION',
421         ],
422         'include_dirs': [
423           '..',
424         ],
425         # These warnings are needed for the files in third_party\dmg_fp.
426         'msvs_disabled_warnings': [
427           4244, 4554, 4018, 4102,
428         ],
429         'mac_framework_dirs': [
430           '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
431         ],
432         'conditions': [
433           [ 'use_glib==0', {
434               'sources/': [
435                 ['exclude', '^nix/'],
436               ],
437               'sources!': [
438                 'atomicops_internals_x86_gcc.cc',
439                 'message_pump_glib.cc',
440                 'message_pump_x.cc',
441               ],
442           }],
443           [ 'toolkit_uses_gtk==0', {
444             'sources!': [ 'message_pump_gtk.cc', ],
445           }],
446           [ 'use_aura==0 or OS == "win" or OS == "mac"', {
447             'sources!' : [ 'message_pump_x.cc', ],
448           }, {
449             'sources!' : [ 'message_pump_gtk.cc', ],
450             'sources/' : [ [ 'include', '^message_pump_x\\.cc$', ] ],
451           }],
452           [ 'use_wayland==1', {
453             'sources/': [
454               [ 'exclude', '^message_pump_gtk\\.cc$',],
455               [ 'exclude', '^message_pump_x\\.cc$',],
456             ],
457           }],
458           [ 'OS != "linux" and os_bsd != 1', {
459               'sources!': [
460                 # Not automatically excluded by the *linux.cc rules.
461                 'linux_util.cc',
462               ],
463             },
464           ],
465           [ 'OS == "android"', {
466             'sources!': [
467               'files/file_path_watcher_kqueue.cc',
468               'system_monitor/system_monitor_posix.cc',
469             ],
470             'sources/': [
471               ['include', '^process_util_linux\\.cc$'],
472               ['include', '^sys_info_linux\\.cc$'],
473               ['include', '^sys_string_conversions_posix\\.cc$'],
474               ['include', '^worker_pool_linux\\.cc$'],
475               # TODO(michaelbai): The below files are excluded because of the
476               # missing JNI, add them back when JNI is ready.
477               ['exclude', '^android/'],
478               ['exclude', '^base_paths_android\\.cc$'],
479               ['exclude', '^message_pump_android\\.cc$'],
480             ],
481           }],
482           [ 'OS != "mac"', {
483               'sources!': [
484                 'mac/scoped_aedesc.h'
485               ],
486           }],
487           # For now, just test the *BSD platforms enough to exclude them.
488           # Subsequent changes will include them further.
489           [ 'OS != "freebsd"', {
490               'sources/': [ ['exclude', '_freebsd\\.cc$'] ],
491             },
492           ],
493           [ 'OS != "openbsd"', {
494               'sources/': [ ['exclude', '_openbsd\\.cc$'] ],
495             },
496           ],
497           ['OS != "win"', {
498               'sources/': [ ['exclude', '^win/'] ],
499             },
500           ],
501           ['OS != "android"', {
502               'sources/': [ ['exclude', '^android/'] ],
503             },
504           ],
505           [ 'OS == "win"', {
506             'include_dirs': [
507               '<(DEPTH)/third_party/wtl/include',
508             ],
509             'sources!': [
510               'event_recorder_stubs.cc',
511               'file_descriptor_shuffle.cc',
512               'files/file_path_watcher_kqueue.cc',
513               'files/file_path_watcher_stub.cc',
514               'message_pump_libevent.cc',
515               # Not using sha1_win.cc because it may have caused a
516               # regression to page cycler moz.
517               'sha1_win.cc',
518               'string16.cc',
519             ],
520           },],
521           [ 'OS == "linux"', {
522             'sources!': [
523               'files/file_path_watcher_kqueue.cc',
524               'files/file_path_watcher_stub.cc',
525             ],
526           }],
527           [ 'OS == "mac"', {
528             'sources/': [
529               ['exclude', '^files/file_path_watcher_stub\\.cc$'],
530               ['exclude', '^base_paths_posix\\.cc$'],
531               ['exclude', '^native_library_posix\\.cc$'],
532               ['exclude', '^sys_string_conversions_posix\\.cc$'],
533             ],
534           }],
535           [ 'os_bsd==1', {
536             'sources/': [
537               ['exclude', '^files/file_path_watcher_linux\\.cc$'],
538               ['exclude', '^files/file_path_watcher_stub\\.cc$'],
539               ['exclude', '^file_util_linux\\.cc$'],
540               ['exclude', '^process_linux\\.cc$'],
541               ['exclude', '^process_util_linux\\.cc$'],
542               ['exclude', '^sys_info_linux\\.cc$'],
543             ],
544           }],
545         ],
546       }],
547     ],
548   },
549   'targets': [
550     {
551       'target_name': 'base',
552       'type': '<(component)',
553       'toolsets': ['host', 'target'],
554       'variables': {
555         'base_target': 1,
556         'enable_wexit_time_destructors': 1,
557         'optimize': 'max',
558       },
559       'dependencies': [
560         'base_static',
561         '../testing/gtest.gyp:gtest_prod',
562         '../third_party/modp_b64/modp_b64.gyp:modp_b64',
563         'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
564       ],
565       # TODO(gregoryd): direct_dependent_settings should be shared with the
566       #  64-bit target, but it doesn't work due to a bug in gyp
567       'direct_dependent_settings': {
568         'include_dirs': [
569           '..',
570         ],
571       },
572       'conditions': [
573         [ 'use_glib==1', {
574           'conditions': [
575             [ 'chromeos==1', {
576                 'sources/': [ ['include', '_chromeos\\.cc$'] ]
577               },
578             ],
579             [ 'linux_use_tcmalloc==0', {
580                 'defines': [
581                   'NO_TCMALLOC',
582                 ],
583                 'direct_dependent_settings': {
584                   'defines': [
585                     'NO_TCMALLOC',
586                   ],
587                 },
588               },
589             ],
590             [ 'toolkit_uses_gtk==1', {
591               'dependencies': [
592                 '../build/linux/system.gyp:gtk',
593               ],
594               'export_dependent_settings': [
595                 '../build/linux/system.gyp:gtk',
596               ],
597             }],
598           ],
599           'dependencies': [
600             'symbolize',
601             '../build/util/build_util.gyp:lastchange#target',
602             '../build/linux/system.gyp:glib',
603             '../build/linux/system.gyp:x11',
604             'xdg_mime',
605           ],
606           'defines': [
607             'USE_SYMBOLIZE',
608           ],
609           'cflags': [
610             '-Wno-write-strings',
611           ],
612           'export_dependent_settings': [
613             '../build/linux/system.gyp:glib',
614             '../build/linux/system.gyp:x11',
615           ],
616         }, {  # use_glib!=1
617             'sources/': [
618               ['exclude', '/xdg_user_dirs/'],
619               ['exclude', '_nss\.cc$'],
620             ],
621         }],
622         [ 'OS == "android" and _toolset == "host"', {
623           # Base for host support is the minimum required to run the
624           # ssl false start blacklist tool. It requires further changes
625           # to generically support host builds (and tests).
626           # Note: when building for host, gyp has OS == "android",
627           # hence the *_android.cc files are included but the actual code
628           # doesn't have OS_ANDROID / ANDROID defined.
629           'conditions': [
630             ['host_os == "linux"', {
631               'sources/': [
632                 ['include', '^atomicops_internals_x86_gcc\\.cc$'],
633               ],
634               'dependencies': [
635                 '../build/linux/system.gyp:glib',
636               ],
637               'export_dependent_settings': [
638                 '../build/linux/system.gyp:glib',
639               ],
640             }],
641             ['host_os == "mac"', {
642               'sources/': [
643                 ['exclude', '^native_library_linux\\.cc$'],
644                 ['exclude', '^process_util_linux\\.cc$'],
645                 ['exclude', '^sys_info_linux\\.cc$'],
646                 ['exclude', '^sys_string_conversions_linux\\.cc$'],
647                 ['exclude', '^worker_pool_linux\\.cc$'],
648               ],
649             }],
650           ],
651         }],
652         [ 'OS == "android" and _toolset == "target"', {
653           'dependencies': [
654             'symbolize',
655             '../third_party/ashmem/ashmem.gyp:ashmem',
656           ],
657           'link_settings': {
658             'libraries': [
659               '-llog',
660             ],
661           },
662           'defines': [
663             'USE_SYMBOLIZE',
664           ],
665           'sources!': [
666             'debug/stack_trace.cc',
667             'debug/stack_trace_posix.cc',
668           ],
669         }],
670         [ 'os_bsd==1', {
671           'include_dirs': [
672             '/usr/local/include',
673           ],
674           'link_settings': {
675             'libraries': [
676               '-L/usr/local/lib -lexecinfo',
677               ],
678             },
679           },
680         ],
681         [ 'OS == "linux"', {
682           'link_settings': {
683              'libraries': [
684              # We need rt for clock_gettime().
685              '-lrt',
686              # For 'native_library_linux.cc'
687              '-ldl',
688            ],
689          },
690         }],
691         [ 'OS == "mac"', {
692           'link_settings': {
693             'libraries': [
694               '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
695               '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
696               '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
697               '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
698               '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
699               '$(SDKROOT)/System/Library/Frameworks/Security.framework',
700             ],
701           },
702           'dependencies': [
703             '../third_party/mach_override/mach_override.gyp:mach_override',
704           ],
705         }],
706         [ 'OS != "win"', {
707             'dependencies': ['../third_party/libevent/libevent.gyp:libevent'],
708         },],
709         [ 'component=="shared_library"', {
710           'conditions': [
711             ['OS=="win"', {
712               'sources!': [
713                 'debug/debug_on_start_win.cc',
714               ],
715             }],
716           ],
717         }],
718       ],
719       'sources': [
720         'third_party/nspr/prcpucfg.h',
721         'third_party/nspr/prcpucfg_win.h',
722         'third_party/nspr/prtypes.h',
723         'third_party/xdg_user_dirs/xdg_user_dir_lookup.cc',
724         'third_party/xdg_user_dirs/xdg_user_dir_lookup.h',
725         'auto_reset.h',
726         'base64.cc',
727         'base64.h',
728         'event_recorder.h',
729         'event_recorder_stubs.cc',
730         'event_recorder_win.cc',
731         'file_descriptor_shuffle.cc',
732         'file_descriptor_shuffle.h',
733         'linux_util.cc',
734         'linux_util.h',
735         'md5.cc',
736         'md5.h',
737         'message_pump_android.cc',
738         'message_pump_android.h',
739         'message_pump_glib.cc',
740         'message_pump_glib.h',
741         'message_pump_gtk.cc',
742         'message_pump_gtk.h',
743         'message_pump_observer.h',
744         'message_pump_x.cc',
745         'message_pump_x.h',
746         'message_pump_libevent.cc',
747         'message_pump_libevent.h',
748         'message_pump_mac.h',
749         'message_pump_mac.mm',
750         'message_pump_wayland.h',
751         'metrics/field_trial.cc',
752         'metrics/field_trial.h',
753         'string16.cc',
754         'string16.h',
755         'sync_socket.h',
756         'sync_socket_win.cc',
757         'sync_socket_posix.cc',
758         'time_mac.cc',
759         'time_posix.cc',
760       ],
761     },
762   ],
763   'conditions': [
764     [ 'OS == "win"', {
765       'targets': [
766         {
767           'target_name': 'base_nacl_win64',
768           'type': '<(component)',
769           'variables': {
770             'base_target': 1,
771           },
772           'dependencies': [
773             'base_static_win64',
774             'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
775           ],
776           # TODO(gregoryd): direct_dependent_settings should be shared with the
777           # 32-bit target, but it doesn't work due to a bug in gyp
778           'direct_dependent_settings': {
779             'include_dirs': [
780               '..',
781             ],
782           },
783           'defines': [
784             '<@(nacl_win64_defines)',
785           ],
786           'configurations': {
787             'Common_Base': {
788               'msvs_target_platform': 'x64',
789             },
790           },
791           'conditions': [
792             [ 'component == "shared_library"', {
793               'sources!': [
794                 'debug/debug_on_start_win.cc',
795               ],
796             }],
797           ],
798         },
799         {
800           'target_name': 'base_i18n_nacl_win64',
801           'type': '<(component)',
802           # TODO(gregoryd): direct_dependent_settings should be shared with the
803           # 32-bit target, but it doesn't work due to a bug in gyp
804           'direct_dependent_settings': {
805             'include_dirs': [
806               '..',
807             ],
808           },
809           'defines': [
810             '<@(nacl_win64_defines)',
811             'BASE_I18N_IMPLEMENTATION',
812           ],
813           'include_dirs': [
814             '..',
815           ],
816           'sources': [
817             'i18n/icu_util_nacl_win64.cc',
818           ],
819           'configurations': {
820             'Common_Base': {
821               'msvs_target_platform': 'x64',
822             },
823           },
824         },
825       ],
826     }],
827     [ 'os_posix==1 and OS!="mac"', {
828       'targets': [
829         {
830           'target_name': 'symbolize',
831           'type': 'static_library',
832           'toolsets': ['host', 'target'],
833           'variables': {
834             'chromium_code': 0,
835           },
836           'conditions': [
837             [ 'OS == "solaris"', {
838               'include_dirs': [
839                 '/usr/gnu/include',
840                 '/usr/gnu/include/libelf',
841               ],
842             },],
843           ],
844           'cflags': [
845             '-Wno-sign-compare',
846           ],
847           'cflags!': [
848             '-Wextra',
849           ],
850           'sources': [
851             'third_party/symbolize/config.h',
852             'third_party/symbolize/demangle.cc',
853             'third_party/symbolize/demangle.h',
854             'third_party/symbolize/glog/logging.h',
855             'third_party/symbolize/glog/raw_logging.h',
856             'third_party/symbolize/symbolize.cc',
857             'third_party/symbolize/symbolize.h',
858             'third_party/symbolize/utilities.h',
859           ],
860           'include_dirs': [
861             '..',
862           ],
863         },
864         {
865           'target_name': 'xdg_mime',
866           'type': 'static_library',
867           'toolsets': ['host', 'target'],
868           'variables': {
869             'chromium_code': 0,
870           },
871           'cflags!': [
872             '-Wextra',
873           ],
874           'sources': [
875             'third_party/xdg_mime/xdgmime.c',
876             'third_party/xdg_mime/xdgmime.h',
877             'third_party/xdg_mime/xdgmimealias.c',
878             'third_party/xdg_mime/xdgmimealias.h',
879             'third_party/xdg_mime/xdgmimecache.c',
880             'third_party/xdg_mime/xdgmimecache.h',
881             'third_party/xdg_mime/xdgmimeglob.c',
882             'third_party/xdg_mime/xdgmimeglob.h',
883             'third_party/xdg_mime/xdgmimeicon.c',
884             'third_party/xdg_mime/xdgmimeicon.h',
885             'third_party/xdg_mime/xdgmimeint.c',
886             'third_party/xdg_mime/xdgmimeint.h',
887             'third_party/xdg_mime/xdgmimemagic.c',
888             'third_party/xdg_mime/xdgmimemagic.h',
889             'third_party/xdg_mime/xdgmimeparent.c',
890             'third_party/xdg_mime/xdgmimeparent.h',
891           ],
892         },
893       ],
894     }],
895   ],