The Makefile.am files contain % pattern rules that are not supported by
`make` (bmake) on FreeBSD. Since the replacing the patterns is non-trivial,
this commit updates the CI script to use GNU make when building on FreeBSD.
# ones starting with ci_ to ci-build.sh manually. This works because
# $(env | grep "ci_.*=") is evaluated on the current host not in the VM.
# We also have to forward builddir since this is required by ci-build.sh.
- - /app/vmctl exec "cd $CI_PROJECT_NAME && env builddir=$builddir $(echo $(env | grep "ci_.*=")) bash -x ./tools/ci-build.sh $CI_BUILD_ARGS"
+ - /app/vmctl exec "cd $CI_PROJECT_NAME && env make=gmake builddir=$builddir $(echo $(env | grep "ci_.*=")) bash -x ./tools/ci-build.sh $CI_BUILD_ARGS"
# Copy build artifacts from the VM for archiving/JUnit XML display
- mkdir -p "$builddir"
- scp -v "vm:$CI_PROJECT_NAME/$builddir/config.h" . || true
;;
esac
-make="make -j${ci_parallel} V=1 VERBOSE=1"
+# Allow overriding make (e.g. on FreeBSD it has to be set to gmake)
+: "${make:=make}"
+export MAKE=${make}
+make="${make} -j${ci_parallel} V=1 VERBOSE=1"
case "$ci_buildsys" in
(autotools)
expat
glib
git
+ gmake
libtool
libX11
libxslt