# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/linux/make.defaults,v 1.6 2011/02/13 16:53:40 arfrever Exp $

# 'Sane' defaults
ELIBC="glibc"
KERNEL="linux"

# 2006/10/28 - Luca Barbato <lu_zero@gentoo.org>
# on glibc system you cannot turn it off
USE="iconv"

# build gcc with mudflap (pointer checking) and parallelization support
USE="${USE} mudflap openmp"

# Turn off acl to help with bootstrapping - it isn't as helpful for prefix as it
# can be for a non-prefix install
USE="${USE} -acl"

# 2008/07/09 - Doug Goldstein <cardoe@gentoo.org>
# Adding LDFLAGS="-Wl,-O1 for all Linux profiles by default
# after discussion on the gentoo-dev ML. As we bang out a clear
# direction with how LDFLAGS will be set by default, this entry
# may move.
# 2010/08/12 - Fabian Groffen <grobian@gentoo.org>
# Unlike default/linux, we do NOT have --as-needed here, as it seems to
# break a random amount of packages, that don't break (or just not
# enough) for non-Prefix installs.
LDFLAGS="-Wl,-O1"

