mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
tools build: Implement libzstd feature check, LIBZSTD_DIR and NO_LIBZSTD defines
Implement libzstd feature check, NO_LIBZSTD and LIBZSTD_DIR defines to override Zstd library sources or disable the feature from the command line: $ make -C tools/perf LIBZSTD_DIR=/path/to/zstd/sources/ clean all $ make -C tools/perf NO_LIBZSTD=1 clean all Auto detection feature status is reported just before compilation starts. If your system has some version of the zstd library preinstalled then the build system finds and uses it during the build. If you still prefer to compile with some other version of zstd library you have capability to refer the compilation to that version using LIBZSTD_DIR define. Signed-off-by: Alexey Budankov <[email protected]> Reviewed-by: Jiri Olsa <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
1 parent
c9bd779695
commit
3b1c5d9659
7 files changed
+49
-1
No files matched your search
@@ -67,6 +67,7 @@ FEATURE_TESTS_BASIC := \
|
||||
sdt \
|
||||
setns \
|
||||
libaio \
|
||||
libzstd \
|
||||
disassembler-four-args
|
||||
|
||||
# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
|
||||
@@ -120,6 +121,7 @@ FEATURE_DISPLAY ?= \
|
||||
get_cpuid \
|
||||
bpf \
|
||||
libaio \
|
||||
libzstd \
|
||||
disassembler-four-args
|
||||
|
||||
# Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features.
|
||||
|
||||
@@ -62,7 +62,8 @@ FILES= \
|
||||
test-clang.bin \
|
||||
test-llvm.bin \
|
||||
test-llvm-version.bin \
|
||||
test-libaio.bin
|
||||
test-libaio.bin \
|
||||
test-libzstd.bin
|
||||
|
||||
FILES := $(addprefix $(OUTPUT),$(FILES))
|
||||
|
||||
@@ -301,6 +302,9 @@ $(OUTPUT)test-clang.bin:
|
||||
$(OUTPUT)test-libaio.bin:
|
||||
$(BUILD) -lrt
|
||||
|
||||
$(OUTPUT)test-libzstd.bin:
|
||||
$(BUILD) -lzstd
|
||||
|
||||
###############################
|
||||
|
||||
clean:
|
||||
|
||||
@@ -182,6 +182,10 @@
|
||||
# include "test-disassembler-four-args.c"
|
||||
#undef main
|
||||
|
||||
#define main main_test_zstd
|
||||
# include "test-libzstd.c"
|
||||
#undef main
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
main_test_libpython();
|
||||
@@ -224,6 +228,7 @@ int main(int argc, char *argv[])
|
||||
main_test_libaio();
|
||||
main_test_reallocarray();
|
||||
main_test_disassembler_four_args();
|
||||
main_test_libzstd();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <zstd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
ZSTD_CStream *cstream;
|
||||
|
||||
cstream = ZSTD_createCStream();
|
||||
ZSTD_freeCStream(cstream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -152,6 +152,13 @@ endif
|
||||
FEATURE_CHECK_CFLAGS-libbabeltrace := $(LIBBABELTRACE_CFLAGS)
|
||||
FEATURE_CHECK_LDFLAGS-libbabeltrace := $(LIBBABELTRACE_LDFLAGS) -lbabeltrace-ctf
|
||||
|
||||
ifdef LIBZSTD_DIR
|
||||
LIBZSTD_CFLAGS := -I$(LIBZSTD_DIR)/lib
|
||||
LIBZSTD_LDFLAGS := -L$(LIBZSTD_DIR)/lib
|
||||
endif
|
||||
FEATURE_CHECK_CFLAGS-libzstd := $(LIBZSTD_CFLAGS)
|
||||
FEATURE_CHECK_LDFLAGS-libzstd := $(LIBZSTD_LDFLAGS)
|
||||
|
||||
FEATURE_CHECK_CFLAGS-bpf = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -I$(srctree)/tools/include/uapi
|
||||
# include ARCH specific config
|
||||
-include $(src-perf)/arch/$(SRCARCH)/Makefile
|
||||
@@ -787,6 +794,19 @@ ifndef NO_LZMA
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef NO_LIBZSTD
|
||||
ifeq ($(feature-libzstd), 1)
|
||||
CFLAGS += -DHAVE_ZSTD_SUPPORT
|
||||
CFLAGS += $(LIBZSTD_CFLAGS)
|
||||
LDFLAGS += $(LIBZSTD_LDFLAGS)
|
||||
EXTLIBS += -lzstd
|
||||
$(call detected,CONFIG_ZSTD)
|
||||
else
|
||||
msg := $(warning No libzstd found, disables trace compression, please install libzstd-dev[el] and/or set LIBZSTD_DIR);
|
||||
NO_LIBZSTD := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef NO_BACKTRACE
|
||||
ifeq ($(feature-backtrace), 1)
|
||||
CFLAGS += -DHAVE_BACKTRACE_SUPPORT
|
||||
|
||||
@@ -108,6 +108,9 @@ include ../scripts/utilities.mak
|
||||
# streaming for record mode. Currently Posix AIO trace streaming is
|
||||
# supported only when linking with glibc.
|
||||
#
|
||||
# Define NO_LIBZSTD if you do not want support of Zstandard based runtime
|
||||
# trace compression in record mode.
|
||||
#
|
||||
|
||||
# As per kernel Makefile, avoid funny character set dependencies
|
||||
unexport LC_ALL
|
||||
|
||||
@@ -78,6 +78,8 @@ static void library_status(void)
|
||||
STATUS(HAVE_LZMA_SUPPORT, lzma);
|
||||
STATUS(HAVE_AUXTRACE_SUPPORT, get_cpuid);
|
||||
STATUS(HAVE_LIBBPF_SUPPORT, bpf);
|
||||
STATUS(HAVE_AIO_SUPPORT, aio);
|
||||
STATUS(HAVE_ZSTD_SUPPORT, zstd);
|
||||
}
|
||||
|
||||
int cmd_version(int argc, const char **argv)
|
||||
|
||||
Reference in new issue
Block a user