#!/bin/sh # Where to find the sources (only used to copy zstd.h) ZSTD_SRC_ROOT="../../lib" # Temporary compiled binary OUT_FILE="tempbin" # Optional temporary compiled WebAssembly OUT_WASM="temp.wasm" # Amalgamate the sources ./create_single_file_library.sh # Did combining work? if [ $? -ne 0 ]; then echo "Single file library creation script: FAILED" exit 1 fi echo "Single file library creation script: PASSED" # Copy the header to here (for the tests) cp "$ZSTD_SRC_ROOT/zstd.h" zstd.h # Compile the generated output cc -Wall -Wextra -Werror -pthread -I. -Os -g0 -o $OUT_FILE zstd.c examples/roundtrip.c # Did compilation work? if [ $? -ne 0 ]; then echo "Compiling roundtrip.c: FAILED" exit 1 fi echo "Compiling roundtrip.c: PASSED" # Run then delete the compiled output ./$OUT_FILE retVal=$? rm -f $OUT_FILE # Did the test work? if [ $retVal -ne 0 ]; then echo "Running roundtrip.c: FAILED" exit 1 fi echo "Running roundtrip.c: PASSED" # Is Emscripten available? which emcc > /dev/null if [ $? -ne 0 ]; then echo "(Skipping Emscripten test)" else # Compile the the same example as above CC_FLAGS="-Wall -Wextra -Werror -Os -g0 -flto" emcc $CC_FLAGS -s WASM=1 -I. -o $OUT_WASM zstd.c examples/roundtrip.c # Did compilation work? if [ $? -ne 0 ]; then echo "Compiling emscripten.c: FAILED" exit 1 fi echo "Compiling emscripten.c: PASSED" rm -f $OUT_WASM fi exit 0