# Bidirectional mapping between a Debian triplet and a Debian arch.
#
# Supported variables: <cpu>
#
# <Debian triplet>	<Debian arch>
uclibceabi-linux-arm	uclibc-linux-armel
uclibc-linux-<cpu>	uclibc-linux-<cpu>
musleabihf-linux-arm	musl-linux-armhf
musl-linux-<cpu>	musl-linux-<cpu>
gnueabihf-linux-arm	armhf
gnueabi-linux-arm	armel
gnuabin32-linux-mips64el	mipsn32el
gnuabin32-linux-mips64	mipsn32
gnuabi64-linux-mips64el	mips64el
gnuabi64-linux-mips64	mips64
gnuspe-linux-powerpc	powerpcspe
gnux32-linux-amd64	x32
gnulp-linux-i386	lpia
gnu-linux-<cpu>		<cpu>
gnu-kfreebsd-<cpu>	kfreebsd-<cpu>
gnu-knetbsd-<cpu>	knetbsd-<cpu>
gnu-kopensolaris-<cpu>	kopensolaris-<cpu>
gnu-hurd-<cpu>		hurd-<cpu>
bsd-freebsd-<cpu>	freebsd-<cpu>
bsd-openbsd-<cpu>	openbsd-<cpu>
bsd-netbsd-<cpu>	netbsd-<cpu>
bsd-darwin-<cpu>	darwin-<cpu>
sysv-solaris-<cpu>	solaris-<cpu>
uclibceabi-uclinux-arm	uclinux-armel
uclibc-uclinux-<cpu>	uclinux-<cpu>
tos-mint-m68k		mint-m68k
