summaryrefslogtreecommitdiff
path: root/.ci
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2019-05-29 12:20:15 -0400
committerMike Blumenkrantz <zmike@samsung.com>2019-05-29 12:29:04 -0400
commit202c945bd316c4336834b793d70cc4e2ae3c811a (patch)
tree4f2ec86cee273102e2a354582f638906a5ad1548 /.ci
parentc84a5fce0bbaf90328acca277192fb8b98059b6e (diff)
ci/travis: add meson windows cross build
Summary: catchup with the windows cross build autotools build we have and provide the matching meson build. Depends on D9042 Reviewers: bu5hm4n, zmike, vtorri Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9043
Diffstat (limited to '.ci')
-rwxr-xr-x.ci/ci-configure.sh17
-rw-r--r--.ci/cross_toolchain.txt20
2 files changed, 36 insertions, 1 deletions
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index 77236ec655..75e16af1ec 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -17,6 +17,11 @@ if [ "$BUILDSYSTEM" = "ninja" ] ; then
17 17
18 RELEASE_READY_LINUX_COPTS=" --buildtype=release" 18 RELEASE_READY_LINUX_COPTS=" --buildtype=release"
19 19
20 MINGW_COPTS="--cross-file .ci/cross_toolchain.txt -Davahi=false -Deeze=false -Dsystemd=false \
21 -Dpulseaudio=false -Dx11=false -Dopengl=none -Dlibmount=false \
22 -Devas-loaders-disabler=pdf,ps,raw,svg -Devas-modules=static -Dbindings=luajit \
23 -Dbuild-examples=false -Dbuild-tests=false"
24
20 if [ "$1" = "options-enabled" ]; then 25 if [ "$1" = "options-enabled" ]; then
21 OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS" 26 OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
22 fi 27 fi
@@ -32,9 +37,19 @@ if [ "$BUILDSYSTEM" = "ninja" ] ; then
32 if [ "$1" = "release-ready" ]; then 37 if [ "$1" = "release-ready" ]; then
33 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS" 38 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
34 fi 39 fi
35 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \ 40
41 if [ "$1" = "mingw" ]; then
42 OPTS="$OPTS $MINGW_COPTS"
43 docker exec $(cat $HOME/cid) sh -c '.ci/bootstrap-efl-native-for-cross.sh'
44 fi
45 if [ "$1" = "mingw" ]; then
46 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env PKG_CONFIG_PATH="/ewpi-64-install/lib/pkgconfig/" \
47 $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
48 else
49 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
36 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \ 50 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
37 --env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS" 51 --env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
52 fi
38 else 53 else
39 # Prepare OSX env for build 54 # Prepare OSX env for build
40 mkdir -p ~/Library/LaunchAgents 55 mkdir -p ~/Library/LaunchAgents
diff --git a/.ci/cross_toolchain.txt b/.ci/cross_toolchain.txt
new file mode 100644
index 0000000000..b9cd19a8ee
--- /dev/null
+++ b/.ci/cross_toolchain.txt
@@ -0,0 +1,20 @@
1[binaries]
2c = 'x86_64-w64-mingw32-gcc'
3cpp = 'x86_64-w64-mingw32-g++'
4ar = 'x86_64-w64-mingw32-ar'
5ranlib = 'x86_64-w64-mingw32-ranlib'
6strip = 'x86_64-w64-mingw32-strip'
7windres = 'x86_64-w64-mingw32-windres'
8pkgconfig = 'pkg-config'
9
10[host_machine]
11system = 'windows'
12cpu_family = 'x86_64'
13cpu = 'x86_64'
14endian = 'little'
15
16[properties]
17c_args = ['-D_WIN32_WINNT=0x0601', '-I/ewpi-64-install/include', '-O2', '-pipe', '-march=x86-64']
18c_link_args = ['-L/ewpi-64-install/lib', '-s']
19cpp_args = ['-D_WIN32_WINNT=0x0601', '-I/ewpi-64-install/include', '-O2', '-pipe', '-march=x86-64']
20cpp_link_args = ['-L/ewpi-64-install/lib', '-s']