import libtbx.load_env
Import("env_etc")

env_etc.scitbx_dist = libtbx.env.dist_path("scitbx")
env_etc.scitbx_include = libtbx.env.under_dist("scitbx", "include")
env_etc.scitbx_common_includes = [
  env_etc.libtbx_include,
  env_etc.scitbx_include,
  env_etc.boost_include,
]

SConscript("include/scitbx/slatec/SConscript")
SConscript("array_family/SConscript")
SConscript("serialization/SConscript")
SConscript("fftpack/timing/SConscript")
SConscript("lbfgs/SConscript")
SConscript("lbfgsb/dev/SConscript")

if (not env_etc.no_boost_python):
  Import("env_no_includes_boost_python_ext")
  env_scitbx_boost_python_ext = env_no_includes_boost_python_ext.Copy()
  env_scitbx_boost_python_ext.Prepend(LIBS=["scitbx_boost_python"])
  env_etc.include_registry.append(
    env=env_scitbx_boost_python_ext,
    paths=env_etc.scitbx_common_includes + [env_etc.python_include])
  Export("env_scitbx_boost_python_ext")

  SConscript("boost_python/SConscript")
  SConscript("include/scitbx/boost_python/SConscript")
  SConscript("include/scitbx/stl/SConscript")
  SConscript("array_family/boost_python/SConscript")
  SConscript("math/boost_python/SConscript")
  SConscript("fftpack/boost_python/SConscript")
  SConscript("lbfgs/boost_python/SConscript")
  SConscript("lbfgsb/boost_python/SConscript")

SConscript("include/scitbx/minpack/SConscript")
