1package( 2 default_visibility = ["//visibility:public"], 3) 4 5cc_library( 6 name = "libdivsufsort", 7 srcs = [ 8 "lib/divsufsort.c", 9 "lib/sssort.c", 10 "lib/trsort.c", 11 "lib/utils.c", 12 ], 13 hdrs = [ 14 "include/config.h", 15 "include/divsufsort.h", 16 "include/divsufsort_private.h", 17 ], 18 copts = [ 19 "-DHAVE_CONFIG_H=1", 20 ], 21 includes = ["include"], 22) 23 24commom_awk_replaces = ( 25 "gsub(/#cmakedefine/, \"#define\"); " + 26 "gsub(/@DIVSUFSORT_EXPORT@/, \"\"); " + 27 "gsub(/@DIVSUFSORT_IMPORT@/, \"\"); " + 28 "gsub(/@INLINE@/, \"inline\"); " + 29 "gsub(/@INCFILE@/, \"#include <inttypes.h>\"); " + 30 "gsub(/@SAUCHAR_TYPE@/, \"uint8_t\"); " + 31 "gsub(/@SAINT32_TYPE@/, \"int32_t\"); " + 32 "gsub(/@SAINT_PRId@/, \"PRId32\"); " 33) 34 35genrule( 36 name = "config_h", 37 srcs = ["include/config.h.cmake"], 38 outs = ["include/config.h"], 39 cmd = ("awk '{ " + 40 "gsub(/@HAVE_IO_H 1@/, \"HAVE_IO_H 0\"); " + 41 commom_awk_replaces + 42 "print; }' $(<) > $(@)"), 43) 44 45genrule( 46 name = "divsufsort_h", 47 srcs = ["include/divsufsort.h.cmake"], 48 outs = ["include/divsufsort.h"], 49 cmd = ("awk '{ " + 50 "gsub(/@W64BIT@/, \"\"); " + 51 "gsub(/@SAINDEX_TYPE@/, \"int32_t\"); " + 52 "gsub(/@SAINDEX_PRId@/, \"PRId32\"); " + 53 commom_awk_replaces + 54 "print; }' $(<) > $(@)"), 55) 56