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

env_etc.smtbx_dist = libtbx.env.dist_path("smtbx")
env_etc.smtbx_common_includes = [
  env_etc.libtbx_include,
  env_etc.cctbx_include,
  env_etc.scitbx_include,
  env_etc.chiltbx_include,
  env_etc.boost_include,
]

env = env_base.Clone(
  SHLINKFLAGS=env_etc.shlinkflags)

envlm = env.Clone(
  LIBS=env_etc.libm
)
if (env_etc.static_libraries): builder = envlm.StaticLibrary
else:                          builder = envlm.SharedLibrary

SConscript("refinement/constraints/SConscript")

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

  env_smtbx_boost_python_ext = env_no_includes_boost_python_ext.Clone()
  env_etc.include_registry.append(
    env=env_smtbx_boost_python_ext,
    paths=env_etc.smtbx_common_includes + [env_etc.python_include])
  env_smtbx_boost_python_ext.Prepend(LIBS=["cctbx"])
  Export("env_smtbx_boost_python_ext")

  SConscript("stl/SConscript")
  SConscript("array_family/SConscript")
  SConscript("refinement/boost_python/SConscript")
  SConscript("refinement/constraints/boost_python/SConscript")
  SConscript("refinement/restraints/boost_python/SConscript")
  SConscript("ab_initio/SConscript")
  SConscript("structure_factors/direct/boost_python/SConscript")
