From 36e1e99e65755fb5e768c5ce6af236c8e2691b3f Mon Sep 17 00:00:00 2001 From: sudden6 Date: Sun, 2 Oct 2016 00:33:13 +0200 Subject: [PATCH] chore(travis): speedup build Build less ffmpeg modules, compile minimal build without emoji and increase number of paralell compilations. --- .travis/build-ubuntu-14-04.sh | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/.travis/build-ubuntu-14-04.sh b/.travis/build-ubuntu-14-04.sh index b790a5473..eaf5c6b7d 100755 --- a/.travis/build-ubuntu-14-04.sh +++ b/.travis/build-ubuntu-14-04.sh @@ -62,11 +62,20 @@ cd ../ffmpeg wget http://ffmpeg.org/releases/ffmpeg-2.8.5.tar.bz2 tar xf ffmpeg* cd ffmpeg* +# enabled: +# v4l2 -> webcam +# x11grab_xcb -> screen grabbing +# demuxers, decoders and parsers needed for webcams: +# mjpeg, h264 + ./configure --prefix="$PREFIX_DIR" \ --disable-avfilter \ --disable-avresample \ --disable-bzlib \ + --disable-bsfs \ --disable-dct \ + --disable-decoders \ + --disable-demuxers \ --disable-doc \ --disable-dwt \ --disable-encoders \ @@ -74,12 +83,15 @@ cd ffmpeg* --disable-fft \ --disable-filters \ --disable-iconv \ + --disable-indevs \ --disable-lsp \ --disable-lzma \ --disable-lzo \ --disable-mdct \ --disable-muxers \ --disable-network \ + --disable-outdevs \ + --disable-parsers \ --disable-postproc \ --disable-programs \ --disable-protocols \ @@ -94,7 +106,15 @@ cd ffmpeg* --disable-yasm \ --disable-zlib \ --enable-shared \ - --enable-memalign-hack + --enable-memalign-hack \ + --enable-indev=v4l2 \ + --enable-indev=x11grab_xcb \ + --enable-demuxer=h264 \ + --enable-demuxer=mjpeg \ + --enable-parser=h264 \ + --enable-parser=mjpeg \ + --enable-decoder=h264 \ + --enable-decoder=mjpeg make -j$(nproc) make install @@ -127,12 +147,12 @@ export PKG_CONFIG_PATH="$PWD/libs/lib/pkgconfig" # first build qTox without support for optional dependencies echo '*** BUILDING "MINIMAL" VERSION ***' -qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX" ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND=NO ENABLE_SYSTRAY_GTK_BACKEND=NO DISABLE_PLATFORM_EXT=YES -# ↓ with $(nproc) fails, since travis gives 32 threads, and it leads to OOM -make -j10 +qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX" ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND=NO ENABLE_SYSTRAY_GTK_BACKEND=NO DISABLE_PLATFORM_EXT=YES SMILEYS=NO +# ↓ reduce if build fails with OOM +make -j$(nproc) # clean it up, and build normal version make clean echo '*** BUILDING "FULL" VERSION ***' qmake qtox.pro QMAKE_CC="$CC" QMAKE_CXX="$CXX" -# ↓ with $(nproc) fails, since travis gives 32 threads, and it leads to OOM -make -j10 +# ↓ reduce if build fails with OOM +make -j$(nproc)