diff options
Diffstat (limited to 'BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py')
-rwxr-xr-x | BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py | 182 |
1 files changed, 91 insertions, 91 deletions
diff --git a/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py b/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py index b26b4e5b51..66b9e9dc8c 100755 --- a/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py +++ b/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py @@ -1,94 +1,94 @@ -#!/usr/bin/env python -# -# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> -# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -# -# ARMCC tools do not support cygwin paths. Ths script converts cygwin paths to DOS paths -# in any arguments. -# -# armcc_wrapper.py ToolToExec [command line to convert] -# -# anthing with the / will be converted via cygpath cygwin call or manually. -# -I/cygpath/c/example is a special case as you can not pass -I to cygpath -# -# ExceptionList if a tool takes an argument with a / add it to the exception list -# +#!/usr/bin/env python
+#
+# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+#
+# This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+#
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+#
+# ARMCC tools do not support cygwin paths. Ths script converts cygwin paths to DOS paths
+# in any arguments.
+#
+# armcc_wrapper.py ToolToExec [command line to convert]
+#
+# anthing with the / will be converted via cygpath cygwin call or manually.
+# -I/cygpath/c/example is a special case as you can not pass -I to cygpath
+#
+# ExceptionList if a tool takes an argument with a / add it to the exception list
+#
from __future__ import print_function
-import sys -import os -import subprocess -import pipes - -# -# Convert using cygpath command line tool -# Currently not used, but just in case we need it in the future -# -def ConvertCygPathToDosViacygpath(CygPath): - p = subprocess.Popen("cygpath -m " + pipes.quote(CygPath), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) - return p.stdout.read().strip() - -# -# -# -def ConvertCygPathToDos(CygPath): - if CygPath.find("/cygdrive/") == 0: - # convert /cygdrive/c/Xyz to c:/Xyz - DosPath = CygPath[10] + ':' + CygPath[11:] - else: - DosPath = CygPath - - # pipes.quote will add the extra \\ for us. +import sys
+import os
+import subprocess
+import pipes
+
+#
+# Convert using cygpath command line tool
+# Currently not used, but just in case we need it in the future
+#
+def ConvertCygPathToDosViacygpath(CygPath):
+ p = subprocess.Popen("cygpath -m " + pipes.quote(CygPath), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
+ return p.stdout.read().strip()
+
+#
+#
+#
+def ConvertCygPathToDos(CygPath):
+ if CygPath.find("/cygdrive/") == 0:
+ # convert /cygdrive/c/Xyz to c:/Xyz
+ DosPath = CygPath[10] + ':' + CygPath[11:]
+ else:
+ DosPath = CygPath
+
+ # pipes.quote will add the extra \\ for us.
return DosPath.replace('/', '\\')
- - -# we receive our options as a list, but we will be passing them to the shell as a line -# this means we have to requote things as they will get one round of unquoting. -# we can't set "shell=False" because we are running commands from the PATH and -# if you don't use the shell you don't get a PATH search. -def main(argv): - - # use 1st argument as name of tool to call - Command = pipes.quote(sys.argv[1]); - - ExceptionList = ["/interwork"] - - for arg in argv: - if arg.find('/') == -1: - # if we don't need to convert just add to the command line - Command = Command + ' ' + pipes.quote(arg) - elif arg in ExceptionList: - # if it is in the list, then don't do a cygpath - # assembler stuff after --apcs has the /. - Command = Command + ' ' + pipes.quote(arg) - else: - if ((arg[0] == '-') and (arg[1] == 'I' or arg[1] == 'i')): - CygPath = arg[0] + arg[1] + ConvertCygPathToDos(arg[2:]) - else: - CygPath = ConvertCygPathToDos(arg) - - Command = Command + ' ' + pipes.quote(CygPath) - - # call the real tool with the converted paths - return subprocess.call(Command, shell=True) - - -if __name__ == "__main__": - try: - ret = main(sys.argv[2:]) - - except: +
+
+# we receive our options as a list, but we will be passing them to the shell as a line
+# this means we have to requote things as they will get one round of unquoting.
+# we can't set "shell=False" because we are running commands from the PATH and
+# if you don't use the shell you don't get a PATH search.
+def main(argv):
+
+ # use 1st argument as name of tool to call
+ Command = pipes.quote(sys.argv[1]);
+
+ ExceptionList = ["/interwork"]
+
+ for arg in argv:
+ if arg.find('/') == -1:
+ # if we don't need to convert just add to the command line
+ Command = Command + ' ' + pipes.quote(arg)
+ elif arg in ExceptionList:
+ # if it is in the list, then don't do a cygpath
+ # assembler stuff after --apcs has the /.
+ Command = Command + ' ' + pipes.quote(arg)
+ else:
+ if ((arg[0] == '-') and (arg[1] == 'I' or arg[1] == 'i')):
+ CygPath = arg[0] + arg[1] + ConvertCygPathToDos(arg[2:])
+ else:
+ CygPath = ConvertCygPathToDos(arg)
+
+ Command = Command + ' ' + pipes.quote(CygPath)
+
+ # call the real tool with the converted paths
+ return subprocess.call(Command, shell=True)
+
+
+if __name__ == "__main__":
+ try:
+ ret = main(sys.argv[2:])
+
+ except:
print("exiting: exception from " + sys.argv[0])
- ret = 2 - - sys.exit(ret) - + ret = 2
+
+ sys.exit(ret)
+
|