summaryrefslogtreecommitdiff
path: root/.ci
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2018-08-22 14:51:12 +0200
committerStefan Schmidt <s.schmidt@samsung.com>2018-11-19 09:29:43 +0100
commit883058b92bf81784bf51f4cf97066e57367cc81c (patch)
treee9027b71cc6fe2273b5e278d703739544742a4e9 /.ci
parent4e044fd9c27db61d792319ce566e1d3eacb553f2 (diff)
downloadefl-883058b92bf81784bf51f4cf97066e57367cc81c.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. Differential Revision: https://phab.enlightenment.org/D7294
Diffstat (limited to '.ci')
-rwxr-xr-x.ci/ci-configure.sh37
-rwxr-xr-x.ci/ci-make-check.sh4
-rwxr-xr-x.ci/ci-make-checkbuild.sh3
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