]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / tensorflow-common / convert_lib_params_windows.py
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/tensorflow-common/convert_lib_params_windows.py
new file mode 100644 (file)
index 0000000..e150b4e
--- /dev/null
@@ -0,0 +1,28 @@
+import os\r
+import sys\r
+\r
+lib_suffix = "" if len(sys.argv) < 2 else sys.argv[1]\r
+\r
+file_no = 1\r
+with open(f"tensorflow{lib_suffix}.dll-2.params", "r") as f_in:\r
+    lib_name = None\r
+    acc_size = 0\r
+    f_out = open(f"tensorflow{lib_suffix}.lib-2.params-part1", "w")\r
+    for line in f_in:\r
+        if line.startswith("/OUT:"):\r
+            lib_name = line\r
+            line = line.replace(".dll", "-part1.lib")\r
+            f_out.write(line)\r
+        elif line.startswith("/WHOLEARCHIVE:"):\r
+            line = line[len("/WHOLEARCHIVE:"):]\r
+            size = os.stat(f"../../{line.strip()}").st_size\r
+            if acc_size + size > 0xFFFFFFFF:\r
+                # we need to split the library if it is >4GB, because it's not supported even on x64 Windows\r
+                f_out.close()\r
+                file_no += 1\r
+                f_out = open(f"tensorflow{lib_suffix}.lib-2.params-part{file_no}", "w")\r
+                acc_size = 0\r
+                f_out.write(lib_name.replace(".dll", f"-part{file_no}.lib"))\r
+            acc_size += size\r
+            f_out.write(line)\r
+    f_out.close()\r