import intf_libs  = libboost-align%lib{boost_align}
import intf_libs += libboost-assert%lib{boost_assert}
import intf_libs += libboost-config%lib{boost_config}
import intf_libs += libboost-context%lib{boost_context}
import intf_libs += libboost-date-time%lib{boost_date_time}
import intf_libs += libboost-system%lib{boost_system}
import intf_libs += libboost-throw-exception%lib{boost_throw_exception}

if $config.libboost_asio.regex
  import intf_libs += libboost-regex%lib{boost_regex}

intf_libs = $cxx.deduplicate_export_libs($intf_libs)

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

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

# BEGIN MANUAL CUSTOMIZATION
#

lib{boost_asio}: cxx.export.poptions = "-I$out_pfx" "-I$src_pfx"

if! $config.libboost_asio.regex
  lib{boost_asio}: cxx.export.poptions += -DBOOST_ASIO_DISABLE_BOOST_REGEX

lib{boost_asio}: cxx.export.libs = $intf_libs

if ($cxx.target.class == 'windows')
{
  lib{boost_asio}: cxx.export.poptions += -DBOOST_ASIO_NO_DEFAULT_LINKED_LIBS

  if ($cxx.target.system == 'mingw32')
  {
    lib{boost_asio}: cxx.libs += -lws2_32 -lmswsock -lbcrypt
    lib{boost_asio}: cxx.export.libs += -lws2_32 -lmswsock -lbcrypt
  }
  else
  {
    lib{boost_asio}: cxx.libs += ws2_32.lib mswsock.lib bcrypt.lib
    lib{boost_asio}: cxx.export.libs += ws2_32.lib mswsock.lib bcrypt.lib
  }
}
else
{
  lib{boost_asio}: cxx.libs += -pthread
  lib{boost_asio}: cxx.export.libs += -pthread
}

#
# END MANUAL CUSTOMIZATION

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