193 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/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
 |