Files
mosquitto/fuzzing/scripts/oss-fuzz-dependencies.sh
2025-12-12 13:52:55 +00:00

47 lines
1.4 KiB
Bash
Executable File

#!/bin/bash -eu
#
# Copyright (c) 2023 Cedalo GmbH
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# and Eclipse Distribution License v1.0 which accompany this distribution.
#
# The Eclipse Public License is available at
# https://www.eclipse.org/legal/epl-2.0/
# and the Eclipse Distribution License is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
#
# Contributors:
# Roger Light - initial implementation and documentation.
set -e
# Note that sqlite3 is required as a build dep of a plugin which is not
# currently part of fuzz testing. Once it is part of fuzz testing, sqlite will
# need to be built statically.
apt-get update && apt-get install -y \
cmake \
libargon2-dev \
libedit-dev \
liblzma-dev \
libmicrohttpd-dev \
libsqlite3-dev \
libtool-bin \
libz-dev \
make \
ninja-build \
pkg-config
git clone https://github.com/ralight/cJSON ${SRC}/cJSON
# If building outside of oss-fuzz, we need LPM
if [ ! -d ${SRC}/LPM ]; then
git clone https://github.com/google/libprotobuf-mutator ${SRC}/libprotobuf-mutator
mkdir ${SRC}/LPM \
&& cd ${SRC}/LPM \
&& cmake ../libprotobuf-mutator -GNinja -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON -DLIB_PROTO_MUTATOR_TESTING=OFF -DCMAKE_BUILD_TYPE=Release \
&& ninja
fi