1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| 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; }' $(<) > $(@)"),
| )
|
|