summaryrefslogtreecommitdiff
path: root/src/diff_exports.sh
blob: 9cff0095a2012de9774471d7e27c283b36d53f62 (plain)
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
#!/bin/sh -u

# Copyright (c) 2018 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.

for f in export.gnu export.llvm export.msvc; do
	if [ ! -f "${f}" ]; then
		exit 1
	fi
done

TMPDIR="$(mktemp -d)"
GNU="${TMPDIR}/gnu"
LLVM="${TMPDIR}/llvm"
MSVC="${TMPDIR}/msvc"

awk '/^[^*{}]+;$/' export.gnu | tr -d '\t;' | sort > "${GNU}"
sed 's/^_//' export.llvm | sort > "${LLVM}"
grep -v '^EXPORTS$' export.msvc | sort > "${MSVC}"
diff -u "${GNU}" "${LLVM}" && diff -u "${MSVC}" "${LLVM}"
ERROR=$?
rm "${GNU}" "${LLVM}" "${MSVC}"
rmdir "${TMPDIR}"

exit ${ERROR}