diff --git a/webrtc/system_wrappers/source/system_wrappers.gyp b/webrtc/system_wrappers/source/system_wrappers.gyp
deleted file mode 100644
index a900731..0000000
--- a/webrtc/system_wrappers/source/system_wrappers.gyp
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS.  All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-#
-# TODO(andresp): Remove this file once chromium is referencing
-# webrtc/system_wrappers/system_wrappers.gyp directly.
-{
-  'includes': [ '../system_wrappers.gypi', ],
-}
-
diff --git a/webrtc/system_wrappers/system_wrappers.gyp b/webrtc/system_wrappers/system_wrappers.gyp
index dfebb00..221305b 100644
--- a/webrtc/system_wrappers/system_wrappers.gyp
+++ b/webrtc/system_wrappers/system_wrappers.gyp
@@ -7,6 +7,235 @@
 # be found in the AUTHORS file in the root of the source tree.
 
 {
-  'includes': [ 'system_wrappers.gypi', ],
+  'includes': [ '../build/common.gypi', ],
+  'targets': [
+    {
+      'target_name': 'system_wrappers',
+      'type': 'static_library',
+      'dependencies': [
+        '../base/base.gyp:rtc_base_approved',
+      ],
+      'sources': [
+        'interface/aligned_array.h',
+        'interface/aligned_malloc.h',
+        'interface/atomic32.h',
+        'interface/clock.h',
+        'interface/condition_variable_wrapper.h',
+        'interface/cpu_info.h',
+        'interface/cpu_features_wrapper.h',
+        'interface/critical_section_wrapper.h',
+        'interface/data_log.h',
+        'interface/data_log_c.h',
+        'interface/data_log_impl.h',
+        'interface/event_tracer.h',
+        'interface/event_wrapper.h',
+        'interface/field_trial.h',
+        'interface/file_wrapper.h',
+        'interface/fix_interlocked_exchange_pointer_win.h',
+        'interface/logcat_trace_context.h',
+        'interface/logging.h',
+        'interface/metrics.h',
+        'interface/ref_count.h',
+        'interface/rtp_to_ntp.h',
+        'interface/rw_lock_wrapper.h',
+        'interface/scoped_ptr.h',
+        'interface/scoped_refptr.h',
+        'interface/scoped_vector.h',
+        'interface/sleep.h',
+        'interface/sort.h',
+        'interface/static_instance.h',
+        'interface/stl_util.h',
+        'interface/stringize_macros.h',
+        'interface/thread_wrapper.h',
+        'interface/tick_util.h',
+        'interface/timestamp_extrapolator.h',
+        'interface/trace.h',
+        'interface/trace_event.h',
+        'interface/utf_util_win.h',
+        'source/aligned_malloc.cc',
+        'source/atomic32_mac.cc',
+        'source/atomic32_posix.cc',
+        'source/atomic32_win.cc',
+        'source/clock.cc',
+        'source/condition_variable.cc',
+        'source/condition_variable_posix.cc',
+        'source/condition_variable_posix.h',
+        'source/condition_variable_event_win.cc',
+        'source/condition_variable_event_win.h',
+        'source/condition_variable_native_win.cc',
+        'source/condition_variable_native_win.h',
+        'source/cpu_info.cc',
+        'source/cpu_features.cc',
+        'source/critical_section.cc',
+        'source/critical_section_posix.cc',
+        'source/critical_section_posix.h',
+        'source/critical_section_win.cc',
+        'source/critical_section_win.h',
+        'source/data_log.cc',
+        'source/data_log_c.cc',
+        'source/data_log_no_op.cc',
+        'source/event.cc',
+        'source/event_posix.cc',
+        'source/event_posix.h',
+        'source/event_tracer.cc',
+        'source/event_win.cc',
+        'source/event_win.h',
+        'source/file_impl.cc',
+        'source/file_impl.h',
+        'source/logcat_trace_context.cc',
+        'source/logging.cc',
+        'source/rtp_to_ntp.cc',
+        'source/rw_lock.cc',
+        'source/rw_lock_generic.cc',
+        'source/rw_lock_generic.h',
+        'source/rw_lock_posix.cc',
+        'source/rw_lock_posix.h',
+        'source/rw_lock_win.cc',
+        'source/rw_lock_win.h',
+        'source/set_thread_name_win.h',
+        'source/sleep.cc',
+        'source/sort.cc',
+        'source/tick_util.cc',
+        'source/thread.cc',
+        'source/thread_posix.cc',
+        'source/thread_posix.h',
+        'source/thread_win.cc',
+        'source/thread_win.h',
+        'source/timestamp_extrapolator.cc',
+        'source/trace_impl.cc',
+        'source/trace_impl.h',
+        'source/trace_posix.cc',
+        'source/trace_posix.h',
+        'source/trace_win.cc',
+        'source/trace_win.h',
+      ],
+      'conditions': [
+        ['enable_data_logging==1', {
+          'sources!': [ 'source/data_log_no_op.cc', ],
+        }, {
+          'sources!': [ 'source/data_log.cc', ],
+        },],
+        ['OS=="android"', {
+          'defines': [
+            'WEBRTC_THREAD_RR',
+            # TODO(leozwang): Investigate CLOCK_REALTIME and CLOCK_MONOTONIC
+            # support on Android. Keep WEBRTC_CLOCK_TYPE_REALTIME for now,
+            # remove it after I verify that CLOCK_MONOTONIC is fully functional
+            # with condition and event functions in system_wrappers.
+            'WEBRTC_CLOCK_TYPE_REALTIME',
+           ],
+          'dependencies': [ 'cpu_features_android', ],
+          'link_settings': {
+            'libraries': [
+              '-llog',
+            ],
+          },
+        }, {  # OS!="android"
+          'sources!': [
+            'interface/logcat_trace_context.h',
+            'source/logcat_trace_context.cc',
+          ],
+        }],
+        ['OS=="linux"', {
+          'defines': [
+            'WEBRTC_THREAD_RR',
+            # TODO(andrew): can we select this automatically?
+            # Define this if the Linux system does not support CLOCK_MONOTONIC.
+            #'WEBRTC_CLOCK_TYPE_REALTIME',
+          ],
+          'link_settings': {
+            'libraries': [ '-lrt', ],
+          },
+        }],
+        ['OS=="mac"', {
+          'link_settings': {
+            'libraries': [ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework', ],
+          },
+          'sources!': [
+            'source/atomic32_posix.cc',
+          ],
+        }],
+        ['OS=="ios" or OS=="mac"', {
+          'defines': [
+            'WEBRTC_THREAD_RR',
+            'WEBRTC_CLOCK_TYPE_REALTIME',
+          ],
+        }],
+        ['OS=="win"', {
+          'link_settings': {
+            'libraries': [ '-lwinmm.lib', ],
+          },
+        }],
+      ], # conditions
+      'target_conditions': [
+        # We need to do this in a target_conditions block to override the
+        # filename_rules filters.
+        ['OS=="ios"', {
+          # Pull in specific Mac files for iOS (which have been filtered out
+          # by file name rules).
+          'sources/': [
+            ['include', '^source/atomic32_mac\\.'],
+          ],
+          'sources!': [
+            'source/atomic32_posix.cc',
+          ],
+        }],
+      ],
+      # Disable warnings to enable Win64 build, issue 1323.
+      'msvs_disabled_warnings': [
+        4267,  # size_t to int truncation.
+        4334,  # Ignore warning on shift operator promotion.
+      ],
+    }, {
+      'target_name': 'field_trial_default',
+      'type': 'static_library',
+      'sources': [
+        'source/field_trial_default.cc',
+      ],
+      'dependencies': [
+        'system_wrappers',
+      ]
+    }, {
+      'target_name': 'metrics_default',
+      'type': 'static_library',
+      'sources': [
+        'source/metrics_default.cc',
+      ],
+      'dependencies': [
+        'system_wrappers',
+      ]
+    }, {
+      'target_name': 'system_wrappers_default',
+      'type': 'static_library',
+      'dependencies': [
+        'field_trial_default',
+        'metrics_default',
+      ]
+    },
+  ], # targets
+  'conditions': [
+    ['OS=="android"', {
+      'targets': [
+        {
+          'target_name': 'cpu_features_android',
+          'type': 'static_library',
+          'sources': [
+            'source/cpu_features_android.c',
+          ],
+          'conditions': [
+            ['android_webview_build == 1', {
+              'libraries': [
+                'cpufeatures.a'
+              ],
+            }, {
+              'dependencies': [
+                '<(android_ndk_root)/android_tools_ndk.gyp:cpu_features',
+              ],
+            }],
+          ],
+        },
+      ],
+    }],
+  ], # conditions
 }
 
diff --git a/webrtc/system_wrappers/system_wrappers.gypi b/webrtc/system_wrappers/system_wrappers.gypi
deleted file mode 100644
index 221305b..0000000
--- a/webrtc/system_wrappers/system_wrappers.gypi
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS.  All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-
-{
-  'includes': [ '../build/common.gypi', ],
-  'targets': [
-    {
-      'target_name': 'system_wrappers',
-      'type': 'static_library',
-      'dependencies': [
-        '../base/base.gyp:rtc_base_approved',
-      ],
-      'sources': [
-        'interface/aligned_array.h',
-        'interface/aligned_malloc.h',
-        'interface/atomic32.h',
-        'interface/clock.h',
-        'interface/condition_variable_wrapper.h',
-        'interface/cpu_info.h',
-        'interface/cpu_features_wrapper.h',
-        'interface/critical_section_wrapper.h',
-        'interface/data_log.h',
-        'interface/data_log_c.h',
-        'interface/data_log_impl.h',
-        'interface/event_tracer.h',
-        'interface/event_wrapper.h',
-        'interface/field_trial.h',
-        'interface/file_wrapper.h',
-        'interface/fix_interlocked_exchange_pointer_win.h',
-        'interface/logcat_trace_context.h',
-        'interface/logging.h',
-        'interface/metrics.h',
-        'interface/ref_count.h',
-        'interface/rtp_to_ntp.h',
-        'interface/rw_lock_wrapper.h',
-        'interface/scoped_ptr.h',
-        'interface/scoped_refptr.h',
-        'interface/scoped_vector.h',
-        'interface/sleep.h',
-        'interface/sort.h',
-        'interface/static_instance.h',
-        'interface/stl_util.h',
-        'interface/stringize_macros.h',
-        'interface/thread_wrapper.h',
-        'interface/tick_util.h',
-        'interface/timestamp_extrapolator.h',
-        'interface/trace.h',
-        'interface/trace_event.h',
-        'interface/utf_util_win.h',
-        'source/aligned_malloc.cc',
-        'source/atomic32_mac.cc',
-        'source/atomic32_posix.cc',
-        'source/atomic32_win.cc',
-        'source/clock.cc',
-        'source/condition_variable.cc',
-        'source/condition_variable_posix.cc',
-        'source/condition_variable_posix.h',
-        'source/condition_variable_event_win.cc',
-        'source/condition_variable_event_win.h',
-        'source/condition_variable_native_win.cc',
-        'source/condition_variable_native_win.h',
-        'source/cpu_info.cc',
-        'source/cpu_features.cc',
-        'source/critical_section.cc',
-        'source/critical_section_posix.cc',
-        'source/critical_section_posix.h',
-        'source/critical_section_win.cc',
-        'source/critical_section_win.h',
-        'source/data_log.cc',
-        'source/data_log_c.cc',
-        'source/data_log_no_op.cc',
-        'source/event.cc',
-        'source/event_posix.cc',
-        'source/event_posix.h',
-        'source/event_tracer.cc',
-        'source/event_win.cc',
-        'source/event_win.h',
-        'source/file_impl.cc',
-        'source/file_impl.h',
-        'source/logcat_trace_context.cc',
-        'source/logging.cc',
-        'source/rtp_to_ntp.cc',
-        'source/rw_lock.cc',
-        'source/rw_lock_generic.cc',
-        'source/rw_lock_generic.h',
-        'source/rw_lock_posix.cc',
-        'source/rw_lock_posix.h',
-        'source/rw_lock_win.cc',
-        'source/rw_lock_win.h',
-        'source/set_thread_name_win.h',
-        'source/sleep.cc',
-        'source/sort.cc',
-        'source/tick_util.cc',
-        'source/thread.cc',
-        'source/thread_posix.cc',
-        'source/thread_posix.h',
-        'source/thread_win.cc',
-        'source/thread_win.h',
-        'source/timestamp_extrapolator.cc',
-        'source/trace_impl.cc',
-        'source/trace_impl.h',
-        'source/trace_posix.cc',
-        'source/trace_posix.h',
-        'source/trace_win.cc',
-        'source/trace_win.h',
-      ],
-      'conditions': [
-        ['enable_data_logging==1', {
-          'sources!': [ 'source/data_log_no_op.cc', ],
-        }, {
-          'sources!': [ 'source/data_log.cc', ],
-        },],
-        ['OS=="android"', {
-          'defines': [
-            'WEBRTC_THREAD_RR',
-            # TODO(leozwang): Investigate CLOCK_REALTIME and CLOCK_MONOTONIC
-            # support on Android. Keep WEBRTC_CLOCK_TYPE_REALTIME for now,
-            # remove it after I verify that CLOCK_MONOTONIC is fully functional
-            # with condition and event functions in system_wrappers.
-            'WEBRTC_CLOCK_TYPE_REALTIME',
-           ],
-          'dependencies': [ 'cpu_features_android', ],
-          'link_settings': {
-            'libraries': [
-              '-llog',
-            ],
-          },
-        }, {  # OS!="android"
-          'sources!': [
-            'interface/logcat_trace_context.h',
-            'source/logcat_trace_context.cc',
-          ],
-        }],
-        ['OS=="linux"', {
-          'defines': [
-            'WEBRTC_THREAD_RR',
-            # TODO(andrew): can we select this automatically?
-            # Define this if the Linux system does not support CLOCK_MONOTONIC.
-            #'WEBRTC_CLOCK_TYPE_REALTIME',
-          ],
-          'link_settings': {
-            'libraries': [ '-lrt', ],
-          },
-        }],
-        ['OS=="mac"', {
-          'link_settings': {
-            'libraries': [ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework', ],
-          },
-          'sources!': [
-            'source/atomic32_posix.cc',
-          ],
-        }],
-        ['OS=="ios" or OS=="mac"', {
-          'defines': [
-            'WEBRTC_THREAD_RR',
-            'WEBRTC_CLOCK_TYPE_REALTIME',
-          ],
-        }],
-        ['OS=="win"', {
-          'link_settings': {
-            'libraries': [ '-lwinmm.lib', ],
-          },
-        }],
-      ], # conditions
-      'target_conditions': [
-        # We need to do this in a target_conditions block to override the
-        # filename_rules filters.
-        ['OS=="ios"', {
-          # Pull in specific Mac files for iOS (which have been filtered out
-          # by file name rules).
-          'sources/': [
-            ['include', '^source/atomic32_mac\\.'],
-          ],
-          'sources!': [
-            'source/atomic32_posix.cc',
-          ],
-        }],
-      ],
-      # Disable warnings to enable Win64 build, issue 1323.
-      'msvs_disabled_warnings': [
-        4267,  # size_t to int truncation.
-        4334,  # Ignore warning on shift operator promotion.
-      ],
-    }, {
-      'target_name': 'field_trial_default',
-      'type': 'static_library',
-      'sources': [
-        'source/field_trial_default.cc',
-      ],
-      'dependencies': [
-        'system_wrappers',
-      ]
-    }, {
-      'target_name': 'metrics_default',
-      'type': 'static_library',
-      'sources': [
-        'source/metrics_default.cc',
-      ],
-      'dependencies': [
-        'system_wrappers',
-      ]
-    }, {
-      'target_name': 'system_wrappers_default',
-      'type': 'static_library',
-      'dependencies': [
-        'field_trial_default',
-        'metrics_default',
-      ]
-    },
-  ], # targets
-  'conditions': [
-    ['OS=="android"', {
-      'targets': [
-        {
-          'target_name': 'cpu_features_android',
-          'type': 'static_library',
-          'sources': [
-            'source/cpu_features_android.c',
-          ],
-          'conditions': [
-            ['android_webview_build == 1', {
-              'libraries': [
-                'cpufeatures.a'
-              ],
-            }, {
-              'dependencies': [
-                '<(android_ndk_root)/android_tools_ndk.gyp:cpu_features',
-              ],
-            }],
-          ],
-        },
-      ],
-    }],
-  ], # conditions
-}
-
