import libtbx.load_env
Import("env_base", "env_etc")

env_etc.iotbx_dist = libtbx.env.dist_path("iotbx")
env_etc.iotbx_include = libtbx.env.under_dist("iotbx", "include")

env_etc.iotbx_common_includes = [
  env_etc.libtbx_include,
  env_etc.iotbx_include,
  env_etc.cctbx_include,
  env_etc.scitbx_include,
  env_etc.boost_include,
  env_etc.ccp4io_include,
]

mtz_env = env_base.Copy(
  CXXFLAGS=env_etc.cxxflags_base,
  SHCXXFLAGS=env_etc.cxxflags_base,
  SHLINKFLAGS=env_etc.shlinkflags,
)
env_etc.include_registry.append(
  env=mtz_env,
  paths=env_etc.iotbx_common_includes)

Export("mtz_env")

if (not env_etc.no_boost_python):
  Import("env_no_includes_boost_python_ext")

  env_iotbx_boost_python_ext = env_no_includes_boost_python_ext.Copy()
  env_iotbx_boost_python_ext.Replace(
    SHCXXFLAGS=env_etc.cxxflags_base)

  env_etc.include_registry.append(
    env=env_iotbx_boost_python_ext,
    paths=env_etc.iotbx_common_includes + [env_etc.python_include])

  Export("env_iotbx_boost_python_ext")

  SConscript("iotbx/SConscript")
  SConscript("detectors/SConscript")
  SConscript("xplor/boost_python/SConscript")
  SConscript("misc/boost_python/SConscript")
  SConscript("include/iotbx/mtz/SConscript")
