diff options
author | Stefan Schmidt <s.schmidt@samsung.com> | 2018-08-22 14:51:12 +0200 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2018-11-20 11:17:37 +0100 |
commit | 1a17f41584f2821b386029355bbfcd2486964fdb (patch) | |
tree | 4073b4c03169ca255cbf8da5f62c6c4d5fe29807 /.ci | |
parent | b8bcd7c2f307b8e30cadd6a1f8f5d610b360ad19 (diff) | |
download | efl-1a17f41584f2821b386029355bbfcd2486964fdb.tar.gz |
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.
[Brought back after revert. CI image is now fixed to have the needed
pre-built windows components again]
Differential Revision: https://phab.enlightenment.org/D7294
Diffstat (limited to '.ci')
-rwxr-xr-x | .ci/ci-configure.sh | 37 | ||||
-rwxr-xr-x | .ci/ci-make-check.sh | 4 | ||||
-rwxr-xr-x | .ci/ci-make-checkbuild.sh | 3 |
3 files changed, 38 insertions, 6 deletions
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh index 00f9e4b750..e69cddc3c6 100755 --- a/.ci/ci-configure.sh +++ b/.ci/ci-configure.sh @@ -29,6 +29,13 @@ MISC_DISABLED_LINUX_COPTS=" --disable-neon --disable-libeeze --disable-systemd - 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 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 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS" 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' travis_fold autoreconf autoreconf - 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 LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv" + 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" \ + --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" + fi travis_endfold autoreconf travis_fold configure "configure $OPTS" - 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 LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $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" \ + --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" + fi travis_endfold configure else OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C" diff --git a/.ci/ci-make-check.sh b/.ci/ci-make-check.sh index edb1752810..6cbb5433ad 100755 --- a/.ci/ci-make-check.sh +++ b/.ci/ci-make-check.sh @@ -5,6 +5,10 @@ if [ "$1" = "release-ready" ] ; then exit 0 fi +if [ "$1" = "mingw" ] ; then + exit 0 +fi + #T7151 if [ "$1" = "misc" ] || [ "$1" = "misc-disabled" ] ; then exit 0 diff --git a/.ci/ci-make-checkbuild.sh b/.ci/ci-make-checkbuild.sh index fab8a43635..0fb77b1ffc 100755 --- a/.ci/ci-make-checkbuild.sh +++ b/.ci/ci-make-checkbuild.sh @@ -5,6 +5,9 @@ set -e if [ "$1" = "release-ready" ] ; then exit 0 fi +if [ "$1" = "mingw" ] ; then + exit 0 +fi travis_fold check-build "make check-build" if [ "$DISTRO" != "" ] ; then docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build |