################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# runtime/src/iree/builtins/ukernel/BUILD.bazel                                #
#                                                                              #
# Use iree_cmake_extra_content from iree/build_defs.oss.bzl to add arbitrary   #
# CMake-only content.                                                          #
#                                                                              #
# To disable autogeneration for this file entirely, delete this header.        #
################################################################################

iree_add_all_subdirs()

iree_cc_library(
  NAME
    static_assert
  HDRS
    "static_assert.h"
  DEPS

  PUBLIC
)

iree_cc_library(
  NAME
    exported_bits
  HDRS
    "exported_bits.h"
  DEPS
    ::static_assert
  PUBLIC
)

iree_cc_library(
  NAME
    internal_headers
  HDRS
    "common.h"
    "exported_bits.h"
    "mmt4d.h"
    "mmt4d_internal.h"
    "pack.h"
    "pack_internal.h"
    "query_tile_sizes.h"
    "query_tile_sizes_internal.h"
    "static_assert.h"
    "unpack.h"
    "unpack_internal.h"
  DEPS
    iree::base::core_headers
  PUBLIC
)

iree_cc_library(
  NAME
    ukernel_noweak
  HDRS
    "api.h"
  SRCS
    "common.h"
    "exported_bits.h"
    "mmt4d.c"
    "mmt4d.h"
    "mmt4d_internal.h"
    "mmt4d_tile.c"
    "pack.c"
    "pack.h"
    "pack_internal.h"
    "pack_tile.c"
    "query_tile_sizes.c"
    "query_tile_sizes.h"
    "query_tile_sizes_internal.h"
    "static_assert.h"
    "unpack.c"
    "unpack.h"
    "unpack_internal.h"
    "unpack_tile.c"
  DEPS
    ::exported_bits
    ::static_assert
    iree::base::core_headers
    iree::builtins::ukernel::arch::ukernel_arch
  PUBLIC
)

iree_cc_library(
  NAME
    zzz_weak_linklast
  SRCS
    "weak.c"
  DEPS
    ::internal_headers
  PUBLIC
)

iree_cc_library(
  NAME
    ukernel
  HDRS
    "api.h"
  DEPS
    ::ukernel_noweak
    ::zzz_weak_linklast
  PUBLIC
)

if(IREE_BUILD_COMPILER AND IREE_TARGET_BACKEND_LLVM_CPU)

iree_bitcode_library(
  NAME
    ukernel_bitcode_32bit_base
  ARCH
    wasm_32
  SRCS
    "mmt4d.c"
    "mmt4d_tile.c"
    "pack.c"
    "pack_tile.c"
    "query_tile_sizes.c"
    "unpack_tile.c"
    "weak.c"
)

iree_bitcode_library(
  NAME
    ukernel_bitcode_64bit_base
  ARCH
    wasm_64
  SRCS
    "mmt4d.c"
    "mmt4d_tile.c"
    "pack.c"
    "pack_tile.c"
    "query_tile_sizes.c"
    "unpack_tile.c"
    "weak.c"
)

iree_c_embed_data(
  NAME
    embed_ukernel_bitcode
  SRCS
    "runtime/src/iree/builtins/ukernel/arch/arm_64/ukernel_bitcode_arm_64.bc"
    "runtime/src/iree/builtins/ukernel/arch/arm_64/ukernel_bitcode_arm_64_entry_points.bc"
    "runtime/src/iree/builtins/ukernel/arch/x86_64/ukernel_bitcode_x86_64.bc"
    "runtime/src/iree/builtins/ukernel/arch/x86_64/ukernel_bitcode_x86_64_entry_points.bc"
    "ukernel_bitcode_32bit_base.bc"
    "ukernel_bitcode_64bit_base.bc"
  DEPS

  C_FILE_OUTPUT
    "ukernel_bitcode.c"
  H_FILE_OUTPUT
    "ukernel_bitcode.h"
  IDENTIFIER
    "iree_ukernel_bitcode"
  FLATTEN
  PUBLIC
)

endif()  # IREE_BUILD_COMPILER AND IREE_TARGET_BACKEND_LLVM_CPU

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
