| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | #!/usr/bin/env bashset -e## Dist script for libopenmpt.## This is meant to be run by the libopenmpt maintainers.## WARNING: The script expects the be run from the root of an OpenMPT svn#    checkout. It invests no effort in verifying this precondition.## We want ccacheexport PATH="/usr/lib/ccache:$PATH"# Create bin directorymkdir -p bin# Check that the API headers are standard compliantecho "Checking C header ..."echo '#include <stddef.h>' > bin/empty.cecho '' > bin/headercheck.cecho '#include "libopenmpt/libopenmpt.h"' >> bin/headercheck.cecho 'int main() { return 0; }' >> bin/headercheck.cecho " cc"cc             -pedantic -Wall -Wextra                        -Werror -I. bin/headercheck.c -o bin/headercheck.cc.outecho " cc 89"cc    -std=c89 -pedantic -Wall -Wextra                        -Werror -I. bin/headercheck.c -o bin/headercheck.cc89.outecho " cc 99"cc    -std=c99 -pedantic -Wall -Wextra                        -Werror -I. bin/headercheck.c -o bin/headercheck.cc99.outecho " cc 11"cc    -std=c11 -pedantic -Wall -Wextra                        -Werror -I. bin/headercheck.c -o bin/headercheck.cc11.outif cc -std=c18 -c bin/empty.c -o bin/empty.cc18.out > /dev/null 2>&1 ; thenecho " cc 18"cc    -std=c18 -pedantic -Wall -Wextra                        -Werror -I. bin/headercheck.c -o bin/headercheck.cc18.outfiecho " gcc 89"gcc   -std=c89 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.gcc89.outecho " gcc 99"gcc   -std=c99 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.gcc99.outecho " gcc 11"gcc   -std=c11 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.gcc11.outif gcc -std=c18 -c bin/empty.c -o bin/empty.gcc18.out > /dev/null 2>&1 ; thenecho " gcc 18"gcc   -std=c18 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.gcc18.outfiecho " clang 89"clang -std=c89 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.clang89.outecho " clang 99"clang -std=c99 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.clang99.outecho " clang 11"clang -std=c11 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.clang11.outif clang -std=c18 -c bin/empty.c -o bin/empty.clang18.out > /dev/null 2>&1 ; thenecho " clang 18"clang -std=c18 -pedantic -Wall -Wextra -Wpedantic             -Werror -I. bin/headercheck.c -o bin/headercheck.clang18.outfiif [ `uname -s` != "Darwin" ] ; thenif [ `uname -m` == "x86_64" ] ; thenecho " tcc"tcc                      -Wall -Wunusupported -Wwrite-strings -Werror -I. bin/headercheck.c -o bin/headercheck.tcc.outfifirm bin/headercheck.*.outrm bin/headercheck.cecho "Checking C++ header ..."echo '#include <array>' > bin/empty.cpptouch bin/empty.dummy.outecho '' > bin/headercheck.cppecho '#include "libopenmpt/libopenmpt.hpp"' >> bin/headercheck.cppecho 'int main() { return 0; }' >> bin/headercheck.cpp#echo " c++"#c++                -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp.outecho " c++ 17"c++     -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp17.outif c++ -std=c++20 -c bin/empty.cpp -o bin/empty.cpp20.out > /dev/null 2>&1 ; thenecho " c++ 20"c++     -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.cpp20.outfiecho " g++ 17"g++     -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.gpp17.outif g++ -std=c++20 -c bin/empty.cpp -o bin/empty.gpp20.out > /dev/null 2>&1 ; thenecho " g++ 20"g++     -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.gpp20.outfiecho " clang++ 17"clang++ -std=c++17 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.clangpp17.outif clang++ -std=c++20 -c bin/empty.cpp -o bin/empty.clangpp20.out > /dev/null 2>&1  ; thenecho " clang++ 20"clang++ -std=c++20 -pedantic -Wall -Wextra -Werror -I. bin/headercheck.cpp -o bin/headercheck.clangpp20.outfirm bin/headercheck.*.outrm bin/headercheck.cpprm bin/empty.*.outrm bin/empty.cpprm bin/empty.cecho "Checking version helper ..."c++ -Wall -Wextra -I. -Isrc -Icommon build/auto/helper_get_openmpt_version.cpp -o bin/helper_get_openmpt_versionrm bin/helper_get_openmpt_version# Clean distmake NO_SDL=1 NO_SDL2=1 clean-dist# Check the buildmake NO_SDL=1 NO_SDL2=1 STRICT=1 cleanmake NO_SDL=1 NO_SDL2=1 STRICT=1make NO_SDL=1 NO_SDL2=1 STRICT=1 checkmake NO_SDL=1 NO_SDL2=1 STRICT=1 clean# Build Unix-like tarball, Windows zipfile and docs tarballif `svn info . > /dev/null 2>&1` ; thenmake NO_SDL=1 NO_SDL2=1 SILENT_DOCS=1 distfi# Cleanmake NO_SDL=1 NO_SDL2=1 clean# Build autoconfiscated tarball./build/autotools/autoconfiscate.sh# Test autotools tarball./build/autotools/test_tarball.sh
 |