58 lines
1.7 KiB
Python
58 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()
|