Import('env') srcs = Split(""" library.cpp type.cpp module.cpp symchar.cpp instance.cpp instanceinterfacedata.cpp method.cpp name.cpp reporter.cpp simulation.cpp set.cpp units.cpp dimensions.cpp extmethod.cpp variable.cpp relation.cpp solver.cpp curve.cpp plot.cpp solverparameters.cpp solverparameter.cpp solverparameteriterator.cpp solverstatus.cpp solverreporter.cpp incidencematrix.cpp """) # Build a static library with all the sources objs = [] for s in srcs: objs += env.SharedObject(s , CPPPATH = ['../../base/generic']+env['PYTHON_CPPPATH'] , CPPDEFINES = { 'ASCXX_USE_PYTHON':None ,'DEFAULT_ASCENDLIBRARY':'\\"'+env['DEFAULT_ASCENDLIBRARY']+'\\"' } , CPPFLAGS = ['-O3'] ) #---------------------------------------------- # SWIG Builder def swig_modify_targets(target, source, env): target.append('ascpy.py') target.append('ascpy_wrap.h') return target, source swig_builder = Builder( action='$SWIG $SWIGFLAGS -o $TARGET $SOURCE' , emitter=swig_modify_targets ) env.Append(BUILDERS={'Swig':swig_builder}) #--------------------------------------------- #swig = env.Swig(target=['ascpy_wrap.cc'],source=['ascpy.i'] # , SWIGFLAGS=['-python','-c++'] # , CPPFLAGS = ['-O3'] #) swiglib = env.SharedLibrary("ascpy",objs + ['ascpy.i'] , LIBS = ['ascend'] + env['PYTHON_LIB'] , LIBPATH = ['#'] + env['PYTHON_LIBPATH'] , SWIGFLAGS=['-python','-c++'] , CPPPATH = ['../../base/generic'] + env['PYTHON_CPPPATH'] , CPPDEFINES = { 'ASCXX_USE_PYTHON':None ,'DEFAULT_ASCENDLIBRARY':'\\"'+env['DEFAULT_ASCENDLIBRARY']+'\\"' } , CPPFLAGS = ['-O3'] , SHLIBPREFIX = '_' ) #env.Depends(swiglib,'ascpy.py') #print env['SUBST_DICT'] env.SubstInFile(source='config.py.in') ascendcmd = env.SubstInFile(source='ascend.in') #--------------------------------------------- # INSTALLATION if env.has_key('CAN_INSTALL') and env['CAN_INSTALL']: env.InstallProgram(env['INSTALL_ROOT']+env['INSTALL_BIN'],ascendcmd) import glob pythonfiles = glob.glob("*.py") env.Install(env['INSTALL_ROOT']+env['INSTALL_DATA']+"/ascend/",pythonfiles) gladefiles = glob.glob("glade/*") env.Install(env['INSTALL_ROOT']+env['INSTALL_DATA']+"/ascend/glade/",gladefiles) env.Install(env['INSTALL_ROOT']+env['INSTALL_DATA']+"/ascend/",swiglib) if env['WITH_INSTALLER']: import platform if platform.system()=="Windows": env.Nsis('create.nsi')