# Copyright (c) 2013 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.

import os
import stat
import sys

def CopyTool(source_path):
  """Copies the given tool to the current directory, including a warning not
  to edit it."""
  with open(source_path) as source_file:
    tool_source = source_file.readlines()

  # Add header and write it out to the current directory (which should be the
  # root build dir). Don't write the file if a matching file already exists
  # because that causes a cascade of unnecessary rebuilds.
  match = False
  contents = ''.join([tool_source[0],
                      '# Generated by setup_toolchain.py do not edit.\n']
                     + tool_source[1:])
  out_path = 'gyp-mac-tool'
  try:
    with open(out_path, 'rb') as read_tool_file:
      existing_contents = read_tool_file.read()
    if existing_contents == contents:
      match = True
  except:
    pass
  if not match:
    with open(out_path, 'wb') as write_tool_file:
      write_tool_file.write(contents)
  st = os.stat(out_path)
  if (st.st_mode & stat.S_IEXEC) == 0:
    # Only chmod when necessary.
    os.chmod(out_path, st.st_mode | stat.S_IEXEC)

# Find the tool source, it's the first argument, and copy it.
if len(sys.argv) != 2:
  print "Need one argument (mac_tool source path)."
  sys.exit(1)
CopyTool(sys.argv[1])