# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/amd64/make.defaults,v 1.18 2013/10/03 16:27:37 axs Exp $

ARCH="amd64"
ACCEPT_KEYWORDS="${ARCH}"

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

# 2006/06/07 - Danny van Dyk <kugelfang@gentoo.org>
# Multilib settings for all amd64 subprofiles.
MULTILIB_ABIS="amd64 x86"
DEFAULT_ABI="amd64"
# Do not remove this one, or all kinds of hell breaks loose.
ABI="amd64"

# 64bit specific settings.
CFLAGS_amd64="-m64"
LDFLAGS_amd64="-m elf_x86_64"
CHOST_amd64="x86_64-pc-linux-gnu"

# 32bit specific settings.
CFLAGS_x86="-m32"
LDFLAGS_x86="-m elf_i386"
CHOST_x86="i686-pc-linux-gnu"

# 64-32bit specific settings.
CFLAGS_x32="-mx32"
LDFLAGS_x32="-m elf32_x86_64"
CHOST_x32="x86_64-pc-linux-gnux32"

# 2006/10/24 - Simon Stelling <blubb@gentoo.org>
# They are masked, but we can enable them anyway for those who have 
# >=portage-2.1.2_pre3-r4
USE="mmx sse sse2"

# Michał Górny <mgorny@gentoo.org> (03 Sep 2013)
# Enable abi_x86_64 for packages that don't have it forced.
ABI_X86="64"

# 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/22 - Danny van Dyk <kugelfang@gentoo.org>
# Default for ALSA_CARDS USE_EXPAND variable.
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"

# Michał Górny <mgorny@gentoo.org> (26 Jan 2013)
# Unhide the ABI_X86 USE_EXPAND.
USE_EXPAND_HIDDEN="-ABI_X86"
