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