aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/run_msvc_wine.py
diff options
context:
space:
mode:
authortekireeva <tekireeva@yandex-team.ru>2022-02-10 16:51:38 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:51:38 +0300
commit569c3cefb9e9785ef25d8a067c01ea66ffa8deef (patch)
treeab7fbbf3253d4c0e2793218f09378908beb025fb /build/scripts/run_msvc_wine.py
parente9d6dd2e511aaaec9e6182b7ae9327dce82a051d (diff)
downloadydb-569c3cefb9e9785ef25d8a067c01ea66ffa8deef.tar.gz
Restoring authorship annotation for <tekireeva@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'build/scripts/run_msvc_wine.py')
-rw-r--r--build/scripts/run_msvc_wine.py104
1 files changed, 52 insertions, 52 deletions
diff --git a/build/scripts/run_msvc_wine.py b/build/scripts/run_msvc_wine.py
index 5aadae6a45..439d1f8831 100644
--- a/build/scripts/run_msvc_wine.py
+++ b/build/scripts/run_msvc_wine.py
@@ -8,10 +8,10 @@ import json
import argparse
import errno
-import process_command_files as pcf
-import process_whole_archive_option as pwa
+import process_command_files as pcf
+import process_whole_archive_option as pwa
+
-
procs = []
build_kekeke = 45
@@ -359,56 +359,56 @@ def make_full_path_arg(arg, bld_root, short_root):
return os.path.join(short_root, arg)
return arg
-def fix_path(p):
+def fix_path(p):
topdirs = ['/%s/' % d for d in os.listdir('/')]
def abs_path_start(path, pos):
if pos < 0:
return False
return pos == 0 or path[pos - 1] == ':'
- pp = None
- for pr in topdirs:
- pp2 = p.find(pr)
- if abs_path_start(p, pp2) and (pp is None or pp > pp2):
- pp = pp2
- if pp is not None:
- return p[:pp] + 'Z:' + p[pp:].replace('/', '\\')
- if p.startswith('/Fo'):
- return '/Fo' + p[3:].replace('/', '\\')
- return p
-
-def process_free_args(args, wine, bld_root, mode):
- whole_archive_prefix = '/WHOLEARCHIVE:'
- short_names = {}
- winepath = os.path.join(os.path.dirname(wine), 'winepath')
- short_names[bld_root] = trim_path(bld_root, winepath)
- # Slow for no benefit.
- # arc_root = args.arcadia_root
- # short_names[arc_root] = trim_path(arc_root, winepath)
-
- free_args, wa_peers, wa_libs = pwa.get_whole_archive_peers_and_libs(pcf.skip_markers(args))
-
- process_link = lambda x: make_full_path_arg(x, bld_root, short_names[bld_root]) if mode in ('link', 'lib') else x
- def process_arg(arg):
- with_wa_prefix = arg.startswith(whole_archive_prefix)
- prefix = whole_archive_prefix if with_wa_prefix else ''
- without_prefix_arg = arg[len(prefix):]
- return prefix + fix_path(process_link(downsize_path(without_prefix_arg, short_names)))
-
- result = []
- for arg in free_args:
- if pcf.is_cmdfile_arg(arg):
- cmd_file_path = pcf.cmdfile_path(arg)
- cf_args = pcf.read_from_command_file(cmd_file_path)
- with open(cmd_file_path, 'w') as afile:
- for cf_arg in cf_args:
- afile.write(process_arg(cf_arg) + "\n")
- result.append(arg)
- else:
- result.append(process_arg(arg))
- return pwa.ProcessWholeArchiveOption('WINDOWS', wa_peers, wa_libs).construct_cmd(result)
-
-def run_main():
+ pp = None
+ for pr in topdirs:
+ pp2 = p.find(pr)
+ if abs_path_start(p, pp2) and (pp is None or pp > pp2):
+ pp = pp2
+ if pp is not None:
+ return p[:pp] + 'Z:' + p[pp:].replace('/', '\\')
+ if p.startswith('/Fo'):
+ return '/Fo' + p[3:].replace('/', '\\')
+ return p
+
+def process_free_args(args, wine, bld_root, mode):
+ whole_archive_prefix = '/WHOLEARCHIVE:'
+ short_names = {}
+ winepath = os.path.join(os.path.dirname(wine), 'winepath')
+ short_names[bld_root] = trim_path(bld_root, winepath)
+ # Slow for no benefit.
+ # arc_root = args.arcadia_root
+ # short_names[arc_root] = trim_path(arc_root, winepath)
+
+ free_args, wa_peers, wa_libs = pwa.get_whole_archive_peers_and_libs(pcf.skip_markers(args))
+
+ process_link = lambda x: make_full_path_arg(x, bld_root, short_names[bld_root]) if mode in ('link', 'lib') else x
+ def process_arg(arg):
+ with_wa_prefix = arg.startswith(whole_archive_prefix)
+ prefix = whole_archive_prefix if with_wa_prefix else ''
+ without_prefix_arg = arg[len(prefix):]
+ return prefix + fix_path(process_link(downsize_path(without_prefix_arg, short_names)))
+
+ result = []
+ for arg in free_args:
+ if pcf.is_cmdfile_arg(arg):
+ cmd_file_path = pcf.cmdfile_path(arg)
+ cf_args = pcf.read_from_command_file(cmd_file_path)
+ with open(cmd_file_path, 'w') as afile:
+ for cf_arg in cf_args:
+ afile.write(process_arg(cf_arg) + "\n")
+ result.append(arg)
+ else:
+ result.append(process_arg(arg))
+ return pwa.ProcessWholeArchiveOption('WINDOWS', wa_peers, wa_libs).construct_cmd(result)
+
+def run_main():
parser = argparse.ArgumentParser()
parser.add_argument('wine', action='store')
parser.add_argument('-v', action='store', dest='version', default='120')
@@ -418,8 +418,8 @@ def run_main():
parser.add_argument('arcadia_build_root', action='store')
parser.add_argument('binary', action='store')
parser.add_argument('free_args', nargs=argparse.REMAINDER)
- # By now just unpack. Ideally we should fix path and pack arguments back into command file
- args = parser.parse_args()
+ # By now just unpack. Ideally we should fix path and pack arguments back into command file
+ args = parser.parse_args()
wine = args.wine
mode = args.mode
@@ -427,7 +427,7 @@ def run_main():
version = args.version
incl_paths = args.incl_paths
bld_root = args.arcadia_build_root
- free_args = args.free_args
+ free_args = args.free_args
wine_dir = os.path.dirname(os.path.dirname(wine))
bin_dir = os.path.dirname(binary)
@@ -435,7 +435,7 @@ def run_main():
if not incl_paths:
incl_paths = [tc_dir + '/VC/include', tc_dir + '/include']
- cmd_out = find_cmd_out(free_args)
+ cmd_out = find_cmd_out(free_args)
env = os.environ.copy()
@@ -451,7 +451,7 @@ def run_main():
env['LIB'] = fix_path(tc_dir + '/VC/lib/amd64')
env['LD_LIBRARY_PATH'] = ':'.join(wine_dir + d for d in ['/lib', '/lib64', '/lib64/wine'])
- cmd = [binary] + process_free_args(free_args, wine, bld_root, mode)
+ cmd = [binary] + process_free_args(free_args, wine, bld_root, mode)
for x in ('/NOLOGO', '/nologo', '/FD'):
try: