def msvc_environment(bitness): program_files = os.path.join('C:', '/Program Files (x86)') if not os.path.exists(program_files): program_files = os.path.join('C:', '/Program Files') msvc_ver = msvc_version() vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio ' + msvc_ver, 'VC', 'vcvarsall.bat') arg = 'amd64' if bitness == 64 else 'x86' return environmentfrombatchfile.get(vcvarsall, arguments=arg)
def msvc_environment(bitness): program_files = os.path.join('C:', '/Program Files (x86)') if not os.path.exists(program_files): program_files = os.path.join('C:', '/Program Files') msvc_ver = msvc_version() if msvc_ver == '14.1' or msvc_ver == '14.2': vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio', msvc_year(), 'Professional', 'VC', 'Auxiliary', 'Build', 'vcvarsall.bat') arg = 'x64' if bitness == 64 else 'x86' else: vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio ' + msvc_ver, 'VC', 'vcvarsall.bat') arg = 'amd64' if bitness == 64 else 'x86' return environmentfrombatchfile.get(vcvarsall, arguments=arg)
def msvc_environment(bitness): program_files = os.path.join('C:', '/Program Files (x86)') if not os.path.exists(program_files): program_files = os.path.join('C:', '/Program Files') msvc_ver = msvc_version() if msvc_ver == '14.1' or msvc_ver == '14.2': vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio', msvc_year(), 'Professional', 'VC', 'Auxiliary', 'Build', 'vcvarsall.bat') arg = 'x64' if bitness == 64 else 'x64_x86' else: vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio ' + msvc_ver, 'VC', 'vcvarsall.bat') arg = 'amd64' if bitness == 64 else 'x64_x86' return environmentfrombatchfile.get(vcvarsall, arguments=arg)
def build_environment(toolchain, bitness): if bldinstallercommon.is_win_platform(): if is_mingw_toolchain(toolchain): environment = dict(os.environ) # cmake says "For MinGW make to work correctly sh.exe must NOT be in your path." environment['PATH'] = paths_with_sh_exe_removed(environment['PATH']) return environment else: program_files = os.path.join('C:', '/Program Files (x86)') if not os.path.exists(program_files): program_files = os.path.join('C:', '/Program Files') vcvarsall = os.path.join(program_files, 'Microsoft Visual Studio ' + os.environ['MSVC_VERSION'], 'VC', 'vcvarsall.bat') arg = 'amd64' if bitness == 64 else 'x86' return environmentfrombatchfile.get(vcvarsall, arguments=arg) else: return None # == process environment
def getEnvironment(init_environment = None, callerArguments = None): if init_environment is None: init_environment = {} # first take the one from the system and use the plain dictionary data for that environment = os.environ.__dict__["data"] if hasattr(callerArguments, 'environment_batch') and callerArguments.environment_batch: environment = environmentfrombatchfile.get( callerArguments.environment_batch, arguments = callerArguments.environment_batch_argument) if (hasattr(callerArguments, 'gnuwin32binpath') and callerArguments.gnuwin32binpath and os.path.lexists(callerArguments.gnuwin32binpath)): setValueOnEnvironmentDict(environment, 'PATH', callerArguments.gnuwin32binpath) if hasattr(callerArguments, 'pythonpath') and callerArguments.pythonpath: setValueOnEnvironmentDict(environment, 'PATH', callerArguments.pythonpath) if hasattr(callerArguments, 'perlpath') and callerArguments.perlpath: setValueOnEnvironmentDict(environment, 'PATH', callerArguments.perlpath) if hasattr(callerArguments, 'icupath') and callerArguments.icupath: setValueOnEnvironmentDict(environment, 'PATH', os.path.join(callerArguments.icupath, 'bin')) setValueOnEnvironmentDict(environment, 'INCLUDE', os.path.join(callerArguments.icupath, 'include')) setValueOnEnvironmentDict(environment, 'LIB', os.path.join(callerArguments.icupath, 'lib')) if hasattr(callerArguments, 'opensslpath') and callerArguments.opensslpath: setValueOnEnvironmentDict(environment, 'PATH', os.path.join(callerArguments.opensslpath, 'bin')) setValueOnEnvironmentDict(environment, 'INCLUDE', os.path.join(callerArguments.opensslpath, 'include')) setValueOnEnvironmentDict(environment, 'LIB', os.path.join(callerArguments.opensslpath, 'lib')) if not init_environment: return environment # if we have an init_environment we merge the environment dicts merged_environment = {} for key in init_environment.viewkeys(): keyUpper = key.upper() if any((keyUpper == 'PATH', keyUpper == 'INCLUDE', keyUpper == 'LIB')): # use save setValueOnEnvironmentDict in case there are PATH and Path setValueOnEnvironmentDict(merged_environment, key, init_environment[key]) else: merged_environment[key] = init_environment[key] # now add the ones from the system environment for key in environment.viewkeys(): keyUpper = key.upper() if any((keyUpper == 'PATH', keyUpper == 'INCLUDE', keyUpper == 'LIB')): setValueOnEnvironmentDict(merged_environment, key, environment[key]) else: merged_environment[key] = environment[key] return merged_environment