1 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 # Use of this source code is governed by a BSD-style license
4 # that can be found in the LICENSE file in the root of the source
5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree.
10 'includes': [ '../../build/common.gypi', ],
13 'target_name': 'system_wrappers',
14 'type': 'static_library',
20 '../../base/base.gyp:rtc_base_approved',
22 'direct_dependent_settings': {
28 '../interface/aligned_malloc.h',
29 '../interface/atomic32.h',
30 '../interface/clock.h',
31 '../interface/compile_assert.h',
32 '../interface/condition_variable_wrapper.h',
33 '../interface/cpu_info.h',
34 '../interface/cpu_features_wrapper.h',
35 '../interface/critical_section_wrapper.h',
36 '../interface/data_log.h',
37 '../interface/data_log_c.h',
38 '../interface/data_log_impl.h',
39 '../interface/event_tracer.h',
40 '../interface/event_wrapper.h',
41 '../interface/field_trial.h',
42 '../interface/file_wrapper.h',
43 '../interface/fix_interlocked_exchange_pointer_win.h',
44 '../interface/logcat_trace_context.h',
45 '../interface/logging.h',
46 '../interface/ref_count.h',
47 '../interface/rtp_to_ntp.h',
48 '../interface/rw_lock_wrapper.h',
49 '../interface/scoped_ptr.h',
50 '../interface/scoped_refptr.h',
51 '../interface/scoped_vector.h',
52 '../interface/sleep.h',
53 '../interface/sort.h',
54 '../interface/static_instance.h',
55 '../interface/stl_util.h',
56 '../interface/stringize_macros.h',
57 '../interface/thread_wrapper.h',
58 '../interface/tick_util.h',
59 '../interface/timestamp_extrapolator.h',
60 '../interface/trace.h',
61 '../interface/trace_event.h',
62 '../interface/utf_util_win.h',
68 'condition_variable.cc',
69 'condition_variable_posix.cc',
70 'condition_variable_posix.h',
71 'condition_variable_event_win.cc',
72 'condition_variable_event_win.h',
73 'condition_variable_native_win.cc',
74 'condition_variable_native_win.h',
77 'critical_section.cc',
78 'critical_section_posix.cc',
79 'critical_section_posix.h',
80 'critical_section_win.cc',
81 'critical_section_win.h',
93 'logcat_trace_context.cc',
103 'set_thread_name_win.h',
112 'timestamp_extrapolator.cc',
121 ['enable_data_logging==1', {
122 'sources!': [ 'data_log_no_op.cc', ],
124 'sources!': [ 'data_log.cc', ],
129 # TODO(leozwang): Investigate CLOCK_REALTIME and CLOCK_MONOTONIC
130 # support on Android. Keep WEBRTC_CLOCK_TYPE_REALTIME for now,
131 # remove it after I verify that CLOCK_MONOTONIC is fully functional
132 # with condition and event functions in system_wrappers.
133 'WEBRTC_CLOCK_TYPE_REALTIME',
135 'dependencies': [ 'cpu_features_android', ],
143 '../interface/logcat_trace_context.h',
144 'logcat_trace_context.cc',
150 # TODO(andrew): can we select this automatically?
151 # Define this if the Linux system does not support CLOCK_MONOTONIC.
152 #'WEBRTC_CLOCK_TYPE_REALTIME',
155 'libraries': [ '-lrt', ],
160 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework', ],
166 ['OS=="ios" or OS=="mac"', {
169 'WEBRTC_CLOCK_TYPE_REALTIME',
174 'libraries': [ '-lwinmm.lib', ],
178 'target_conditions': [
179 # We need to do this in a target_conditions block to override the
180 # filename_rules filters.
182 # Pull in specific Mac files for iOS (which have been filtered out
183 # by file name rules).
185 ['include', '^atomic32_mac\\.'],
192 # Disable warnings to enable Win64 build, issue 1323.
193 'msvs_disabled_warnings': [
194 4267, # size_t to int truncation.
195 4334, # Ignore warning on shift operator promotion.
198 'target_name': 'field_trial_default',
199 'type': 'static_library',
201 'field_trial_default.cc',
212 'target_name': 'cpu_features_android',
213 'type': 'static_library',
215 'cpu_features_android.c',
218 ['android_webview_build == 1', {
224 '<(android_ndk_root)/android_tools_ndk.gyp:cpu_features',