diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
commit | be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch) | |
tree | 9754ff1ca740f6346cf8483ec915d4054bc5da2d /fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh | |
parent | Initial commit. (diff) | |
download | netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip |
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh')
-rwxr-xr-x | fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh b/fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh new file mode 100755 index 00000000..23931a77 --- /dev/null +++ b/fluent-bit/lib/librdkafka-2.1.0/dev-conf.sh @@ -0,0 +1,123 @@ +#!/bin/bash +# +# librdkafka - Apache Kafka C library +# +# Copyright (c) 2018 Magnus Edenhill +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +# +# Configure librdkafka for development +# +# Usage: +# ./dev-conf.sh - Build with settings in dev-conf.sh +# ./dev-conf.sh asan|tsan - ... and ASAN or TSAN +# ./dev-conf.sh clean - Non-development clean build +# + +set -e + +build () { + local btype="$1" + local opts="$2" + + echo "$btype configuration options: $opts" + ./configure --clean + ./configure $opts + + make clean + make -j + (cd tests ; make -j build) + + echo "$btype build done" +} + +OPTS="" + +case "$1" in + clean) + build Clean + exit $? + ;; + asan) + FSAN='-fsanitize=address' + ;; + tsan) + FSAN='-fsanitize=thread' + # C11 threads in glibc don't play nice with TSAN, + # so use the builtin tinycthreads instead. + OPTS="$OPTS --disable-c11threads" + ;; + ubsan) + FSAN='-fsanitize=undefined -fsanitize-undefined-trap-on-error -fno-omit-frame-pointer' + ;; + gprof) + # gprof + OPTS="$OPTS --enable-profiling" + ;; + "") + ;; + *) + echo "Usage: $0 [clean|asan|tsan|ubsan|gprof]" + exit 1 + ;; +esac + + +if [[ $1 != clean ]]; then + # enable strict C99, C++98 checks. + export CFLAGS="$CFLAGS -std=c99" + export CXXFLAGS="$CXXFLAGS -std=c++98" +fi + +# enable variable shadow warnings +#export CFLAGS="$CFLAGS -Wshadow=compatible-local -Wshadow=local" +#export CXXFLAGS="$CXXFLAGS -Wshadow=compatible-local -Wshadow=local" + +# enable pedantic +#export CFLAGS='-pedantic' +#export CXXFLAGS='-pedantic' + +if [[ ! -z $FSAN ]]; then + export CPPFLAGS="$CPPFLAGS $FSAN" + export LDFLAGS="$LDFLAGS $FSAN" +fi + +# enable devel asserts +OPTS="$OPTS --enable-devel" + +# disable optimizations +OPTS="$OPTS --disable-optimization" + +# disable lz4 +#OPTS="$OPTS --disable-lz4" + +# disable cyrus-sasl +#OPTS="$OPTS --disable-sasl" + +#enable refcnt debugging +#OPTS="$OPTS --enable-refcnt-debug" + +build Development "$OPTS" + |