mirror of
https://github.com/eledio-devices/thirdparty-miniz.git
synced 2025-10-30 16:15:41 +01:00
56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
mkdir -p amalgamation
|
|
|
|
OUTPUT_PREFIX=_build/amalgamation
|
|
|
|
cmake -H. -B_build -DAMALGAMATE_SOURCES=ON -G"Unix Makefiles"
|
|
|
|
echo "int main() { return 0; }" > main.c
|
|
echo "Test compile with GCC..."
|
|
gcc -pedantic -Wall -I$OUTPUT_PREFIX main.c $OUTPUT_PREFIX/miniz.c -o test.out
|
|
echo "Test compile with GCC ANSI..."
|
|
gcc -ansi -pedantic -Wall -I$OUTPUT_PREFIX main.c $OUTPUT_PREFIX/miniz.c -o test.out
|
|
if command -v clang
|
|
then
|
|
echo "Test compile with clang..."
|
|
clang -Wall -Wpedantic -fsanitize=unsigned-integer-overflow -I$OUTPUT_PREFIX main.c $OUTPUT_PREFIX/miniz.c -o test.out
|
|
fi
|
|
for def in MINIZ_NO_STDIO MINIZ_NO_TIME MINIZ_NO_DEFLATE_APIS MINIZ_NO_INFLATE_APIS MINIZ_NO_ARCHIVE_APIS MINIZ_NO_ARCHIVE_WRITING_APIS MINIZ_NO_ZLIB_APIS MINIZ_NO_ZLIB_COMPATIBLE_NAMES MINIZ_NO_MALLOC
|
|
do
|
|
echo "Test compile with GCC and define $def..."
|
|
gcc -ansi -pedantic -Wall -I$OUTPUT_PREFIX main.c $OUTPUT_PREFIX/miniz.c -o test.out -D${def}
|
|
done
|
|
rm test.out
|
|
rm main.c
|
|
|
|
cp $OUTPUT_PREFIX/miniz.* amalgamation/
|
|
cp ChangeLog.md amalgamation/
|
|
cp LICENSE amalgamation/
|
|
cp readme.md amalgamation/
|
|
mkdir -p amalgamation/examples
|
|
cp examples/* amalgamation/examples/
|
|
|
|
cd amalgamation
|
|
! test -e miniz.zip || rm miniz.zip
|
|
cat << EOF | zip -@ miniz
|
|
miniz.c
|
|
miniz.h
|
|
ChangeLog.md
|
|
LICENSE
|
|
readme.md
|
|
examples/example1.c
|
|
examples/example2.c
|
|
examples/example3.c
|
|
examples/example4.c
|
|
examples/example5.c
|
|
examples/example6.c
|
|
EOF
|
|
cd ..
|
|
|
|
echo "Amalgamation created."
|
|
|
|
|