import os import sys sys.path.append("./share/scons") from lex_bison import * # This is the absolute path where the project is located cwd=os.getcwd() # Environment that will be applied to each scons child main_env=Environment() main_env['ENV']['PATH']=os.environ['PATH'] # Add builders for flex and bison add_lex(main_env) add_bison(main_env) # Include dirs main_env.Append(CPPPATH=[ cwd+'/include', ]) # Library dirs main_env.Append(LIBPATH=[ cwd+'/src/common', cwd+'/src/host', cwd+'/src/mad', cwd+'/src/nebula', cwd+'/src/pool', cwd+'/src/template', cwd+'/src/vm', cwd+'/src/vmm', cwd+'/src/lcm', cwd+'/src/tm', cwd+'/src/dm', cwd+'/src/im', cwd+'/src/rm', cwd+'/src/vnm', ]) # Compile flags main_env.Append(CPPFLAGS=[ "-g", "-Wall" ]) # Linking flags main_env.Append(LDFLAGS=["-g"]) ####################### # EXTRA CONFIGURATION # ####################### # SQLITE sqlite_dir=ARGUMENTS.get('sqlite', 'none') if sqlite_dir!='none': main_env.Append(LIBPATH=[sqlite_dir+"/lib"]) main_env.Append(CPPPATH=[sqlite_dir+"/include"]) # xmlrpc xmlrpc_dir=ARGUMENTS.get('xmlrpc', 'none') if xmlrpc_dir!='none': main_env.Append(LIBPATH=[xmlrpc_dir+"/lib"]) main_env.Append(CPPPATH=[xmlrpc_dir+"/include"]) # build lex/bison build_parsers=ARGUMENTS.get('parsers', 'no') if build_parsers=='yes': main_env.Append(parsers='yes') else: main_env.Append(parsers='no') try: main_env.ParseConfig('share/scons/get_xmlrpc_config server') main_env.ParseConfig('share/scons/get_xmlrpc_config client') except Exception, e: print "" print "Error searching for xmlrpc-c libraries. Please check this things:" print "" print " * You have installed development libraries for xmlrpc-c. One way to check" print " this is calling xmlrpc-c-config that is provided with the development" print " package." print " * Check that the version of xmlrpc-c is at least 1.06. You can do this also" print " calling:" print " $ xmlrpc-c-config --version" print " * If all this requirements are already met please send log files located in" print " .xmlrpc_test to the mailing list." print "" exit(-1) # SCONS scripts to build build_scripts=[ 'src/client/SConstruct', 'src/common/SConstruct', 'src/template/SConstruct', 'src/host/SConstruct', 'src/mad/SConstruct', 'src/nebula/SConstruct', 'src/pool/SConstruct', 'src/vm/SConstruct', 'src/vmm/SConstruct', 'src/lcm/SConstruct', 'src/rm/SConstruct', 'src/tm/SConstruct', 'src/im/SConstruct', 'src/dm/SConstruct', 'src/scheduler/SConstruct', 'src/vnm/SConstruct', ] for script in build_scripts: env=main_env.Clone() SConscript(script, exports='env')