diff --git a/build/gyp_pdfium b/build/gyp_pdfium
deleted file mode 100755
index 3dbbbee..0000000
--- a/build/gyp_pdfium
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2014 PDFium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This script is wrapper for PDFium that adds some support for how GYP
-# is invoked by PDFium beyond what can be done in the gclient hooks.
-
-import os
-import platform
-import sys
-
-script_dir = os.path.dirname(os.path.realpath(__file__))
-pdfium_root = os.path.abspath(os.path.join(script_dir, os.pardir))
-
-sys.path.insert(0, os.path.join(pdfium_root, 'build_gyp', 'gyp', 'pylib'))
-import gyp
-
-
-def run_gyp(args):
-  rc = gyp.main(args)
-  if rc != 0:
-    print 'Error running GYP'
-    sys.exit(rc)
-
-
-def main():
-  args = sys.argv[1:]
-  args.append(os.path.join(pdfium_root, 'build_gyp', 'all.gyp'))
-
-  args.append('-I')
-  args.append(os.path.join(pdfium_root, 'build_gyp', 'standalone.gypi'))
-
-  args.extend(['-D', 'gyp_output_dir=out'])
-
-  # Set the GYP DEPTH variable to the root of the PDFium project.
-  args.append('--depth=' + os.path.relpath(pdfium_root))
-
-  # GYP does not default to ninja, but PDFium should.
-  if not os.environ.get('GYP_GENERATORS', ''):
-    print 'GYP_GENERATORS is not set, defaulting to ninja'
-    os.environ['GYP_GENERATORS'] = 'ninja'
-
-  print 'Updating projects from gyp files...'
-  sys.stdout.flush()
-
-  run_gyp(args)
-
-
-if __name__ == '__main__':
-  sys.exit(main())
diff --git a/build/gyp_pdfium.py b/build/gyp_pdfium.py
deleted file mode 100644
index 6831702..0000000
--- a/build/gyp_pdfium.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2014 PDFium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-
-path = os.path.abspath(os.path.split(__file__)[0])
-execfile(os.path.join(path, 'gyp_pdfium'))
