mirror of
				https://github.com/facebook/zstd.git
				synced 2025-10-30 00:05:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.2 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 - no zbuff
 | |
| $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"
 | |
| mustBeAbsent "zbuff_compress.o"
 | |
| $RM $DIR/../lib/libzstd.a tmplog
 | |
| 
 | |
| # compression disabled => also disable zdict
 | |
| $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
 | |
| $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
 | |
| 
 | |
| # deprecated function enabled => zbuff present
 | |
| $ECHO "testing with deprecated functions enabled"
 | |
| ZSTD_LIB_DEPRECATED=1 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
 | |
| 
 | |
| # 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"
 | |
| mustBeAbsent "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
 |