diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/tensorflow-common/convert_lib_params_windows.py | |
Diffstat (limited to 'vcpkg/ports/tensorflow-common/convert_lib_params_windows.py')
| -rw-r--r-- | vcpkg/ports/tensorflow-common/convert_lib_params_windows.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py b/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py new file mode 100644 index 0000000..e150b4e --- /dev/null +++ b/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py @@ -0,0 +1,28 @@ +import os
+import sys
+
+lib_suffix = "" if len(sys.argv) < 2 else sys.argv[1]
+
+file_no = 1
+with open(f"tensorflow{lib_suffix}.dll-2.params", "r") as f_in:
+ lib_name = None
+ acc_size = 0
+ f_out = open(f"tensorflow{lib_suffix}.lib-2.params-part1", "w")
+ for line in f_in:
+ if line.startswith("/OUT:"):
+ lib_name = line
+ line = line.replace(".dll", "-part1.lib")
+ f_out.write(line)
+ elif line.startswith("/WHOLEARCHIVE:"):
+ line = line[len("/WHOLEARCHIVE:"):]
+ size = os.stat(f"../../{line.strip()}").st_size
+ if acc_size + size > 0xFFFFFFFF:
+ # we need to split the library if it is >4GB, because it's not supported even on x64 Windows
+ f_out.close()
+ file_no += 1
+ f_out = open(f"tensorflow{lib_suffix}.lib-2.params-part{file_no}", "w")
+ acc_size = 0
+ f_out.write(lib_name.replace(".dll", f"-part{file_no}.lib"))
+ acc_size += size
+ f_out.write(line)
+ f_out.close()
|