summaryrefslogtreecommitdiff
path: root/.actions/build-linux-openssl3-clang
blob: 2383e51ad8f5e369391ca595220ba6ba148b2517 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh -eux

# Copyright (c) 2022 Yubico AB. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# SPDX-License-Identifier: BSD-2-Clause

${CC} --version
SCAN=scan-build${CC#clang}
FAKEROOT="$(mktemp -d)"

# Check exports.
(cd src && ./diff_exports.sh)

# Build and install OpenSSL 3.0.12.
git clone --branch openssl-3.0.12 \
	--depth=1 https://github.com/openssl/openssl
cd openssl
./Configure linux-x86_64-clang --prefix="${FAKEROOT}" \
	--openssldir="${FAKEROOT}/openssl" --libdir=lib
make install_sw
cd ..

# Build, analyze, and install libfido2.
for T in Debug Release; do
	mkdir build-$T
	export PKG_CONFIG_PATH="${FAKEROOT}/lib/pkgconfig"
	(cd build-$T && ${SCAN} --use-cc="${CC}" \
		cmake -DCMAKE_BUILD_TYPE=$T ..)
	${SCAN} --use-cc="${CC}" --status-bugs make -C build-$T
	make -C build-$T regress
	sudo make -C build-$T install
done