BUILD.hiredis 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. COPTS = ["-DUSE_SSL=1"] + select({
  2. "@platforms//os:windows": [
  3. "-D_CRT_DECLARE_NONSTDC_NAMES=0", # don't define off_t, to avoid conflicts
  4. "-D_WIN32",
  5. "-DOPENSSL_IS_BORINGSSL",
  6. "-DWIN32_LEAN_AND_MEAN"
  7. ],
  8. "//conditions:default": [
  9. ],
  10. }) + select({
  11. "@//:msvc-cl": [
  12. ],
  13. "//conditions:default": [
  14. # Old versions of GCC (e.g. 4.9.2) can fail to compile Redis's C without this.
  15. "-std=c99",
  16. ],
  17. })
  18. LOPTS = select({
  19. "@platforms//os:windows": [
  20. "-DefaultLib:" + "Crypt32.lib",
  21. ],
  22. "//conditions:default": [
  23. ],
  24. })
  25. # This library is for internal hiredis use, because hiredis assumes a
  26. # different include prefix for itself than external libraries do.
  27. cc_library(
  28. name = "_hiredis",
  29. hdrs = [
  30. "dict.c",
  31. ],
  32. copts = COPTS,
  33. )
  34. cc_library(
  35. name = "hiredis",
  36. srcs = glob(
  37. [
  38. "*.c",
  39. "*.h",
  40. ],
  41. exclude =
  42. [
  43. "test.c",
  44. ],
  45. ),
  46. hdrs = glob([
  47. "*.h",
  48. "adapters/*.h",
  49. ]),
  50. copts = COPTS,
  51. linkopts = LOPTS,
  52. include_prefix = "hiredis",
  53. deps = [
  54. ":_hiredis",
  55. "@boringssl//:ssl",
  56. "@boringssl//:crypto"
  57. ],
  58. visibility = ["//visibility:public"],
  59. )