forked from enlightenment/efl
ci: mingw build target to cross compile EFL for Windows
We are using the EFL windows package installer (ewpi) from Vincent Torri here (thanks!) to setup all the needed cross compiled dependencies for EFL. The make target is disabled as we are not able to execute the windows binaries withour additional work to run check. Work is ongoing in ewpi to have the dependencies provided for soem of the disabled build options (gstreamer, webp, tiff, physics, etc). Once these are working well in ewpi we will enable them here as well. Differential Revision: https://phab.enlightenment.org/D7294
This commit is contained in:
parent
4e044fd9c2
commit
883058b92b
|
@ -29,6 +29,13 @@ MISC_DISABLED_LINUX_COPTS=" --disable-neon --disable-libeeze --disable-systemd -
|
||||||
|
|
||||||
RELEASE_READY_LINUX_COPTS=" --with-profile=release"
|
RELEASE_READY_LINUX_COPTS=" --with-profile=release"
|
||||||
|
|
||||||
|
MINGW_COPTS=" --prefix=/root/EFL/ewpi_64 --host=x86_64-w64-mingw32 --with-eolian-gen=/usr/bin/eolian_gen \
|
||||||
|
--with-edje-cc=/usr/bin/edje_cc --with-eet-eet=/usr/bin/eet --with-bin-elm-prefs-cc=/usr/bin/elm_prefs_cc \
|
||||||
|
--disable-static --with-tests=regular --with-crypto=openssl --disable-gstreamer1 \
|
||||||
|
--disable-libmount --disable-valgrind --disable-avahi --disable-spectre --disable-libraw \
|
||||||
|
--disable-librsvg --disable-pulseaudio --disable-cxx-bindings \
|
||||||
|
--disable-physics --disable-image-loader-tiff"
|
||||||
|
|
||||||
patch -p1 < .ci/efl.m4.diff
|
patch -p1 < .ci/efl.m4.diff
|
||||||
sed -i.orig 's/AC_INIT\(.*\)efl_version-[a-zA-Z0-9]\+/AC_INIT\1efl_version/g' configure.ac
|
sed -i.orig 's/AC_INIT\(.*\)efl_version-[a-zA-Z0-9]\+/AC_INIT\1efl_version/g' configure.ac
|
||||||
|
|
||||||
|
@ -51,16 +58,34 @@ if [ "$DISTRO" != "" ] ; then
|
||||||
if [ "$1" = "release-ready" ]; then
|
if [ "$1" = "release-ready" ]; then
|
||||||
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
|
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "mingw" ]; then
|
||||||
|
OPTS="$OPTS $MINGW_COPTS"
|
||||||
|
docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
|
||||||
|
fi
|
||||||
docker exec $(cat $HOME/cid) sh -c 'rm -f ~/.ccache/ccache.conf'
|
docker exec $(cat $HOME/cid) sh -c 'rm -f ~/.ccache/ccache.conf'
|
||||||
travis_fold autoreconf autoreconf
|
travis_fold autoreconf autoreconf
|
||||||
|
if [ "$1" = "mingw" ]; then
|
||||||
|
docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
|
||||||
|
--env CPPFLAGS="-I/root/EFL/ewpi_64/include -DECORE_WIN32_WIP_POZEFLKSD" --env LDFLAGS="-L/root/EFL/ewpi_64/lib/" --env PKG_CONFIG_PATH="/root/EFL/ewpi_64/lib/pkgconfig/" \
|
||||||
|
$(cat $HOME/cid) sh -c "autoreconf -iv"
|
||||||
|
else
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv"
|
--env LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv"
|
||||||
|
fi
|
||||||
travis_endfold autoreconf
|
travis_endfold autoreconf
|
||||||
travis_fold configure "configure $OPTS"
|
travis_fold configure "configure $OPTS"
|
||||||
|
if [ "$1" = "mingw" ]; then
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
|
||||||
|
--env CPPFLAGS="-I/root/EFL/ewpi_64/include -DECORE_WIN32_WIP_POZEFLKSD" --env LDFLAGS="-L/root/EFL/ewpi_64/lib/" --env PKG_CONFIG_PATH="/root/EFL/ewpi_64/lib/pkgconfig/" \
|
||||||
|
$(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
||||||
|
else
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
--env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
||||||
|
fi
|
||||||
travis_endfold configure
|
travis_endfold configure
|
||||||
else
|
else
|
||||||
OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
|
OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
|
||||||
|
|
|
@ -5,6 +5,10 @@ if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "mingw" ] ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
#T7151
|
#T7151
|
||||||
if [ "$1" = "misc" ] || [ "$1" = "misc-disabled" ] ; then
|
if [ "$1" = "misc" ] || [ "$1" = "misc-disabled" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -5,6 +5,9 @@ set -e
|
||||||
if [ "$1" = "release-ready" ] ; then
|
if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
if [ "$1" = "mingw" ] ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
travis_fold check-build "make check-build"
|
travis_fold check-build "make check-build"
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build
|
||||||
|
|
|
@ -32,6 +32,10 @@ jobs:
|
||||||
- os: linux
|
- os: linux
|
||||||
- DISTRO=Fedora28
|
- DISTRO=Fedora28
|
||||||
- CI_BUILD_TYPE=misc-disabled
|
- CI_BUILD_TYPE=misc-disabled
|
||||||
|
- env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Fedora28
|
||||||
|
- CI_BUILD_TYPE=mingw
|
||||||
- if: type = cron
|
- if: type = cron
|
||||||
env:
|
env:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
|
Loading…
Reference in New Issue