xref: /netbsd-src/external/bsd/libfido2/dist/src/diff_exports.sh (revision 2d40c4512a84c0d064ec30a492c5e2a14d230bc3)
11fc1e710Schristos#!/bin/sh -u
2ba9bdd8bSchristos
3ba9bdd8bSchristos# Copyright (c) 2018 Yubico AB. All rights reserved.
4ba9bdd8bSchristos# Use of this source code is governed by a BSD-style
5ba9bdd8bSchristos# license that can be found in the LICENSE file.
6*2d40c451Schristos# SPDX-License-Identifier: BSD-2-Clause
7ba9bdd8bSchristos
81fc1e710Schristosfor f in export.gnu export.llvm export.msvc; do
91fc1e710Schristos	if [ ! -f "${f}" ]; then
101fc1e710Schristos		exit 1
111fc1e710Schristos	fi
121fc1e710Schristosdone
13ba9bdd8bSchristos
141fc1e710SchristosTMPDIR="$(mktemp -d)"
151fc1e710SchristosGNU="${TMPDIR}/gnu"
161fc1e710SchristosLLVM="${TMPDIR}/llvm"
171fc1e710SchristosMSVC="${TMPDIR}/msvc"
18ba9bdd8bSchristos
191fc1e710Schristosawk '/^[^*{}]+;$/' export.gnu | tr -d '\t;' | sort > "${GNU}"
201fc1e710Schristossed 's/^_//' export.llvm | sort > "${LLVM}"
211fc1e710Schristosgrep -v '^EXPORTS$' export.msvc | sort > "${MSVC}"
221fc1e710Schristosdiff -u "${GNU}" "${LLVM}" && diff -u "${MSVC}" "${LLVM}"
23ba9bdd8bSchristosERROR=$?
241fc1e710Schristosrm "${GNU}" "${LLVM}" "${MSVC}"
251fc1e710Schristosrmdir "${TMPDIR}"
26ba9bdd8bSchristos
27ba9bdd8bSchristosexit ${ERROR}
28