MetaLang, codegen_style and codegen_numbers utilities are now built by GYP targets, rules added for codegen_style and actions added for codegen_numbers and MetaLang. WinXP supported without Windows 7.1A SDK, but with explicitly setting MinimumRequiredVersion=5.01. It works (and that is strange). If you attempt to use MSBuild instead of Ninja you should add the latest Windows SDK include paths to include_dirs, because v140_xp toolset implies the Windows 7.1A SDK (and is ignored by Ninja).
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
'''
 | 
						|
This file is part of Telegram Desktop,
 | 
						|
the official desktop version of Telegram messaging app, see https://telegram.org
 | 
						|
 | 
						|
Telegram Desktop is free software: you can redistribute it and/or modify
 | 
						|
it under the terms of the GNU General Public License as published by
 | 
						|
the Free Software Foundation, either version 3 of the License, or
 | 
						|
(at your option) any later version.
 | 
						|
 | 
						|
It is distributed in the hope that it will be useful,
 | 
						|
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | 
						|
GNU General Public License for more details.
 | 
						|
 | 
						|
In addition, as a special exception, the copyright holders give permission
 | 
						|
to link the code of portions of this program with the OpenSSL library.
 | 
						|
 | 
						|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
 | 
						|
Copyright (c) 2014 John Preston, https://desktop.telegram.org
 | 
						|
'''
 | 
						|
import glob
 | 
						|
import re
 | 
						|
import os
 | 
						|
 | 
						|
# Generate custom environment.x86 for ninja
 | 
						|
# We use msbuild.log to extract some variables
 | 
						|
variables = [
 | 
						|
  'TMP',
 | 
						|
  'SYSTEMROOT',
 | 
						|
  'TEMP',
 | 
						|
  'LIB',
 | 
						|
  'LIBPATH',
 | 
						|
  'PATH',
 | 
						|
  'PATHEXT',
 | 
						|
  'INCLUDE',
 | 
						|
]
 | 
						|
var_values = {}
 | 
						|
for var_name in variables:
 | 
						|
  var_values[var_name] = os.environ[var_name]
 | 
						|
 | 
						|
next_contains_var = 0
 | 
						|
with open('msbuild.log') as f:
 | 
						|
  for line in f:
 | 
						|
    if (re.match(r'^\s*Task "SetEnv"\s*$', line)):
 | 
						|
      next_contains_var = 1
 | 
						|
    elif next_contains_var:
 | 
						|
      cleanline = re.sub(r'^\s*|\s*$', '', line)
 | 
						|
      name_value_pair = re.match(r'^([A-Z]+)=(.+)$', cleanline)
 | 
						|
      if name_value_pair:
 | 
						|
        var_values[name_value_pair.group(1)] = name_value_pair.group(2)
 | 
						|
      next_contains_var = 0
 | 
						|
 | 
						|
out = open('environment.x86', 'wb')
 | 
						|
for var_name in variables:
 | 
						|
  out.write(var_name + '=' + var_values[var_name] + '\0')
 | 
						|
out.write('\0')
 | 
						|
out.close()
 |