# Copyright 1999-2013 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/desc/ruby_targets.desc,v 1.4 2013/08/12 18:05:17 mrueg Exp $

# This file contains descriptions of RUBY_TARGETS USE_EXPAND flags.

rbx - Build with Rubinius
jruby - Build with JRuby
ree18 - Build with Ruby Enterprise Edition 1.8.x (removed)
ruby18 - Build with MRI Ruby 1.8.x
ruby19 - Build with MRI Ruby 1.9.x
ruby20 - Build with MRI Ruby 2.0.x
