#!/bin/bash -eu # Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ################################################################################ tar -xJf $SRC/zlib-1.2.11.tar.xz pushd zlib-1.2.11 ./configure --static make -j$(nproc) export ZLIB_CFLAGS="-I$(pwd)" export ZLIB_LIBS="-L$(pwd) -lz" popd tar -xzf $SRC/lcms2-2.8.tar.gz pushd lcms2-2.8 ./configure --disable-shared --enable-static --without-jpeg --without-tiff make -C src -j$(nproc) export LCMS2_CFLAGS="-I$(pwd)/include" export LCMS2_LIBS="-L$(pwd)/src -llcms2" popd tar -xJf $SRC/libpng-1.6.34.tar.xz pushd libpng-1.6.34 ./configure --disable-shared --enable-static CPPFLAGS="$ZLIB_CFLAGS" LDFLAGS="$ZLIB_LIBS" make -j$(nproc) export LIBPNG_CFLAGS="-I$(pwd)" export LIBPNG_LIBS="-L$(pwd) -lpng16" popd tar -xzf $SRC/libxml2-2.9.7.tar.gz pushd libxml2-2.9.7 ./configure --disable-shared --enable-static --disable-ipv6 --without-python --without-zlib --without-lzma make -j$(nproc) export LIBXML_CFLAGS="-I$(pwd)/include" export LIBXML_LIBS="-L$(pwd) -lxml2" export XML_CFLAGS="$LIBXML_CFLAGS" export XML_LIBS="$LIBXML_LIBS" popd tar -xzf $SRC/icu4c-60_2-src.tgz pushd icu/source patch -p2 < $SRC/icu4c-ubsan.patch patch -p3 < $SRC/ofz3670.patch patch -p3 < $SRC/ofz4860.patch ./configure --disable-shared --enable-static --with-data-packaging=static --disable-dyload --disable-strict \ --disable-layout --disable-samples --disable-extras --disable-icuio --disable-plugins \ CPPFLAGS=-DU_USE_STRTOD_L=0 make -j$(nproc) export ICU_CFLAGS="-I$(pwd) -I$(pwd)/i18n -I$(pwd)/common" export ICU_LIBS="-L$(pwd)/lib -licui18n -licuuc -licudata" popd tar -xjf $SRC/boost_1_66_0.tar.bz2 pushd boost_1_66_0 patch -p2 < $SRC/ofz2894.patch patch -p2 < $SRC/ofz4303.patch export CPPFLAGS="-I$(pwd)" popd tar -xjf $SRC/mdds-1.3.1.tar.bz2 pushd mdds-1.3.1 ./configure export MDDS_CFLAGS="-I$(pwd)/include" export MDDS_LIBS=' ' popd pushd librevenge ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tests --enable-fuzzers make -j$(nproc) rvnginc=$(pwd)/inc rvnglib=$(pwd)/src/lib export REVENGE_CFLAGS="-I$(pwd)/inc" export REVENGE_LIBS="-L$(pwd)/src/lib -lrevenge-0.0" export REVENGE_STREAM_CFLAGS="-I$(pwd)/inc" export REVENGE_STREAM_LIBS="-L$(pwd)/src/lib -lrevenge-stream-0.0" export REVENGE_GENERATORS_CFLAGS="-I$(pwd)/inc" export REVENGE_GENERATORS_LIBS="-L$(pwd)/src/lib -lrevenge-generators-0.0" popd pushd libmspub ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libcdr ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers --disable-tests make -j$(nproc) popd pushd libvisio ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers --disable-tests make -j$(nproc) popd pushd libzmf ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers --disable-tests make -j$(nproc) popd pushd libpagemaker ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libfreehand ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers --disable-tests make -j$(nproc) popd pushd libwpd ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) export WPD_CFLAGS=-I$(pwd)/inc export WPD_LIBS="-L$(pwd)/src/lib -lwpd-0.10" popd pushd libwpg ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libstaroffice ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libwps ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libmwaw ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --disable-zip --enable-fuzzers make -C src/lib -j$(nproc) # Link with less parallelism to avoid memory problems on the builders make -j2 popd pushd libe-book ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static \ --without-tools --enable-fuzzers --without-liblangtag --disable-tests make -j$(nproc) popd pushd libabw ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers make -j$(nproc) popd pushd libetonyek ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static \ --without-tools --enable-fuzzers --with-mdds=0.x --without-liblangtag --disable-tests make -j$(nproc) popd pushd libqxp ./autogen.sh ./configure --without-docs --disable-werror --disable-shared --enable-static --disable-tools --enable-fuzzers --disable-tests make -j$(nproc) popd cp */src/fuzz/*fuzzer $OUT cp */src/fuzz/*.dict $OUT cp *_seed_corpus.zip $OUT cp *.options $OUT