load("@rules_cc//cc:defs.bzl", "cc_library", "cc_shared_library") filegroup( name = "libaio.map", srcs = ["src/libaio.map"], ) cc_library( name = "aio", srcs = [ "src/compat-0_1.c", "src/io_cancel.c", "src/io_destroy.c", "src/io_getevents.c", "src/io_pgetevents.c", "src/io_queue_init.c", "src/io_queue_release.c", "src/io_queue_run.c", "src/io_queue_wait.c", "src/io_setup.c", "src/io_submit.c", "src/raw_syscall.c", ], hdrs = [ "src/libaio.h", ], includes = ["src"], linkstatic = True, textual_hdrs = [ "src/aio_ring.h", "src/syscall.h", "src/vsys_def.h", "src/syscall-alpha.h", "src/syscall-arm.h", "src/syscall-generic.h", "src/syscall-i386.h", "src/syscall-ia64.h", "src/syscall-ppc.h", "src/syscall-s390.h", "src/syscall-sparc.h", "src/syscall-x86_64.h", ], visibility = ["//visibility:public"], ) cc_shared_library( name = "aio_shared", additional_linker_inputs = [ ":libaio.map", ], shared_lib_name = "libaio.so", user_link_flags = [ "-Wl,--version-script=$(location :libaio.map)", ], visibility = ["//visibility:public"], deps = [ ":aio", ], )