# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/features/64bit-native/use.mask,v 1.8 2013/02/25 22:17:47 mgorny Exp $

# USE flags masked because providing packages require a 32-bit ABI

# 2007/08/29 Christoph Mende <angelos@gentoo.org>
# app-accessibility/mbrola is x86 only
mbrola

# 2007/08/24 Michael Marineau <marineam@gentoo.org>
# Xen HVM support requires building 32-bit binaries.
hvm

# 2008/02/13 - Chris Gianelloni <wolf31o2@gentoo.org>
# Mask multilib, since we cannot use it.
multilib

# 2009/05/11 Doug Goldstein <cardoe@gentoo.org>
# Mask 32bit since this will always require emulation packages
32bit

# Michał Górny <mgorny@gentoo.org> (26 Jan 2013)
# Mask the multilib flags back for non-multilib profile.
abi_x86_32
