# Copyright 1999-2005 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.4 2009/08/16 22:07:20 remi 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}"

# Michał Górny <mgorny@gentoo.org> (30 Jan 2015)
# Unhide the CPU_FLAGS_X86 USE_EXPANDs.
USE_EXPAND_HIDDEN="-CPU_FLAGS_X86"

# 2006/08/18 - Donnie Berkholz <dberkholz@gentoo.org>
# Defaults for video drivers
VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga 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"

# Michał Górny <mgorny@gentoo.org> (25 Jun 2014)
# Make the native ABI implicit so that MULTILIB_USEDEP can be satisfied
# by non-multilib ebuilds when non-native ABIs are disabled.
IUSE_IMPLICIT="abi_x86_32"

# Michał Górny <mgorny@gentoo.org> (01 Jul 2014)
# Default to abi_x86_32 for packages that don't have it forced.
ABI_X86="32"
