aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/generate_win_vfs.py
diff options
context:
space:
mode:
authormikhnenko <mikhnenko@yandex-team.com>2024-04-18 19:39:57 +0300
committermikhnenko <mikhnenko@yandex-team.com>2024-04-18 19:53:40 +0300
commitfcaf3fb9b490fbc93e214edaa99b5e5976183f78 (patch)
treea32c3db7829bfc623ce1f71d7bd5bc34d3f584d6 /build/scripts/generate_win_vfs.py
parentbf5f7416dc86f8cce90bc79fe9661984450f0cd6 (diff)
downloadydb-fcaf3fb9b490fbc93e214edaa99b5e5976183f78.tar.gz
Use lld-link for target-platform windows
ab842fb2190e76244be2cf4d1b0e266ef141a5a1
Diffstat (limited to 'build/scripts/generate_win_vfs.py')
-rw-r--r--build/scripts/generate_win_vfs.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/build/scripts/generate_win_vfs.py b/build/scripts/generate_win_vfs.py
new file mode 100644
index 0000000000..b6635aee7d
--- /dev/null
+++ b/build/scripts/generate_win_vfs.py
@@ -0,0 +1,31 @@
+import json
+import os
+import sys
+
+
+def make_vfsoverlay(bin_dir, args):
+ # args - list of paths in format: '/LIBPATH:"path_to_dir"'
+ libpaths = [path[len('/LIBPATH:"'):-1] for path in args]
+ overlay = {
+ "version": 0,
+ "case-sensitive": "false",
+ "roots": []
+ }
+ for dir in libpaths:
+ for file in os.listdir(dir):
+ path_to_file = os.path.join(dir, file)
+ root = {
+ "type": "file",
+ "name": path_to_file,
+ "external-contents": path_to_file
+ }
+ overlay["roots"].append(root)
+
+ with open(os.path.join(bin_dir, "vfsoverlay.yaml"), "w") as f:
+ json.dump(overlay, f)
+
+
+if __name__ == '__main__':
+ bin_dir = sys.argv[1]
+ args = sys.argv[2:]
+ make_vfsoverlay(bin_dir, args)