# file      : cxx/hybrid/buildfile
# license   : GNU GPL v2 + exceptions; see accompanying LICENSE file

# Note that the hybrid mapping requires support for base parser/serializer
# reuse.
#
ru = ($reuse_style != 'none')

# Note that none of the hybrid mapping test drivers provides a default
# allocator.
#
da = (!$custom_allocator || $default_allocator)

# Disable facets/ for reuse_style set to 'mixin' since the test crashes due to
# infinite recursion. The XSD/e compiler generates code like that in
# test-simpl.cxx:
#
# void byte_simpl::
# pre (const ::test::byte& x)
# {
#   byte_simpl::pre (x);
# }
#
./: built-in/:      include = ($iostream && $ru && $da)
./: choice/:        include = ($iostream && $parser_validation && $ru && $da)
./: clone/:         include = ($iostream && $parser_validation && $ru && $da)
./: compositor/:    include = ($parser_validation && $ru && $da)
./: default/:       include = ($iostream && $ru && $da)
./: enumeration/:   include = ($iostream && $ru && $da)
./: facets/:        include = ($iostream && $ru && $da && $reuse_style != 'mixin')
./: file-per-type/: include = ($ru && $da)
./: iso8859-1/:     include = ($encoding == 'iso8859-1' && $iostream && $ru && $da)
./: iterator/:      include = ($stl && $stl_iterator && $ru && $da)
./: list/:          include = ($iostream && $ru && $da)
./: pattern/:       include = ($iostream && $ru && $da)
./: recursive/:     include = ($iostream && $parser_validation && $ru && $da)
./: reorder/:       include = ($ru && $da)
./: sequences/:     include = ($ru && $da)
./: size/:          include = ($parser_validation && $ru && $da)
./: union/:         include = ($iostream && $ru && $da)

./: binary/ polymorphism/
