--- /dev/null
+#!/bin/sh
+
+# normal tests
+for d in __build{,_asan,_ubsan,_lsan,_clang,_m32} ; do
+ ./${d}.sh \
+ && cd ${d} \
+ && make tests \
+ && cd .. \
+ || { cd .. ; echo "*** ${d} failed ***"; exit 1; }
+done
+
+# skeleton
+./__build.sh \
+ && cd __build \
+ && ./run_tests.sh --skeleton \
+ && cd .. \
+ || { cd .. ; echo "*** skeleton failed ***"; exit 1; }
+
+# mingw
+./__build_mingw.sh \
+ && cd __build_mingw \
+ && make wtests \
+ && cd .. \
+ || { cd .. ; echo "*** mingw failed ***"; exit 1; }
+
#!/bin/sh
-builddir=.build
+builddir=__build
rm -rf $builddir
mkdir $builddir
--- /dev/null
+#!/bin/sh
+
+builddir=__build_asan
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CXXFLAGS="-fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address" && \
+make -j5
+cd ..
--- /dev/null
+#!/bin/sh
+
+builddir=__build_clang
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CXX=clang++ && \
+make -j5
+cd ..
--- /dev/null
+#!/bin/sh
+
+builddir=__build_lsan
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CXXFLAGS="-fsanitize=leak" LDFLAGS="-fsanitize=leak" && \
+make -j5
+cd ..
--- /dev/null
+#!/bin/sh
+
+builddir=__build_m32
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CXXFLAGS="-m32" LDFLAGS="-m32" && \
+make -j5
+cd ..
#!/bin/sh
-builddir=.build_mingw
+builddir=__build_mingw
rm -rf $builddir
mkdir $builddir
--- /dev/null
+#!/bin/sh
+
+builddir=__build_redundant_exports
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CFLAGS="-ffunction-sections -fdata-sections" LDFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections" && \
+make -j5
+cd ..
--- /dev/null
+#!/bin/sh
+
+builddir=__build_ubsan
+rm -rf $builddir
+mkdir $builddir
+
+cd $builddir
+../configure CXXFLAGS="-fsanitize=undefined" LDFLAGS="-fsanitize=undefined" && \
+make -j5
+cd ..
rm -rf $builddir
mkdir $builddir
cd $builddir
+ # 'make' implies 'make docs'; running both in parallel may cause data races
../configure --enable-docs \
- && $make_prog bootstrap docs -j5 \
+ && $make_prog bootstrap -j5 \
&& $make_prog distcheck -j5
cd ..
done
# distcheck
builddir=.build
-cd re2c && ./distcheck.sh $builddir && cd ..
+cd re2c && ./__distcheck.sh $builddir && cd ..
# commit release
git commit -a -m "Release $version."