import os argenv=Environment() # command line options argenv.Replace(debug=ARGUMENTS.get("debug",0)) argenv.Replace(debugopt=ARGUMENTS.get("debugopt",0)) argenv.Replace(debugopt2=ARGUMENTS.get("debugopt2",0)) argenv.Replace(do_64bit_analysis=ARGUMENTS.get("do_64bit_analysis",1)) argenv.Replace(do_64bit_build=ARGUMENTS.get("do_64bit_build",2)) argenv.Replace(build_ida=ARGUMENTS.get("build_ida",1)) argenv.Replace(build_irdb=ARGUMENTS.get("build_irdb",1)) argenv.Replace(build_irdb_driver=ARGUMENTS.get("build_irdb_driver",0)) argenv.Replace(install=ARGUMENTS.get("install",1)) # environment options argenv.Replace(SMPSA_HOME=os.environ['SMPSA_HOME']) argenv.Replace(IDASDK=os.environ['IDASDK']) argenv.Replace(IDAROOT=os.environ['IDAROOT']) argenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) if argenv['SMPSA_HOME'] is None: print 'Cannot proceed without SMPSA_HOME set.' exit(1) if int(argenv['debug']) == 1: print "Setting debug mode" STARS_CCFLAGS=" -g " elif int(argenv['debugopt']) == 1: print "Setting debugopt mode" STARS_CCFLAGS=" -g -O1 " elif int(argenv['debugopt2']) == 1: print "Setting debugopt mode" STARS_CCFLAGS=" -g -O2 " else: print "Setting release mode" STARS_CCFLAGS=" -O3 " if int(argenv['do_64bit_analysis']) == 1: STARS_CCFLAGS+=" -D__EA64__ " Export('argenv', 'STARS_CCFLAGS') if int(argenv['build_ida']) == 1: if argenv['IDASDK'] is None: print 'Cannot proceed without IDASDK set.' exit(1) if argenv['IDAROOT'] is None: print 'Cannot proceed without IDAROOT set.' exit(1) print "Build IDA Plugin" lib=SConscript('SConscript.ida', variant_dir='build_ida') if int(argenv['build_irdb']) == 1 or int(argenv['build_irdb_driver']) == 1: if argenv['SECURITY_TRANSFORMS_HOME'] is None: print 'Cannot build libstars.a without SECURITY_TRANSFORMS_HOME set. Did you forget the env. var.? Or try setting build_irdb=0. ' exit(1) print "Build IDA/IRDB library" lib=SConscript('SConscript.irdb_lib', variant_dir='build_irdb_lib') Default(lib)