import intf_libs  = libboost-assert%lib{boost_assert}
import intf_libs += libboost-charconv%lib{boost_charconv}
import intf_libs += libboost-hana%lib{boost_hana}
import intf_libs += libboost-type-index%lib{boost_type_index}

intf_libs = $cxx.deduplicate_export_libs($intf_libs)

lib{boost_parser}: {hxx ixx txx}{**} $intf_libs

# Export options.
#
out_pfx = [dir_path] $out_root/include/
src_pfx = [dir_path] $src_root/include/

lib{boost_parser}:
{
  cxx.export.poptions = "-I$out_pfx" "-I$src_pfx"
  cxx.export.libs = $intf_libs
}

# BEGIN MANUAL CUSTOMIZATION
#

# Work around bug in libc++ <19 (see README-DEV).
#
if ($cxx.id == 'clang')
  lib{boost_parser}: cxx.export.poptions += -DBOOST_PARSER_DISABLE_CONCEPTS

#
# END MANUAL CUSTOMIZATION

# Install into the boost/ subdirectory of, say, /usr/include/
# recreating subdirectories.
#
{hxx ixx txx}{*}:
{
  install         = include/boost/
  install.subdirs = true
}
