# Copyright 2004 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/amd64/use.mask,v 1.8 2009/07/31 21:46:35 ssuominen Exp $

# Unmask the flag which corresponds to ARCH.
-amd64

# SECTION: Unmask

# Lilo works on amd64, so ...
-lilo

# 2007/10/09 - Steve Dibb <beandog@gentoo.org>
# Unmask support for SSSE3 (pni) for media-video/mplayer
-ssse3

# 2007/08/19 - Christoph Mende <angelos@gentoo.org>
# Unmask support for dev-db/oracle-instantclient-basic
-oci8-instant-client

# 2007/03/10 - Mike Frysinger <vapier@gentoo.org>
# NVRAM works on x86/amd64 hosts
-nvram

# 2006/06/07 - Danny van Dyk <kugelfang@gentoo.org>
# Profile cleanup: Unmask emul-linux-x86
-emul-linux-x86

# 2005/09/14 - Diego Pettenò <flameeyes@gentoo.org>
# nVidia XvMC support works on amd64
-nvidia

# 2005/12/01 - Daniel Gryniewicz <dang@gentoo.org>
# There is now a kqemu that works and is stable on amd64
-kqemu

# 2006/03/03 - Luca Barbato <lu_zero@gentoo.org>
# codec support x264
-x264

# Michał Górny <mgorny@gentoo.org> (26 Jan 2013)
# Unmask the multilib flags for this arch.
-abi_x86_32
-abi_x86_64

# 2006/01/28 - Donnie Berkholz <dberkholz@gentoo.org>
# Modular X: unmask for architectures on which they are available
-input_devices_synaptics
-input_devices_virtualbox
-input_devices_vmmouse
-input_devices_wacom
-video_cards_nvidia
-video_cards_fglrx
-video_cards_via
-video_cards_virtualbox
-video_cards_vmware

# Diego Pettenò <flameeyes@gentoo.org> (4 Jan 2007)
# Unmask the flags for PHP that are available only on x86/amd64
-oci8
-oracle7
-db2

# Feb 16th 2007; Simon Stelling <blubb@gentoo.org>
# Since this profile forces >=portage-2.1.2, we can unmask all
# SIMD assembler flags
-mmx
-mmxext
-sse
-sse2
-3dnow
-3dnowext

# George Shapovalov <george@gentoo.org> (8 Apr 2007)
# supported on amd64
-ada

# Robert Buchholz <rbu@gentoo.org> (03 Jun 2007)
# Unmask as it works on amd64
-lcd_devices_luise

# SECTION: Unavailable/Broken

# 2007/04/07 - Petteri Räty <betelgeuse@gentoo.org>
# libemf does not build on amd64
emf

# 2007/01/18 - Jeffrey Gardner <je_fro@gentoo.org>
# Mask gamess support temporarily.
gamess

# 2006/12/21 - Diego Pettenò <flameeyes@gentoo.org>
# Mask some ALSA cards that are known broken in AMD64
alsa_cards_cs5535audio

# 2006/09/05 - Tupone Alfredo <tupone@gentoo.org>
# doomsday ebuild is not available on this architecture
doomsday

# 2006/06/07 - Danny van Dyk <kugelfang@gentoo.org>
# Profile cleanup: No info about these
drac
vidix

# 2006/06/07 - Danny van Dyk <kugelfang@gentoo.org>
# Masked due to bug #127328; prohibits DEPENDs on 
# this flag makes media-gfx/inkscape dep on media-gfx/pstoedit
# which deps on libemf
plugin

# 2006/02/05 - Donnie Berkholz <dberkholz@gentoo.org>
# Modular X: mask for architectures on which they aren't available
video_cards_i740
video_cards_imstt
video_cards_newport
video_cards_nsc

# 2005/09/19 - Olivier Fisette <ribosome@gentoo.org>
# cmucl is not available on amd64. Masking to keep "sci-mathematics/maxima"
# happy.
cmucl

# 2004/10/06 - Jeremy Huddleston <eradicator@gentoo.org>
# sys-cluster/pvm won't build
pvm

# 2004/06/22 - Taken from 2004.0 profile
# masked
3dfx

# 2007/02/02 - Simon Stelling <blubb@gentoo.org>
# we don't have no gcc64; bug 144535
gcc64

# 2007/02/04 - Simon Stelling <blubb@gentoo.org>
# games-emulation/caps is 32bit only, while app-emulation/e-uae is 64bit; bug 158416
capslib

# RealMagic Hollywood+/Creative DXR3 support
-dxr3

# NOT NECESSARY - SECTION
