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