Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 44 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -599,14 +599,52 @@ add_subdirectory(${FLB_PATH_LIB_MINIZ} EXCLUDE_FROM_ALL)

# Zstd (zstd)
if(FLB_PREFER_SYSTEM_LIB_ZSTD)
find_package(PkgConfig)
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
find_package(ZSTD 1.4.8 QUIET)
if(ZSTD_FOUND)
set(LIBZSTD_FOUND TRUE)
# Use the target provided by find_package(ZSTD)
# Modern FindZSTD provides ZSTD::libzstd_static or ZSTD::libzstd_shared
if(TARGET ZSTD::libzstd_static)
set(LIBZSTD_LIBRARIES ZSTD::libzstd_static)
elseif(TARGET ZSTD::libzstd_shared)
set(LIBZSTD_LIBRARIES ZSTD::libzstd_shared)
elseif(TARGET ZSTD::ZSTD)
set(LIBZSTD_LIBRARIES ZSTD::ZSTD)
else()
# Fallback: create a wrapper if no target is provided
add_library(BUNDLED::ZSTD INTERFACE IMPORTED)
if(ZSTD_LIBRARIES)
set_property(TARGET BUNDLED::ZSTD PROPERTY
INTERFACE_LINK_LIBRARIES "${ZSTD_LIBRARIES}")
endif()
if(ZSTD_INCLUDE_DIRS)
set_property(TARGET BUNDLED::ZSTD PROPERTY
INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIRS}")
endif()
set(LIBZSTD_LIBRARIES BUNDLED::ZSTD)
endif()
else()
find_package(PkgConfig)
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
if(LIBZSTD_FOUND)
include_directories(${LIBZSTD_INCLUDE_DIRS})
link_directories(${LIBZSTD_LIBRARY_DIRS})
add_library(BUNDLED::ZSTD INTERFACE IMPORTED)
set_property(TARGET BUNDLED::ZSTD PROPERTY
INTERFACE_LINK_LIBRARIES "${LIBZSTD_LIBRARIES}")
set(LIBZSTD_LIBRARIES BUNDLED::ZSTD)
endif()
endif()
endif()
if(LIBZSTD_FOUND)
include_directories(${LIBZSTD_INCLUDE_DIRS})
link_directories(${LIBZSTD_LIBRARY_DIRS})
else()

if(NOT LIBZSTD_FOUND)
include(cmake/zstd.cmake)

if(NOT MSVC)
target_compile_options(libzstd_static PRIVATE -fvisibility=hidden)
endif()
Comment thread
cosmo0920 marked this conversation as resolved.
Resolved

set(LIBZSTD_LIBRARIES libzstd_static)
endif()
Comment thread
cosmo0920 marked this conversation as resolved.
Resolved

# ring buffer library
Expand Down
24 changes: 22 additions & 2 deletions packaging/distros/almalinux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# almalinux/8.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 almalinux:8 AS almalinux-8.arm64v8-base
Expand All @@ -40,6 +43,8 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand All @@ -57,6 +62,9 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# almalinux/8.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 almalinux:9 AS almalinux-9.arm64v8-base
Expand All @@ -74,6 +82,8 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand All @@ -88,9 +98,14 @@ RUN yum -y update && \
yum install -y --allowerasing rpm-build curl ca-certificates gcc gcc-c++ cmake make bash \
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config \
libzstd-devel && \
yum clean all

# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# almalinux/8.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 almalinux:10 AS almalinux-10.arm64v8-base
Expand All @@ -105,9 +120,13 @@ RUN yum -y update && \
yum install -y --allowerasing rpm-build curl ca-certificates gcc gcc-c++ cmake make bash \
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config \
libzstd-devel && \
yum clean all

# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand Down Expand Up @@ -155,6 +174,7 @@ RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \
-DFLB_JEMALLOC="${FLB_JEMALLOC}" \
-DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \
-DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \
-DFLB_PREFER_SYSTEM_LIB_ZSTD="${FLB_PREFER_SYSTEM_LIB_ZSTD}" \
../

VOLUME [ "/output" ]
Expand Down
23 changes: 21 additions & 2 deletions packaging/distros/centos/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ ARG FLB_UNICODE_ENCODER=Off
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=Off
ENV FLB_KAFKA=$FLB_KAFKA
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# centos/7.arm64v8 base image
FROM arm64v8/centos:7 AS centos-7.arm64v8-base
Expand Down Expand Up @@ -77,6 +79,8 @@ ARG FLB_UNICODE_ENCODER=Off
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=Off
ENV FLB_KAFKA=$FLB_KAFKA
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
Expand Down Expand Up @@ -118,6 +122,8 @@ ARG FLB_UNICODE_ENCODER=On
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=On
ENV FLB_KAFKA=$FLB_KAFKA
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# centos/8.arm64v8 base image
FROM arm64v8/centos:8 AS centos-8.arm64v8-base
Expand Down Expand Up @@ -157,6 +163,8 @@ ARG FLB_UNICODE_ENCODER=On
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=On
ENV FLB_KAFKA=$FLB_KAFKA
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
Expand Down Expand Up @@ -187,6 +195,8 @@ ENV PATH="${CMAKE_HOME}/bin:${PATH}"

ARG FLB_OUT_PGSQL=On
ENV FLB_OUT_PGSQL=$FLB_OUT_PGSQL
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# hadolint ignore=DL3029
FROM --platform=arm64 quay.io/centos/centos:stream9 AS centos-9.arm64v8-base
Expand Down Expand Up @@ -220,6 +230,8 @@ ARG FLB_UNICODE_ENCODER=On
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=On
ENV FLB_KAFKA=$FLB_KAFKA
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
Expand All @@ -238,7 +250,7 @@ RUN dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libcurl-devel pkgconf-pkg-config \
libyaml-devel zlib-devel \
libyaml-devel zlib-devel libzstd-devel \
tar gzip && \
dnf clean all && \
mkdir -p "${CMAKE_HOME}" && \
Expand All @@ -250,6 +262,9 @@ ENV PATH="${CMAKE_HOME}/bin:${PATH}"

ARG FLB_OUT_PGSQL=On
ENV FLB_OUT_PGSQL=$FLB_OUT_PGSQL
# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# hadolint ignore=DL3029
FROM --platform=arm64 quay.io/centos/centos:stream10 AS centos-10.arm64v8-base
Expand All @@ -267,7 +282,7 @@ RUN dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libcurl-devel pkgconf-pkg-config \
libyaml-devel zlib-devel \
libyaml-devel zlib-devel libzstd-devel \
tar gzip && \
dnf clean all && \
mkdir -p "${CMAKE_HOME}" && \
Expand All @@ -283,6 +298,9 @@ ARG FLB_UNICODE_ENCODER=On
ENV FLB_UNICODE_ENCODER=$FLB_UNICODE_ENCODER
ARG FLB_KAFKA=On
ENV FLB_KAFKA=$FLB_KAFKA
# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
Expand Down Expand Up @@ -328,6 +346,7 @@ RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \
-DFLB_JEMALLOC="${FLB_JEMALLOC}" \
-DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \
-DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \
-DFLB_PREFER_SYSTEM_LIB_ZSTD="${FLB_PREFER_SYSTEM_LIB_ZSTD}" \
../

VOLUME [ "/output" ]
Expand Down
24 changes: 22 additions & 2 deletions packaging/distros/rockylinux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# rockylinux/8.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 rockylinux/rockylinux:8 AS rockylinux-8.arm64v8-base
Expand All @@ -40,6 +43,8 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand All @@ -57,6 +62,9 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# rockylinux/9.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 rockylinux/rockylinux:9 AS rockylinux-9.arm64v8-base
Expand All @@ -74,6 +82,8 @@ RUN yum -y update && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
yum clean all

ARG FLB_PREFER_SYSTEM_LIB_ZSTD=Off
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand All @@ -88,9 +98,14 @@ RUN yum -y update && \
yum install -y --allowerasing rpm-build curl ca-certificates gcc gcc-c++ cmake make bash \
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config \
libzstd-devel && \
yum clean all

# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD

# rockylinux/10.arm64v8 base image
# hadolint ignore=DL3029
FROM --platform=arm64 rockylinux/rockylinux:10 AS rockylinux-10.arm64v8-base
Expand All @@ -105,9 +120,13 @@ RUN yum -y update && \
yum install -y --allowerasing rpm-build curl ca-certificates gcc gcc-c++ cmake make bash \
wget unzip systemd-devel wget flex bison \
postgresql-libs postgresql-devel postgresql-server postgresql \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config && \
cyrus-sasl-lib cyrus-sasl-devel openssl openssl-libs openssl-devel libyaml-devel pkgconf-pkg-config \
libzstd-devel && \
yum clean all

# Use system installed libzstd library.
ARG FLB_PREFER_SYSTEM_LIB_ZSTD=On
ENV FLB_PREFER_SYSTEM_LIB_ZSTD=$FLB_PREFER_SYSTEM_LIB_ZSTD
# Need larger page size
ARG FLB_JEMALLOC_OPTIONS="--with-lg-page=16 --with-lg-quantum=3"
ENV FLB_JEMALLOC_OPTIONS=$FLB_JEMALLOC_OPTIONS
Expand Down Expand Up @@ -155,6 +174,7 @@ RUN cmake -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" \
-DFLB_JEMALLOC="${FLB_JEMALLOC}" \
-DFLB_CHUNK_TRACE="${FLB_CHUNK_TRACE}" \
-DFLB_UNICODE_ENCODER="${FLB_UNICODE_ENCODER}" \
-DFLB_PREFER_SYSTEM_LIB_ZSTD="${FLB_PREFER_SYSTEM_LIB_ZSTD}" \
../

VOLUME [ "/output" ]
Expand Down
Loading