Test non-shared platform and minimal build

master
David Allsopp 2019-07-18 20:27:39 +01:00
parent e33cdc1c0c
commit 32df16fd7f
2 changed files with 40 additions and 10 deletions

View File

@ -33,6 +33,8 @@ matrix:
- libx11-dev:i386
- libc6-dev:i386
- env: CI_KIND=build XARCH=x64
- env: CI_KIND=build XARCH=x64 CONFIG_ARG=--disable-shared
- env: CI_KIND=build XARCH=x64 MIN_BUILD=1
- env: CI_KIND=changes
- env: CI_KIND=manual
- env: CI_KIND=check-typo

View File

@ -90,10 +90,25 @@ request can be merged.
------------------------------------------------------------------------
EOF
configure_flags="\
--prefix=$PREFIX \
--enable-flambda-invariants \
$CONFIG_ARG"
if [ "$MIN_BUILD" = "1" ] ; then
configure_flags="\
--prefix=$PREFIX \
--disable-shared \
--disable-debug-runtime \
--disable-instrumented-runtime \
--disable-systhreads \
--disable-str-lib \
--disable-unix-lib \
--disable-bigarray-lib \
--disable-ocamldoc \
--disable-native-compiler \
$CONFIG_ARG"
else
configure_flags="\
--prefix=$PREFIX \
--enable-flambda-invariants \
$CONFIG_ARG"
fi
case $XARCH in
x64)
./configure $configure_flags
@ -110,17 +125,30 @@ EOF
esac
export PATH=$PREFIX/bin:$PATH
$MAKE world.opt
$MAKE ocamlnat
if [ "$MIN_BUILD" = "1" ] ; then
if $MAKE world.opt ; then
echo "world.opt is not supposed to work!"
exit 1
else
$MAKE world
fi
else
$MAKE world.opt
$MAKE ocamlnat
fi
cd testsuite
echo Running the testsuite with the normal runtime
$MAKE all
echo Running the testsuite with the debug runtime
$MAKE USE_RUNTIME='d' OCAMLTESTDIR="$(pwd)/_ocamltestd" TESTLOG=_logd all
if [ "$MIN_BUILD" != "1" ] ; then
echo Running the testsuite with the debug runtime
$MAKE USE_RUNTIME='d' OCAMLTESTDIR="$(pwd)/_ocamltestd" TESTLOG=_logd all
fi
cd ..
$MAKE install
echo Check the code examples in the manual
$MAKE manual-pregen
if fgrep 'SUPPORTS_SHARED_LIBRARIES=true' Makefile.config &>/dev/null ; then
echo Check the code examples in the manual
$MAKE manual-pregen
fi
# check_all_arches checks tries to compile all backends in place,
# we would need to redo (small parts of) world.opt afterwards to
# use the compiler again