#!/usr/bin/env bash
# Copyright (C) The libssh2 project and its contributors.
# SPDX-License-Identifier: BSD-3-Clause

set -eu

# This script is called by the oss-fuzz main project when compiling the fuzz
# targets. This script is regression tested by ci/ossfuzz.sh.

# Save off the current folder as the build root.
export BUILD_ROOT="$PWD"

echo "CC: ${CC:-}"
echo "CXX: ${CXX:-}"
echo "LIB_FUZZING_ENGINE: ${LIB_FUZZING_ENGINE:-}"
echo "CFLAGS: ${CFLAGS:-}"
echo "CXXFLAGS: ${CXXFLAGS:-}"
echo "OUT: ${OUT:-}"

MAKEFLAGS+="-j$(nproc)"
export MAKEFLAGS

# Install dependencies
apt-get -y install automake libtool libssl-dev zlib1g-dev

# Compile the fuzzer.
autoreconf -fi
./configure --disable-shared \
            --enable-ossfuzzers \
            --disable-examples-build \
            --enable-debug
make V=1

# Copy the fuzzer to the output directory.
cp -v tests/ossfuzz/ssh2_client_fuzzer "$OUT/"
