Home | History | Annotate | Download | only in bot
      1 # Copyright (c) 2015, Google Inc.
      2 #
      3 # Permission to use, copy, modify, and/or distribute this software for any
      4 # purpose with or without fee is hereby granted, provided that the above
      5 # copyright notice and this permission notice appear in all copies.
      6 #
      7 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
      8 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
      9 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
     10 # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     11 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
     12 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     13 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     14 
     15 import subprocess
     16 import sys
     17 
     18 import vs_toolchain
     19 # vs_toolchain adds gyp to sys.path.
     20 import gyp.MSVSVersion
     21 
     22 if len(sys.argv) < 2:
     23   print >>sys.stderr, "Usage: vs_env.py TARGET_ARCH CMD..."
     24   sys.exit(1)
     25 
     26 target_arch = sys.argv[1]
     27 cmd = sys.argv[2:]
     28 
     29 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
     30 vs_version = gyp.MSVSVersion.SelectVisualStudioVersion()
     31 
     32 # Using shell=True is somewhat ugly, but the alternative is to pull in a copy
     33 # of the Chromium GN build's setup_toolchain.py which runs the setup script,
     34 # then 'set', and then parses the environment variables out. (GYP internally
     35 # does the same thing.)
     36 sys.exit(subprocess.call(vs_version.SetupScript(target_arch) + ["&&"] + cmd,
     37                          shell=True))
     38