xref: /netbsd-src/external/bsd/libfido2/dist/fuzz/build-coverage (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1#!/bin/bash -eux
2#
3# Copyright (c) 2019 Yubico AB. All rights reserved.
4# Use of this source code is governed by a BSD-style
5# license that can be found in the LICENSE file.
6
7LIBCBOR=$1
8LIBFIDO2=$2
9
10CC=${CC:-clang}
11PKG_CONFIG_PATH=${PKG_CONFIG_PATH:-${LIBCBOR}/install/lib/pkgconfig}
12export CC PKG_CONFIG_PATH
13
14# Clean up.
15rm -rf ${LIBCBOR}/build ${LIBCBOR}/install ${LIBFIDO2}/build
16
17# Patch, build, and install libcbor.
18(cd ${LIBCBOR} && patch -N -l -s -p0 < ${LIBFIDO2}/fuzz/README) || true
19mkdir ${LIBCBOR}/build ${LIBCBOR}/install
20(cd ${LIBCBOR}/build && cmake -DCMAKE_INSTALL_PREFIX=${LIBCBOR}/install ..)
21make -C ${LIBCBOR}/build all install
22
23# Build libfido2.
24mkdir -p ${LIBFIDO2}/build
25(cd ${LIBFIDO2}/build && cmake -DFUZZ=1 -DLIBFUZZER=1 -DCOVERAGE=1 \
26	-DCMAKE_BUILD_TYPE=Debug ..)
27make -C ${LIBFIDO2}/build
28