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