fluent-bit.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. ################################################################################
  2. #
  3. # fluent-bit
  4. #
  5. ################################################################################
  6. FLUENT_BIT_VERSION = 4.0.3
  7. FLUENT_BIT_SITE = $(call github,fluent,fluent-bit,v$(FLUENT_BIT_VERSION))
  8. FLUENT_BIT_LICENSE = Apache-2.0
  9. FLUENT_BIT_LICENSE_FILES = LICENSE
  10. FLUENT_BIT_CPE_ID_VENDOR = treasuredata
  11. FLUENT_BIT_CPE_ID_PRODUCT = fluent_bit
  12. FLUENT_BIT_DEPENDENCIES = c-ares host-bison host-flex libyaml msgpack-c \
  13. nghttp2 openssl sqlite zstd
  14. FLUENT_BIT_CMAKE_BACKEND = ninja
  15. FLUENT_BIT_CONF_OPTS += \
  16. -DFLB_DEBUG=No \
  17. -DFLB_RELEASE=Yes \
  18. -DFLB_SECURITY=No \
  19. -DFLB_EXAMPLES=No \
  20. -DFLB_CHUNK_TRACE=No \
  21. -DFLB_PREFER_SYSTEM_LIB_CARES=Yes \
  22. -DFLB_PREFER_SYSTEM_LIB_MSGPACK=Yes \
  23. -DFLB_PREFER_SYSTEM_LIB_NGHTTP2=Yes \
  24. -DFLB_PREFER_SYSTEM_LIB_SQLITE=Yes \
  25. -DFLB_PREFER_SYSTEM_LIB_ZSTD=Yes
  26. ifeq ($(BR2_PACKAGE_FLUENT_BIT_WASM),y)
  27. FLUENT_BIT_WAMR_ARCH = $(call qstrip,$(BR2_PACKAGE_FLUENT_BIT_WASM_ARCH))
  28. # https://github.com/bytecodealliance/wasm-micro-runtime/issues/625
  29. # Fix unknown opcode 'ldc1', seen on mips32r2 and mips64r2.
  30. ifeq ($(FLUENT_BIT_WAMR_ARCH),MIPS)
  31. FLUENT_BIT_CONF_OPTS += \
  32. -DWAMR_BUILD_INVOKE_NATIVE_GENERAL=1
  33. endif
  34. FLUENT_BIT_CONF_OPTS += -DFLB_WASM=Yes \
  35. -DWAMR_BUILD_TARGET=$(FLUENT_BIT_WAMR_ARCH)
  36. else
  37. FLUENT_BIT_CONF_OPTS += -DFLB_WASM=No
  38. endif
  39. ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
  40. FLUENT_BIT_CONF_OPTS += -DFLB_BACKTRACE=Yes \
  41. -DFLB_PREFER_SYSTEM_LIB_BACKTRACE=Yes
  42. FLUENT_BIT_DEPENDENCIES += libbacktrace
  43. else
  44. FLUENT_BIT_CONF_OPTS += -DFLB_BACKTRACE=No
  45. endif
  46. ifeq ($(BR2_PACKAGE_JEMALLOC),y)
  47. FLUENT_BIT_CONF_OPTS += -DFLB_JEMALLOC=Yes \
  48. -DFLB_PREFER_SYSTEM_LIB_JEMALLOC=Yes
  49. FLUENT_BIT_DEPENDENCIES += jemalloc
  50. else
  51. FLUENT_BIT_CONF_OPTS += -DFLB_JEMALLOC=No
  52. endif
  53. ifeq ($(BR2_PACKAGE_LUAJIT),y)
  54. FLUENT_BIT_CONF_OPTS += -DFLB_LUAJIT=Yes \
  55. -DFLB_PREFER_SYSTEM_LIB_LUAJIT=Yes
  56. FLUENT_BIT_DEPENDENCIES += luajit
  57. else
  58. FLUENT_BIT_CONF_OPTS += -DFLB_LUAJIT=No
  59. endif
  60. ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
  61. FLUENT_BIT_CONF_OPTS += -DFLB_OUT_PGSQL=Yes
  62. FLUENT_BIT_DEPENDENCIES += postgresql
  63. else
  64. FLUENT_BIT_CONF_OPTS += -DFLB_OUT_PGSQL=No
  65. endif
  66. # Force bundled miniz to be linked statically.
  67. # https://github.com/fluent/fluent-bit/issues/6711
  68. FLUENT_BIT_CONF_OPTS += \
  69. -DBUILD_SHARED_LIBS=OFF
  70. # Move the config files from /usr/etc/ to /etc/.
  71. # https://github.com/fluent/fluent-bit/issues/6619
  72. FLUENT_BIT_CONF_OPTS += \
  73. -DCMAKE_INSTALL_SYSCONFDIR="/etc/"
  74. ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
  75. FLUENT_BIT_DEPENDENCIES += libexecinfo
  76. FLUENT_BIT_LDFLAGS += -lexecinfo
  77. endif
  78. ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
  79. FLUENT_BIT_DEPENDENCIES += musl-fts
  80. FLUENT_BIT_LDFLAGS += -lfts
  81. endif
  82. # Uses __atomic_compare_exchange_8
  83. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  84. FLUENT_BIT_LDFLAGS += -latomic
  85. endif
  86. FLUENT_BIT_CONF_OPTS += \
  87. -DCMAKE_EXE_LINKER_FLAGS="$(FLUENT_BIT_LDFLAGS)"
  88. define FLUENT_BIT_INSTALL_INIT_SYSV
  89. $(INSTALL) -D -m 0755 package/fluent-bit/S99fluent-bit \
  90. $(TARGET_DIR)/etc/init.d/S99fluent-bit
  91. endef
  92. $(eval $(cmake-package))