| package( | 
 |     default_visibility = ["//visibility:public"], | 
 | ) | 
 |  | 
 | cc_library( | 
 |     name = "libdivsufsort", | 
 |     srcs = [ | 
 |         "lib/divsufsort.c", | 
 |         "lib/sssort.c", | 
 |         "lib/trsort.c", | 
 |         "lib/utils.c", | 
 |     ], | 
 |     hdrs = [ | 
 |         "include/config.h", | 
 |         "include/divsufsort.h", | 
 |         "include/divsufsort_private.h", | 
 |     ], | 
 |     copts = [ | 
 |         "-DHAVE_CONFIG_H=1", | 
 |     ], | 
 |     includes = ["include"], | 
 | ) | 
 |  | 
 | commom_awk_replaces = ( | 
 |     "gsub(/#cmakedefine/, \"#define\"); " + | 
 |     "gsub(/@DIVSUFSORT_EXPORT@/, \"\"); " + | 
 |     "gsub(/@DIVSUFSORT_IMPORT@/, \"\"); " + | 
 |     "gsub(/@INLINE@/, \"inline\"); " + | 
 |     "gsub(/@INCFILE@/, \"#include <inttypes.h>\"); " + | 
 |     "gsub(/@SAUCHAR_TYPE@/, \"uint8_t\"); " + | 
 |     "gsub(/@SAINT32_TYPE@/, \"int32_t\"); " + | 
 |     "gsub(/@SAINT_PRId@/, \"PRId32\"); " | 
 | ) | 
 |  | 
 | genrule( | 
 |     name = "config_h", | 
 |     srcs = ["include/config.h.cmake"], | 
 |     outs = ["include/config.h"], | 
 |     cmd = ("awk '{ " + | 
 |            "gsub(/@HAVE_IO_H 1@/, \"HAVE_IO_H 0\"); " + | 
 |            commom_awk_replaces + | 
 |            "print; }' $(<) > $(@)"), | 
 | ) | 
 |  | 
 | genrule( | 
 |     name = "divsufsort_h", | 
 |     srcs = ["include/divsufsort.h.cmake"], | 
 |     outs = ["include/divsufsort.h"], | 
 |     cmd = ("awk '{ " + | 
 |            "gsub(/@W64BIT@/, \"\"); " + | 
 |            "gsub(/@SAINDEX_TYPE@/, \"int32_t\"); " + | 
 |            "gsub(/@SAINDEX_PRId@/, \"PRId32\"); " + | 
 |            commom_awk_replaces + | 
 |            "print; }' $(<) > $(@)"), | 
 | ) |