# Copyright 1999-2012 Gentoo Foundation
# Distributed under the Boost Software License, Version 1.0. 
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 

# Define two new variants to be used when building boost (or separate boost-libs)
# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols
# values "none" which are not part of the official boost distribution.
# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS!
variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ;
variant gentoodebug   : debug   : <optimization>none <debug-symbols>on   <runtime-link>shared ;

