| Index: webkit/support/setup_third_party.py
|
| diff --git a/webkit/support/setup_third_party.py b/webkit/support/setup_third_party.py
|
| deleted file mode 100755
|
| index 0f4099d7a4905e9465b8de9157c6d30a3999e293..0000000000000000000000000000000000000000
|
| --- a/webkit/support/setup_third_party.py
|
| +++ /dev/null
|
| @@ -1,129 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -"""A helper script for setting up forwarding headers."""
|
| -
|
| -import errno
|
| -import os
|
| -import sys
|
| -
|
| -
|
| -def GetHeaderFilesInDir(dir_path):
|
| - """Return a list of all header files under dir_path
|
| - (as absolute native paths)."""
|
| - all_files = []
|
| - for root, dirs, files in os.walk(dir_path):
|
| - all_files.extend([os.path.join(root, f) for f in files if f.endswith('.h')])
|
| - return all_files
|
| -
|
| -
|
| -def PathForInclude(path):
|
| - # We should always use unix-style forward slashes in #includes.
|
| - return path.replace(os.sep, '/')
|
| -
|
| -
|
| -def NativePath(path):
|
| - return path.replace('/', os.sep)
|
| -
|
| -
|
| -def PathForGyp(path):
|
| - # GYP will try to shell-escape backslashes, so we should always
|
| - # return unix-style paths with forward slashes as the directory separators.
|
| - return path.replace(os.sep, '/')
|
| -
|
| -
|
| -def Inputs(args):
|
| - """List the files in the provided input dir.
|
| -
|
| - args: A list with 1 value, the input dir.
|
| - Returns: 0 on success, other value on error."""
|
| - if len(args) != 1:
|
| - print "'inputs' expects only one input directory."
|
| - return -1
|
| -
|
| - for filename in GetHeaderFilesInDir(args[0]):
|
| - print PathForGyp(filename)
|
| - return 0
|
| -
|
| -
|
| -def Outputs(args):
|
| - """Takes an input dir and an output dir and figures out new output files
|
| - based on copying from the input dir to the output dir.
|
| -
|
| - args: A list with 2 values, the input dir and the output dir.
|
| - Returns: 0 on success, other value on error."""
|
| - if len(args) != 2:
|
| - print "'outputs' expects an input directory and an output directory."
|
| - return -1
|
| -
|
| - base_input_dir = NativePath(args[0])
|
| - output_dir = NativePath(args[1])
|
| - input_files = GetHeaderFilesInDir(base_input_dir)
|
| - for filename in input_files:
|
| - rel_path = os.path.relpath(filename, base_input_dir)
|
| - print PathForGyp(os.path.join(output_dir, rel_path))
|
| -
|
| -
|
| -def SetupHeaders(args):
|
| - """Takes an input dir and an output dir and sets up forwarding headers
|
| - from output dir to files in input dir.
|
| - args: A list with 3 values, the input dir, the output dir, and the dir
|
| - that #include paths will be relative to..
|
| - Returns: 0 on success, other value on error."""
|
| - if len(args) != 3:
|
| - print ("'setup_headers' expects an input directory, an output directory, ."
|
| - "and a directory to make includes relative to.")
|
| - return -1
|
| -
|
| - base_input_dir = NativePath(args[0])
|
| - output_dir = NativePath(args[1])
|
| - relative_to_dir = NativePath(args[2])
|
| - input_files = GetHeaderFilesInDir(base_input_dir)
|
| - for input_filename in input_files:
|
| - rel_path = os.path.relpath(input_filename, base_input_dir)
|
| - out_filename = os.path.join(output_dir, rel_path)
|
| - TryToMakeDir(os.path.split(out_filename)[0])
|
| - WriteForwardingHeader(input_filename, out_filename, relative_to_dir)
|
| -
|
| -
|
| -def TryToMakeDir(dir_name):
|
| - """Create the directory dir_name if it doesn't exist."""
|
| - try:
|
| - os.makedirs(dir_name)
|
| - except OSError, e:
|
| - if e.errno != errno.EEXIST:
|
| - raise e
|
| -
|
| -
|
| -def WriteForwardingHeader(input_filename, out_filename, relative_to_dir):
|
| - """Create a forwarding header from out_filename to input_filename."""
|
| - # Windows has a file path limit of 260 characters, which can be hit when
|
| - # generating these forwarding headers. Instead of using an include
|
| - # that specifies the path relative to out_filename's dir, we compute a path
|
| - # relative to relative_to_dir, which must be included in gyp's include_dirs
|
| - # settings for this to work. Even those this is really only needed on
|
| - # Windows, we do this on all platforms to be consistent.
|
| - rel_path = os.path.relpath(input_filename, relative_to_dir)
|
| - out_file = open(out_filename, 'w')
|
| - out_file.write("""// This file is generated. Do not edit.
|
| -// The include is relative to "%s".
|
| -#include "%s"
|
| -""" % (os.path.abspath(relative_to_dir), PathForInclude(rel_path)))
|
| - out_file.close()
|
| -
|
| -
|
| -def Main(argv):
|
| - commands = {
|
| - 'inputs': Inputs,
|
| - 'outputs': Outputs,
|
| - 'setup_headers': SetupHeaders,
|
| - }
|
| - command = argv[1]
|
| - args = argv[2:]
|
| - return commands[command](args)
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - sys.exit(Main(sys.argv))
|
|
|