package(default_visibility = ["//visibility:public"]) alias( name = "pico_divider", actual = select({ "//bazel/constraint:pico_divider_auto_enabled": ":pico_divider_auto", "//bazel/constraint:pico_divider_hardware_enabled": ":divider_hardware", "//conditions:default": ":divider_compiler", }), ) alias( name = "pico_divider_auto", actual = select({ "//bazel/constraint:rp2040": ":divider_hardware", "//conditions:default": ":divider_compiler", }), ) cc_library( name = "divider_compiler", srcs = ["divider_compiler.c"], target_compatible_with = ["//bazel/constraint:rp2350"], deps = [ "//src/common/pico_divider_headers", "//src/rp2_common:hardware_regs", "//src/rp2_common:pico_platform", "//src/rp2_common/hardware_divider", ], ) cc_library( name = "divider_hardware", srcs = ["divider_hardware.S"], linkopts = [ "-Wl,--wrap=__aeabi_idiv", "-Wl,--wrap=__aeabi_idivmod", "-Wl,--wrap=__aeabi_ldivmod", "-Wl,--wrap=__aeabi_uidiv", "-Wl,--wrap=__aeabi_uidivmod", "-Wl,--wrap=__aeabi_uldivmod", ], target_compatible_with = ["//bazel/constraint:rp2040"], deps = [ "//src/common/pico_divider_headers", "//src/rp2_common:hardware_regs", "//src/rp2_common:pico_platform", "//src/rp2_common/hardware_divider", ], alwayslink = True, # Ensures the wrapped symbols are linked in. )