From 3eef3db2ab079ec085297831c0afe1298e27883f Mon Sep 17 00:00:00 2001 From: Andrew Mao <72371419+Andrewyx@users.noreply.github.com> Date: Fri, 19 Sep 2025 22:13:29 -0700 Subject: [PATCH] supports windows pyd targets for wheel packaging --- build_defs.bzl | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/build_defs.bzl b/build_defs.bzl index 5c88f1c..dc7d74f 100644 --- a/build_defs.bzl +++ b/build_defs.bzl @@ -76,18 +76,23 @@ def pybind_extension( **kwargs ) - copy_file( - name = name + "_copy_so_to_pyd", - src = name + ".so", - out = name + ".pyd", - testonly = kwargs.get("testonly"), - visibility = kwargs.get("visibility"), + native.genrule( + name = name + "_generated.pyd", + srcs = [name + ".so"], + outs = [name + ".pyd"], + cmd = """ + cp $< $@ + """, + target_compatible_with = select({ + "@platforms//os:windows": [], + "//conditions:default": ["@platforms//:incompatible"], + }), ) native.alias( name = name, actual = select({ - "@platforms//os:windows": name + ".pyd", + "@platforms//os:windows": name + "_generated.pyd", "//conditions:default": name + ".so", }), testonly = kwargs.get("testonly"),