d3f1a9b5bd
sometimes, the scope difference is solely determined by the list of source files, not by the flags.
89 lines
2.8 KiB
Bash
Executable File
89 lines
2.8 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
ECHO=echo
|
|
RM="rm -f"
|
|
GREP="grep"
|
|
INTOVOID="/dev/null"
|
|
|
|
die() {
|
|
$ECHO "$@" 1>&2
|
|
exit 1
|
|
}
|
|
|
|
isPresent() {
|
|
$GREP $@ tmplog || die "$@" "should be present"
|
|
}
|
|
|
|
mustBeAbsent() {
|
|
$GREP $@ tmplog && die "$@ should not be there !!"
|
|
$ECHO "$@ correctly not present" # for some reason, this $ECHO must exist, otherwise mustBeAbsent() always fails (??)
|
|
}
|
|
|
|
# default compilation : all features enabled
|
|
$ECHO "testing default library compilation"
|
|
CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
isPresent "zstd_compress.o"
|
|
isPresent "zstd_decompress.o"
|
|
isPresent "zdict.o"
|
|
isPresent "zstd_v07.o"
|
|
isPresent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|
|
|
|
# compression disabled => also disable zdict and zbuff
|
|
$ECHO "testing with compression disabled"
|
|
ZSTD_LIB_COMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
mustBeAbsent "zstd_compress.o"
|
|
isPresent "zstd_decompress.o"
|
|
mustBeAbsent "zdict.o"
|
|
isPresent "zstd_v07.o"
|
|
mustBeAbsent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|
|
|
|
# decompression disabled => also disable legacy and zbuff
|
|
$ECHO "testing with decompression disabled"
|
|
ZSTD_LIB_DECOMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
isPresent "zstd_compress.o"
|
|
mustBeAbsent "zstd_decompress.o"
|
|
isPresent "zdict.o"
|
|
mustBeAbsent "zstd_v07.o"
|
|
mustBeAbsent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|
|
|
|
# deprecated function disabled => only remove zbuff
|
|
$ECHO "testing with deprecated functions disabled"
|
|
ZSTD_LIB_DEPRECATED=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
isPresent "zstd_compress.o"
|
|
isPresent "zstd_decompress.o"
|
|
isPresent "zdict.o"
|
|
isPresent "zstd_v07.o"
|
|
mustBeAbsent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|
|
|
|
# dictionary builder disabled => only remove zdict
|
|
$ECHO "testing with dictionary builder disabled"
|
|
ZSTD_LIB_DICTBUILDER=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
isPresent "zstd_compress.o"
|
|
isPresent "zstd_decompress.o"
|
|
mustBeAbsent "zdict.o"
|
|
isPresent "zstd_v07.o"
|
|
isPresent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|
|
|
|
# both decompression and dictionary builder disabled => only compression remains
|
|
$ECHO "testing with both decompression and dictionary builder disabled (only compression remains)"
|
|
ZSTD_LIB_DECOMPRESSION=0 ZSTD_LIB_DICTBUILDER=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
|
|
nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
|
|
isPresent "zstd_compress.o"
|
|
mustBeAbsent "zstd_decompress.o"
|
|
mustBeAbsent "zdict.o"
|
|
mustBeAbsent "zstd_v07.o"
|
|
mustBeAbsent "zbuff_compress.o"
|
|
$RM $DIR/../lib/libzstd.a tmplog
|