import os, os.path
import lsst.SConsUtils as scons
import distutils.sysconfig

    
env = scons.makeEnv("collapseTracklets",
                    r"1.0",
                    [["python", "Python.h"],
                     ["boost", "boost/test/included/unit_test.hpp"],
                     ["swig"],
                     ["gsl", "gsl/gsl_fit.h", "gslcblas gsl:C++"]
                     ])


commonStuff = ['common', 'removeSubsets', 'Detection', 'CollapseTracklets', 'rmsLineFit']

common_libs = []

for lib in commonStuff:
    env.StaticLibrary(lib, lib+'.cc')
    env.Library(lib, lib+'.cc')
    common_libs.append(lib+'.o')


env.Program('unitTests', ['unitTests.cc'] + common_libs, LIBS=["gsl", "gslcblas"])
env.Program('collapseTracklets', ['collapseTrackletsMain.cc'] + common_libs, LIBS=["gsl", "gslcblas"])
env.Program('removeSubsets', ['removeSubsetsMain.cc'] + common_libs, LIBS=["gsl", "gslcblas"])


env.CheckSwig("python", ilang="c++")

env.LoadableModuleIncomplete("_Detection", ["Detection.cc", "Detection.i"])

env.LoadableModuleIncomplete("_Tracklet", ["Tracklet.i"])

env.LoadableModuleIncomplete("_CollapseTracklets", 
	["CollapseTracklets.cc", "Detection.cc", "rmsLineFit.cc", 
	"removeSubsets.cc", "common.cc", "CollapseTracklets.i"], 
	LIBS=env.getlibs("gsl"))

env.LoadableModuleIncomplete("_RemoveSubsets", 
	["CollapseTracklets.cc", "Detection.cc", "rmsLineFit.cc", 
	"removeSubsets.cc", "common.cc", "removeSubsets.i"], 
	LIBS=env.getlibs("gsl"))

