From 6c6f0f6164fbf7a1667378496ee36ae48c18a9d6 Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Wed, 4 Mar 2015 11:35:47 +0100 Subject: [PATCH] tools build: Add feature check for lzma library Will be used to decompress 'xz' objects. The check detects the liblzma.so devel library normally delivered by xz package. Signed-off-by: Jiri Olsa Acked-by: Namhyung Kim Cc: Adrian Hunter Cc: Arnaldo Carvalho de Melo Cc: Corey Ashford Cc: David Ahern Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Namhyung Kim Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian --- tools/build/Makefile.feature | 6 ++++-- tools/build/feature/Makefile | 8 ++++++-- tools/build/feature/test-all.c | 5 +++++ tools/build/feature/test-lzma.c | 10 ++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 tools/build/feature/test-lzma.c diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature index c6f44894d4a1..3a0b0ca2a28c 100644 --- a/tools/build/Makefile.feature +++ b/tools/build/Makefile.feature @@ -50,7 +50,8 @@ FEATURE_TESTS = \ stackprotector-all \ timerfd \ libdw-dwarf-unwind \ - zlib + zlib \ + lzma FEATURE_DISPLAY = \ dwarf \ @@ -65,7 +66,8 @@ FEATURE_DISPLAY = \ libslang \ libunwind \ libdw-dwarf-unwind \ - zlib + zlib \ + lzma # Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features. # If in the future we need per-feature checks/flags for features not diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index 0d694a94cda2..463ed8f2a267 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -32,7 +32,8 @@ FILES= \ test-libbabeltrace.bin \ test-compile-32.bin \ test-compile-x32.bin \ - test-zlib.bin + test-zlib.bin \ + test-lzma.bin CC := $(CROSS_COMPILE)gcc -MD PKG_CONFIG := $(CROSS_COMPILE)pkg-config @@ -45,7 +46,7 @@ __BUILD = $(CC) $(CFLAGS) -Wall -Werror -o $(OUTPUT)$@ $(patsubst %.bin,%.c,$@) ############################### test-all.bin: - $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -laudit -I/usr/include/slang -lslang $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz + $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -laudit -I/usr/include/slang -lslang $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz -llzma test-hello.bin: $(BUILD) @@ -152,6 +153,9 @@ test-compile-x32.bin: test-zlib.bin: $(BUILD) -lz +test-lzma.bin: + $(BUILD) -llzma + -include *.d ############################### diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c index a61c20456705..84689a67814a 100644 --- a/tools/build/feature/test-all.c +++ b/tools/build/feature/test-all.c @@ -113,6 +113,10 @@ #undef main #endif +#define main main_test_lzma +# include "test-lzma.c" +#undef main + int main(int argc, char *argv[]) { main_test_libpython(); @@ -138,6 +142,7 @@ int main(int argc, char *argv[]) main_test_sync_compare_and_swap(argc, argv); main_test_zlib(); main_test_pthread_attr_setaffinity_np(); + main_test_lzma(); return 0; } diff --git a/tools/build/feature/test-lzma.c b/tools/build/feature/test-lzma.c new file mode 100644 index 000000000000..95adc8ced3dd --- /dev/null +++ b/tools/build/feature/test-lzma.c @@ -0,0 +1,10 @@ +#include + +int main(void) +{ + lzma_stream strm = LZMA_STREAM_INIT; + int ret; + + ret = lzma_stream_decoder(&strm, UINT64_MAX, LZMA_CONCATENATED); + return ret ? -1 : 0; +} -- 2.30.2