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