# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/base/package.use.mask.example,v 1.2 2009/07/31 11:16:52 ssuominen Exp $

# This file requires >=portage-2.1.1
# It's named example so portage doesn't open it and it doesn't do anything yet.
# The syntax is similar to /etc/portage/package.use

###
### Examples!
###
### Masking

# sys-devel/gcc hardened # mask hardened USE flag for sys-devel/gcc


### Unmasking
# sys-devel/gcc -hardened # unmask hardened USE flag for sys-devel/gcc

# DO NOT DO
# -sys-devel/gcc hardened 

# This wrong example is here because someone did it (he blamed his copy
# and pasting program).

