# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/interix/use.mask,v 1.11 2011/11/01 00:56:22 ssuominen Exp $

# Re-add Interix libc
-elibc_Interix
-kernel_Interix

# these will more than likely never work on Interix
3dfx
acpi
alsa
altivec
apm
bluetooth
cap
caps
cdr
coreaudio
dga
directfb
divx4linux
djbfft
dri
dvdr
# missing implementation for unexec()
emacs
xemacs
emul-linux-x86
fbcon
fdftk
fmod
ggi
glut
gpm
gps
hardened
hddtemp
ibm
icc
icc-pgo
ieee1394
ifc
ipod
ipv6
java
lm_sensors
matrox
netboot
old-linux
# requires device-mapper
on-the-fly-crypt
opengl
oss
pam
pcmcia
pda
rtc
selinux
scanner
smartcard
svga
uclibc
#  totally b0rked on interix
unicode
usb
voodoo3
pvm
v4l
wifi

# these are USE flags that don't _currently_ work, but may will in the future.
ffmpeg
fftw
flac
jack
joystick
kerberos
ladspa
libedit
# bug #310007
multitarget
# not working yet on interix
openmp
portaudio
pulseaudio
qt4
# libtiff only static, so avoid this!
tiff
timidity
