summaryrefslogtreecommitdiff
path: root/.ci/ci-configure.sh
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-11-07 17:06:10 +0100
committerStefan Schmidt <s.schmidt@samsung.com>2018-11-23 14:38:26 +0100
commit8d1a1f603b1d3482158e7bfb05470de65ac0d2d3 (patch)
tree51fd36204f09e9f379ed8acd448e4816b5fb681a /.ci/ci-configure.sh
parentdefded25ebe6d16a675ee968f8fc0f785310ccdf (diff)
ci: here comes ninja!
this updates the scripts in order to make ninja all / ninja test work as expected. For now there are 2 new jobs options-enabled and options-disabled. mingw and osx will follow in another commit. Benchmarks are disabled for now, as the eina benchmark does not seem to terminate. Differential Revision: https://phab.enlightenment.org/D7255
Diffstat (limited to '.ci/ci-configure.sh')
-rwxr-xr-x.ci/ci-configure.sh234
1 files changed, 137 insertions, 97 deletions
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index 01e7be8b9e..bd434d33c7 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -4,108 +4,148 @@ set -e
4 4
5. .ci/travis.sh 5. .ci/travis.sh
6 6
7CI_BUILD_TYPE="$1" 7if [ "$BUILDSYSTEM" = "ninja" ] ; then
8 8 if [ "$DISTRO" != "" ] ; then
9DEFAULT_LINUX_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings --disable-dependency-tracking -C" 9 # Normal build test of all targets
10 10 OPTS=" -Decore-imf-loaders-disabler=scim,ibus -Davahi=false -Dmono=false -Dcxx=false"
11WAYLAND_LINUX_COPTS=" --enable-wayland --enable-elput --enable-drm \
12--enable-wayland-ivi-shell --enable-gl-drm --with-opengl=es --enable-egl"
13
14ENABLED_LINUX_COPTS=" --enable-harfbuzz --enable-liblz4 --enable-image-loader-webp --enable-xinput22 \
15--enable-multisense --enable-lua-old --enable-xpresent --enable-hyphen \
16--enable-pixman --enable-pixman-font --enable-pixman-rect --enable-pixman-line \
17--enable-pixman-poly --enable-pixman-image --enable-pixman-image-scale-sample \
18--enable-image-loader-generic --enable-libuv --enable-tile-rotate --enable-vnc-server \
19--enable-fb --enable-v4l2 --enable-cserve \
20--enable-ecore-wayland --enable-ecore-drm --enable-cancel-ok --with-crypto=gnutls \
21--enable-debug --disable-gstreamer1 --enable-gstreamer"
22
23# Not compatible with Open GL ES and thus the wayland options. Need to think about having different
24# jobs for the different supported GL flavours.
25#--enable-sdl
26
27DISABLED_LINUX_COPTS=" --disable-neon --disable-libeeze --disable-systemd --disable-magic-debug \
28--disable-valgrind --disable-gstreamer1 \
29--disable-fontconfig --disable-fribidi --disable-poppler --disable-spectre --disable-libraw \
30--disable-librsvg --disable-xcf --disable-libmount --disable-tslib --disable-audio \
31--disable-pulseaudio --disable-avahi --disable-xinput2 --disable-xim --disable-scim \
32--disable-ibus --disable-physics --disable-quick-launch --disable-elua"
33
34RELEASE_READY_LINUX_COPTS=" --with-profile=release"
35
36MINGW_COPTS=" --prefix=/root/EFL/ewpi_64 --host=x86_64-w64-mingw32 --with-eolian-gen=/usr/bin/eolian_gen \
37--with-edje-cc=/usr/bin/edje_cc --with-eet-eet=/usr/bin/eet --with-bin-elm-prefs-cc=/usr/bin/elm_prefs_cc \
38--disable-static --with-tests=regular --with-crypto=openssl --disable-gstreamer1 \
39--disable-libmount --disable-valgrind --disable-avahi --disable-spectre --disable-libraw \
40--disable-librsvg --disable-pulseaudio --disable-cxx-bindings \
41--disable-physics --disable-image-loader-tiff"
42
43patch -p1 < .ci/efl.m4.diff
44sed -i.orig 's/AC_INIT\(.*\)efl_version-[a-zA-Z0-9]\+/AC_INIT\1efl_version/g' configure.ac
45
46if [ "$DISTRO" != "" ] ; then
47 # Normal build test of all targets
48 OPTS="$DEFAULT_LINUX_COPTS"
49
50 if [ "$1" = "options-enabled" ]; then
51 OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
52 fi
53 11
54 if [ "$1" = "options-disabled" ]; then 12 WAYLAND_LINUX_COPTS=" -Dwl=true -Ddrm=true -Dopengl=es-egl"
55 OPTS="$OPTS $DISABLED_LINUX_COPTS"
56 fi
57 13
58 if [ "$1" = "release-ready" ]; then 14 ENABLED_LINUX_COPTS=" -Dharfbuzz=true -Dhyphen=true"
59 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
60 fi
61 15
62 if [ "$1" = "mingw" ]; then 16 DISABLED_LINUX_COPTS=" -Dsystemd=false"
63 OPTS="$OPTS $MINGW_COPTS" 17
64 docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache' 18 RELEASE_READY_LINUX_COPTS=" --buildtype=release"
65 fi 19
66 docker exec $(cat $HOME/cid) sh -c 'rm -f ~/.ccache/ccache.conf' 20 if [ "$1" = "options-enabled" ]; then
67 travis_fold autoreconf autoreconf 21 OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
68 if [ "$1" = "mingw" ]; then 22 fi
69 docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache' 23
70 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \ 24 if [ "$1" = "options-disabled" ]; then
71 --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/" \ 25 OPTS="$OPTS $DISABLED_LINUX_COPTS"
72 $(cat $HOME/cid) sh -c "autoreconf -iv" 26 fi
73 else 27
28 if [ "$1" = "release-ready" ]; then
29 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
30 fi
74 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \ 31 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
75 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \ 32 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
76 --env LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv" 33 --env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
77 fi
78 travis_endfold autoreconf
79 travis_fold configure "configure $OPTS"
80 if [ "$1" = "mingw" ]; then
81 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
82 --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/" \
83 $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
84 else 34 else
85 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \ 35 # Prepare OSX env for build
86 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \ 36 mkdir -p ~/Library/LaunchAgents
87 --env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS" 37 ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
38 launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
39 export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
40
41 export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
42 export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
43 export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
44 mkdir build && meson build -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Dmono=false -Dcxx=false -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Demotion-loaders-disabler=gstreamer,gstreamer1,libvlc,xine
88 fi 45 fi
89 travis_endfold configure
90else 46else
91 OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C" 47 CI_BUILD_TYPE="$1"
92 48
93 # Prepare OSX env for build 49 DEFAULT_LINUX_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings --disable-dependency-tracking -C"
94 mkdir -p ~/Library/LaunchAgents 50
95 ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents 51 WAYLAND_LINUX_COPTS=" --enable-wayland --enable-elput --enable-drm \
96 launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist 52 --enable-wayland-ivi-shell --enable-gl-drm --with-opengl=es --enable-egl"
97 export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH" 53
98 54 ENABLED_LINUX_COPTS=" --enable-harfbuzz --enable-liblz4 --enable-image-loader-webp --enable-xinput22 \
99 export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS" 55 --enable-multisense --enable-lua-old --enable-xpresent --enable-hyphen \
100 export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS" 56 --enable-pixman --enable-pixman-font --enable-pixman-rect --enable-pixman-line \
101 export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig" 57 --enable-pixman-poly --enable-pixman-image --enable-pixman-image-scale-sample \
102 58 --enable-image-loader-generic --enable-libuv --enable-tile-rotate --enable-vnc-server \
103 # Normal build test of all targets 59 --enable-fb --enable-v4l2 --enable-cserve \
104 rm -f ~/.ccache/ccache.conf 60 --enable-ecore-wayland --enable-ecore-drm --enable-cancel-ok --with-crypto=gnutls \
105 travis_fold autoreconf autoreconf 61 --enable-debug --disable-gstreamer1 --enable-gstreamer"
106 LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv 62
107 travis_endfold autoreconf 63 # Not compatible with Open GL ES and thus the wayland options. Need to think about having different
108 travis_fold configure "configure $OSX_COPTS" 64 # jobs for the different supported GL flavours.
109 .ci/configure.sh $OSX_COPTS 65 #--enable-sdl
110 travis_endfold configure 66
67 DISABLED_LINUX_COPTS=" --disable-neon --disable-libeeze --disable-systemd --disable-magic-debug \
68 --disable-valgrind --disable-gstreamer1 \
69 --disable-fontconfig --disable-fribidi --disable-poppler --disable-spectre --disable-libraw \
70 --disable-librsvg --disable-xcf --disable-libmount --disable-tslib --disable-audio \
71 --disable-pulseaudio --disable-avahi --disable-xinput2 --disable-xim --disable-scim \
72 --disable-ibus --disable-physics --disable-quick-launch --disable-elua"
73
74 RELEASE_READY_LINUX_COPTS=" --with-profile=release"
75
76 MINGW_COPTS=" --prefix=/root/EFL/ewpi_64 --host=x86_64-w64-mingw32 --with-eolian-gen=/usr/bin/eolian_gen \
77 --with-edje-cc=/usr/bin/edje_cc --with-eet-eet=/usr/bin/eet --with-bin-elm-prefs-cc=/usr/bin/elm_prefs_cc \
78 --disable-static --with-tests=regular --with-crypto=openssl --disable-gstreamer1 \
79 --disable-libmount --disable-valgrind --disable-avahi --disable-spectre --disable-libraw \
80 --disable-librsvg --disable-pulseaudio --disable-cxx-bindings \
81 --disable-physics --disable-image-loader-tiff"
82
83 patch -p1 < .ci/efl.m4.diff
84 sed -i.orig 's/AC_INIT\(.*\)efl_version-[a-zA-Z0-9]\+/AC_INIT\1efl_version/g' configure.ac
85
86 if [ "$DISTRO" != "" ] ; then
87 # Normal build test of all targets
88 OPTS="$DEFAULT_LINUX_COPTS"
89
90 if [ "$1" = "options-enabled" ]; then
91 OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
92 fi
93
94 if [ "$1" = "options-disabled" ]; then
95 OPTS="$OPTS $DISABLED_LINUX_COPTS"
96 fi
97
98 if [ "$1" = "release-ready" ]; then
99 OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
100 fi
101
102 if [ "$1" = "mingw" ]; then
103 OPTS="$OPTS $MINGW_COPTS"
104 docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
105 fi
106 docker exec $(cat $HOME/cid) sh -c 'rm -f ~/.ccache/ccache.conf'
107 travis_fold autoreconf autoreconf
108 if [ "$1" = "mingw" ]; then
109 docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
110 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
111 --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/" \
112 $(cat $HOME/cid) sh -c "autoreconf -iv"
113 else
114 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
115 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
116 --env LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv"
117 fi
118 travis_endfold autoreconf
119 travis_fold configure "configure $OPTS"
120 if [ "$1" = "mingw" ]; then
121 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
122 --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/" \
123 $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
124 else
125 docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
126 --env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
127 --env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
128 fi
129 else
130 OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
131
132 # Prepare OSX env for build
133 mkdir -p ~/Library/LaunchAgents
134 ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
135 launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
136 export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
137
138 export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
139 export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
140 export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
141
142 # Normal build test of all targets
143 rm -f ~/.ccache/ccache.conf
144 travis_fold autoreconf autoreconf
145 LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv
146 travis_endfold autoreconf
147 travis_fold configure "configure $OSX_COPTS"
148 .ci/configure.sh $OSX_COPTS
149 fi
150 travis_endfold configure
111fi 151fi