xians@google.com | d3185fe | 2011-09-12 12:24:39 +0000 | [diff] [blame] | 1 | # Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
| 2 | # |
| 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. |
| 8 | |
| 9 | { |
| 10 | 'includes': [ |
andrew@webrtc.org | 3ce62fc | 2011-10-06 01:03:18 +0000 | [diff] [blame] | 11 | '../build/common.gypi', |
xians@google.com | d3185fe | 2011-09-12 12:24:39 +0000 | [diff] [blame] | 12 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 13 | 'targets': [ |
| 14 | { |
| 15 | 'target_name': 'voice_engine', |
| 16 | 'type': 'static_library', |
| 17 | 'dependencies': [ |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 +0000 | [diff] [blame] | 18 | '<(webrtc_root)/common.gyp:webrtc_common', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 19 | '<(webrtc_root)/common_audio/common_audio.gyp:common_audio', |
| 20 | '<(webrtc_root)/modules/modules.gyp:audio_coding_module', |
| 21 | '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer', |
| 22 | '<(webrtc_root)/modules/modules.gyp:audio_device', |
| 23 | '<(webrtc_root)/modules/modules.gyp:audio_processing', |
minyue@webrtc.org | c1a40a7 | 2014-05-28 09:52:06 +0000 | [diff] [blame] | 24 | '<(webrtc_root)/modules/modules.gyp:bitrate_controller', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 25 | '<(webrtc_root)/modules/modules.gyp:media_file', |
| 26 | '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', |
| 27 | '<(webrtc_root)/modules/modules.gyp:webrtc_utility', |
andresp@webrtc.org | 86e1e48 | 2015-01-14 09:30:52 +0000 | [diff] [blame] | 28 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
andrew@webrtc.org | 3ce62fc | 2011-10-06 01:03:18 +0000 | [diff] [blame] | 29 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 30 | 'sources': [ |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 31 | 'include/voe_audio_processing.h', |
| 32 | 'include/voe_base.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 33 | 'include/voe_codec.h', |
| 34 | 'include/voe_dtmf.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 35 | 'include/voe_errors.h', |
| 36 | 'include/voe_external_media.h', |
| 37 | 'include/voe_file.h', |
| 38 | 'include/voe_hardware.h', |
| 39 | 'include/voe_neteq_stats.h', |
| 40 | 'include/voe_network.h', |
| 41 | 'include/voe_rtp_rtcp.h', |
| 42 | 'include/voe_video_sync.h', |
| 43 | 'include/voe_volume_control.h', |
| 44 | 'channel.cc', |
| 45 | 'channel.h', |
| 46 | 'channel_manager.cc', |
| 47 | 'channel_manager.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 48 | 'dtmf_inband.cc', |
| 49 | 'dtmf_inband.h', |
| 50 | 'dtmf_inband_queue.cc', |
| 51 | 'dtmf_inband_queue.h', |
| 52 | 'level_indicator.cc', |
| 53 | 'level_indicator.h', |
| 54 | 'monitor_module.cc', |
| 55 | 'monitor_module.h', |
minyue@webrtc.org | 74aaf29 | 2014-07-16 21:28:26 +0000 | [diff] [blame] | 56 | 'network_predictor.cc', |
| 57 | 'network_predictor.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 58 | 'output_mixer.cc', |
| 59 | 'output_mixer.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 60 | 'shared_data.cc', |
| 61 | 'shared_data.h', |
| 62 | 'statistics.cc', |
| 63 | 'statistics.h', |
| 64 | 'transmit_mixer.cc', |
| 65 | 'transmit_mixer.h', |
| 66 | 'utility.cc', |
| 67 | 'utility.h', |
| 68 | 'voe_audio_processing_impl.cc', |
| 69 | 'voe_audio_processing_impl.h', |
| 70 | 'voe_base_impl.cc', |
| 71 | 'voe_base_impl.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 72 | 'voe_codec_impl.cc', |
| 73 | 'voe_codec_impl.h', |
| 74 | 'voe_dtmf_impl.cc', |
| 75 | 'voe_dtmf_impl.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 76 | 'voe_external_media_impl.cc', |
| 77 | 'voe_external_media_impl.h', |
| 78 | 'voe_file_impl.cc', |
| 79 | 'voe_file_impl.h', |
| 80 | 'voe_hardware_impl.cc', |
| 81 | 'voe_hardware_impl.h', |
| 82 | 'voe_neteq_stats_impl.cc', |
| 83 | 'voe_neteq_stats_impl.h', |
| 84 | 'voe_network_impl.cc', |
| 85 | 'voe_network_impl.h', |
| 86 | 'voe_rtp_rtcp_impl.cc', |
| 87 | 'voe_rtp_rtcp_impl.h', |
| 88 | 'voe_video_sync_impl.cc', |
| 89 | 'voe_video_sync_impl.h', |
| 90 | 'voe_volume_control_impl.cc', |
| 91 | 'voe_volume_control_impl.h', |
| 92 | 'voice_engine_defines.h', |
| 93 | 'voice_engine_impl.cc', |
| 94 | 'voice_engine_impl.h', |
| 95 | ], |
| 96 | }, |
andrew@webrtc.org | 3ce62fc | 2011-10-06 01:03:18 +0000 | [diff] [blame] | 97 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 98 | 'conditions': [ |
| 99 | ['OS=="win"', { |
| 100 | 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',], |
| 101 | }], |
| 102 | ['include_tests==1', { |
| 103 | 'targets': [ |
| 104 | { |
| 105 | 'target_name': 'voice_engine_unittests', |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 106 | 'type': '<(gtest_target_type)', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 107 | 'dependencies': [ |
| 108 | 'voice_engine', |
Jelena Marusic | 06b08af | 2015-04-21 11:39:57 +0200 | [diff] [blame^] | 109 | '<(DEPTH)/testing/gmock.gyp:gmock', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 110 | '<(DEPTH)/testing/gtest.gyp:gtest', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 111 | # The rest are to satisfy the unittests' include chain. |
| 112 | # This would be unnecessary if we used qualified includes. |
| 113 | '<(webrtc_root)/common_audio/common_audio.gyp:common_audio', |
| 114 | '<(webrtc_root)/modules/modules.gyp:audio_device', |
| 115 | '<(webrtc_root)/modules/modules.gyp:audio_processing', |
| 116 | '<(webrtc_root)/modules/modules.gyp:audio_coding_module', |
| 117 | '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer', |
| 118 | '<(webrtc_root)/modules/modules.gyp:media_file', |
| 119 | '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', |
| 120 | '<(webrtc_root)/modules/modules.gyp:webrtc_utility', |
andresp@webrtc.org | 86e1e48 | 2015-01-14 09:30:52 +0000 | [diff] [blame] | 121 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
kjellander@webrtc.org | 6c35e0b | 2013-06-11 08:29:17 +0000 | [diff] [blame] | 122 | '<(webrtc_root)/test/test.gyp:test_support_main', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 123 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 124 | 'sources': [ |
| 125 | 'channel_unittest.cc', |
minyue@webrtc.org | 74aaf29 | 2014-07-16 21:28:26 +0000 | [diff] [blame] | 126 | 'network_predictor_unittest.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 127 | 'transmit_mixer_unittest.cc', |
andrew@webrtc.org | a78a41f | 2014-04-08 23:09:28 +0000 | [diff] [blame] | 128 | 'utility_unittest.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 129 | 'voe_audio_processing_unittest.cc', |
| 130 | 'voe_base_unittest.cc', |
| 131 | 'voe_codec_unittest.cc', |
| 132 | ], |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 133 | 'conditions': [ |
kjellander@webrtc.org | 3bd4156 | 2014-09-01 11:06:37 +0000 | [diff] [blame] | 134 | ['OS=="android"', { |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 135 | 'dependencies': [ |
| 136 | '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', |
| 137 | ], |
| 138 | }], |
| 139 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 140 | }, |
| 141 | { |
| 142 | 'target_name': 'voe_auto_test', |
| 143 | 'type': 'executable', |
| 144 | 'dependencies': [ |
| 145 | 'voice_engine', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 146 | '<(DEPTH)/testing/gmock.gyp:gmock', |
kjellander@webrtc.org | 6c35e0b | 2013-06-11 08:29:17 +0000 | [diff] [blame] | 147 | '<(DEPTH)/testing/gtest.gyp:gtest', |
fischman@webrtc.org | dde7d4c | 2013-08-15 23:31:30 +0000 | [diff] [blame] | 148 | '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', |
andresp@webrtc.org | 86e1e48 | 2015-01-14 09:30:52 +0000 | [diff] [blame] | 149 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
| 150 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default', |
kjellander@webrtc.org | 6c35e0b | 2013-06-11 08:29:17 +0000 | [diff] [blame] | 151 | '<(webrtc_root)/test/test.gyp:channel_transport', |
| 152 | '<(webrtc_root)/test/test.gyp:test_support', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 153 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 154 | 'sources': [ |
| 155 | 'test/auto_test/automated_mode.cc', |
| 156 | 'test/auto_test/extended/agc_config_test.cc', |
| 157 | 'test/auto_test/extended/ec_metrics_test.cc', |
| 158 | 'test/auto_test/fakes/fake_external_transport.cc', |
| 159 | 'test/auto_test/fakes/fake_external_transport.h', |
| 160 | 'test/auto_test/fixtures/after_initialization_fixture.cc', |
| 161 | 'test/auto_test/fixtures/after_initialization_fixture.h', |
| 162 | 'test/auto_test/fixtures/after_streaming_fixture.cc', |
| 163 | 'test/auto_test/fixtures/after_streaming_fixture.h', |
| 164 | 'test/auto_test/fixtures/before_initialization_fixture.cc', |
| 165 | 'test/auto_test/fixtures/before_initialization_fixture.h', |
solenberg@webrtc.org | 57e0602 | 2014-05-16 11:27:09 +0000 | [diff] [blame] | 166 | 'test/auto_test/fixtures/before_streaming_fixture.cc', |
| 167 | 'test/auto_test/fixtures/before_streaming_fixture.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 168 | 'test/auto_test/standard/audio_processing_test.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 169 | 'test/auto_test/standard/codec_before_streaming_test.cc', |
| 170 | 'test/auto_test/standard/codec_test.cc', |
| 171 | 'test/auto_test/standard/dtmf_test.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 172 | 'test/auto_test/standard/external_media_test.cc', |
| 173 | 'test/auto_test/standard/file_before_streaming_test.cc', |
| 174 | 'test/auto_test/standard/file_test.cc', |
| 175 | 'test/auto_test/standard/hardware_before_initializing_test.cc', |
| 176 | 'test/auto_test/standard/hardware_before_streaming_test.cc', |
| 177 | 'test/auto_test/standard/hardware_test.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 178 | 'test/auto_test/standard/mixing_test.cc', |
| 179 | 'test/auto_test/standard/neteq_stats_test.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 180 | 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc', |
wu@webrtc.org | ebdb0e3 | 2014-03-06 23:49:08 +0000 | [diff] [blame] | 181 | 'test/auto_test/standard/rtp_rtcp_extensions.cc', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 182 | 'test/auto_test/standard/rtp_rtcp_test.cc', |
| 183 | 'test/auto_test/standard/voe_base_misc_test.cc', |
| 184 | 'test/auto_test/standard/video_sync_test.cc', |
| 185 | 'test/auto_test/standard/volume_test.cc', |
| 186 | 'test/auto_test/resource_manager.cc', |
| 187 | 'test/auto_test/voe_cpu_test.cc', |
| 188 | 'test/auto_test/voe_cpu_test.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 189 | 'test/auto_test/voe_standard_test.cc', |
| 190 | 'test/auto_test/voe_standard_test.h', |
| 191 | 'test/auto_test/voe_stress_test.cc', |
| 192 | 'test/auto_test/voe_stress_test.h', |
| 193 | 'test/auto_test/voe_test_defines.h', |
| 194 | 'test/auto_test/voe_test_interface.h', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 195 | ], |
| 196 | 'conditions': [ |
| 197 | ['OS=="android"', { |
| 198 | # some tests are not supported on android yet, exclude these tests. |
| 199 | 'sources!': [ |
| 200 | 'test/auto_test/standard/hardware_before_streaming_test.cc', |
| 201 | ], |
| 202 | }], |
| 203 | ], |
| 204 | # Disable warnings to enable Win64 build, issue 1323. |
| 205 | 'msvs_disabled_warnings': [ |
| 206 | 4267, # size_t to int truncation. |
| 207 | ], |
| 208 | }, |
| 209 | { |
| 210 | # command line test that should work on linux/mac/win |
| 211 | 'target_name': 'voe_cmd_test', |
| 212 | 'type': 'executable', |
| 213 | 'dependencies': [ |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 214 | 'voice_engine', |
kjellander@webrtc.org | 6c35e0b | 2013-06-11 08:29:17 +0000 | [diff] [blame] | 215 | '<(DEPTH)/testing/gtest.gyp:gtest', |
minyue@webrtc.org | cc92e00 | 2013-09-30 08:43:50 +0000 | [diff] [blame] | 216 | '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', |
andresp@webrtc.org | 86e1e48 | 2015-01-14 09:30:52 +0000 | [diff] [blame] | 217 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
| 218 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default', |
kjellander@webrtc.org | 6c35e0b | 2013-06-11 08:29:17 +0000 | [diff] [blame] | 219 | '<(webrtc_root)/test/test.gyp:channel_transport', |
| 220 | '<(webrtc_root)/test/test.gyp:test_support', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 221 | ], |
| 222 | 'sources': [ |
| 223 | 'test/cmd_test/voe_cmd_test.cc', |
| 224 | ], |
| 225 | }, |
| 226 | ], # targets |
| 227 | 'conditions': [ |
| 228 | # TODO(kjellander): Support UseoFMFC on VS2010. |
| 229 | # http://code.google.com/p/webrtc/issues/detail?id=709 |
| 230 | ['OS=="win" and MSVS_VERSION < "2010"', { |
| 231 | 'targets': [ |
| 232 | # WinTest - GUI test for Windows |
| 233 | { |
| 234 | 'target_name': 'voe_ui_win_test', |
| 235 | 'type': 'executable', |
| 236 | 'dependencies': [ |
| 237 | 'voice_engine', |
andresp@webrtc.org | 86e1e48 | 2015-01-14 09:30:52 +0000 | [diff] [blame] | 238 | '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 239 | '<(webrtc_root)/test/test.gyp:test_support', |
| 240 | ], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 241 | 'sources': [ |
| 242 | 'test/win_test/Resource.h', |
| 243 | 'test/win_test/WinTest.cc', |
| 244 | 'test/win_test/WinTest.h', |
| 245 | 'test/win_test/WinTest.rc', |
| 246 | 'test/win_test/WinTestDlg.cc', |
| 247 | 'test/win_test/WinTestDlg.h', |
| 248 | 'test/win_test/res/WinTest.ico', |
| 249 | 'test/win_test/res/WinTest.rc2', |
| 250 | 'test/win_test/stdafx.cc', |
| 251 | 'test/win_test/stdafx.h', |
| 252 | ], |
| 253 | 'configurations': { |
| 254 | 'Common_Base': { |
| 255 | 'msvs_configuration_attributes': { |
| 256 | 'conditions': [ |
| 257 | ['component=="shared_library"', { |
| 258 | 'UseOfMFC': '2', # Shared DLL |
| 259 | },{ |
| 260 | 'UseOfMFC': '1', # Static |
| 261 | }], |
| 262 | ], |
| 263 | }, |
| 264 | }, |
| 265 | }, |
| 266 | 'msvs_settings': { |
| 267 | 'VCLinkerTool': { |
| 268 | 'SubSystem': '2', # Windows |
| 269 | }, |
| 270 | }, |
| 271 | }, |
| 272 | ], # targets |
| 273 | }], |
kjellander@webrtc.org | 3bd4156 | 2014-09-01 11:06:37 +0000 | [diff] [blame] | 274 | ['OS=="android"', { |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 275 | 'targets': [ |
| 276 | { |
kjellander@webrtc.org | 0372b93 | 2014-09-03 14:34:46 +0000 | [diff] [blame] | 277 | 'target_name': 'voice_engine_unittests_apk_target', |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 278 | 'type': 'none', |
| 279 | 'dependencies': [ |
kjellander@webrtc.org | 0372b93 | 2014-09-03 14:34:46 +0000 | [diff] [blame] | 280 | '<(apk_tests_path):voice_engine_unittests_apk', |
henrike@webrtc.org | 89c6740 | 2013-08-02 16:53:47 +0000 | [diff] [blame] | 281 | ], |
| 282 | }, |
| 283 | ], |
| 284 | }], |
kjellander@webrtc.org | 3365422 | 2013-08-22 07:57:00 +0000 | [diff] [blame] | 285 | ['test_isolation_mode != "noop"', { |
| 286 | 'targets': [ |
| 287 | { |
| 288 | 'target_name': 'voice_engine_unittests_run', |
| 289 | 'type': 'none', |
| 290 | 'dependencies': [ |
kjellander@webrtc.org | 3365422 | 2013-08-22 07:57:00 +0000 | [diff] [blame] | 291 | 'voice_engine_unittests', |
| 292 | ], |
| 293 | 'includes': [ |
kjellander@webrtc.org | 2a97317 | 2013-10-02 19:31:16 +0000 | [diff] [blame] | 294 | '../build/isolate.gypi', |
kjellander@webrtc.org | 3365422 | 2013-08-22 07:57:00 +0000 | [diff] [blame] | 295 | ], |
| 296 | 'sources': [ |
| 297 | 'voice_engine_unittests.isolate', |
| 298 | ], |
| 299 | }, |
| 300 | { |
| 301 | 'target_name': 'voe_auto_test_run', |
| 302 | 'type': 'none', |
| 303 | 'dependencies': [ |
kjellander@webrtc.org | 3365422 | 2013-08-22 07:57:00 +0000 | [diff] [blame] | 304 | 'voe_auto_test', |
| 305 | ], |
| 306 | 'includes': [ |
kjellander@webrtc.org | 2a97317 | 2013-10-02 19:31:16 +0000 | [diff] [blame] | 307 | '../build/isolate.gypi', |
kjellander@webrtc.org | 3365422 | 2013-08-22 07:57:00 +0000 | [diff] [blame] | 308 | ], |
| 309 | 'sources': [ |
| 310 | 'voe_auto_test.isolate', |
| 311 | ], |
| 312 | }, |
| 313 | ], |
| 314 | }], |
andrew@webrtc.org | f791b1c | 2013-05-29 00:38:02 +0000 | [diff] [blame] | 315 | ], # conditions |
| 316 | }], # include_tests |
| 317 | ], # conditions |
xians@google.com | d3185fe | 2011-09-12 12:24:39 +0000 | [diff] [blame] | 318 | } |