blob: 1ade076ab656f763694a034185ba303b5658ed7c [file] [log] [blame]
#!/bin/bash -eux
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Builds fuzzers from within a container into /out/ directory.
# Expects /src/cras to contain a cras checkout.
cd ${SRC}/adhd/cras
./git_prepare.sh
./configure --disable-dbus --disable-webrtc-apm
cargo build --release --manifest-path $SRC/adhd/cras/src/server/rust/Cargo.toml && \
cp $SRC/adhd/cras/src/server/rust/target/release/libcras_rust.a /usr/local/lib
make -j$(nproc)
$CXX $CXXFLAGS $FUZZER_LDFLAGS \
${SRC}/adhd/cras/src/fuzz/rclient_message.cc -o ${OUT}/rclient_message \
-I ${SRC}/adhd/cras/src/server \
-I ${SRC}/adhd/cras/src/common \
${SRC}/adhd/cras/src/.libs/libcrasserver.a \
-lcras_rust -lpthread -lrt -ludev -ldl -lm \
$LIB_FUZZING_ENGINE \
-Wl,-Bstatic -liniparser -lasound -lspeexdsp -Wl,-Bdynamic
zip -j ${OUT}/rclient_message_corpus.zip ${SRC}/adhd/cras/src/fuzz/corpus/*