# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/x86/make.defaults,v 1.10 2012/11/12 15:36:54 floppym Exp $

# All extra USE/etc should be specified in sub-profiles.
# DO NOT POLLUTE USE ON THIS PROFILE.

ARCH="x86"
ACCEPT_KEYWORDS="x86"

CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
FCFLAGS="${CFLAGS}"

# 2006/08/18 - Donnie Berkholz <dberkholz@gentoo.org>
# Defaults for video drivers
VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware voodoo"

# 2006/12/21 - Andrej Kacian <ticho@gentoo.org>
# Defaults for audio drivers
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
