diff --git a/SConscript b/SConscript index b97d09108937490ef8c8bee03af84106996047c1..d4a6069d08a481247b8077b1ebc00429cfb75089 100644 --- a/SConscript +++ b/SConscript @@ -117,9 +117,6 @@ Export('argenv', 'STARS_CCFLAGS', 'STARS_LDFLAGS', 'STARS_LDPREFIX') installers=[] -libehp=argenv.SConscript("libehp/SConscript", variant_dir='scons_build/libehp'); -libehp=argenv.Install("$SMPSA_HOME/libehp/lib", libehp); -Default(libehp) if int(argenv['build_ida']) == 1 or int(argenv['build_ida7']) == 1: if argenv['IDASDK'] is None: @@ -140,17 +137,17 @@ if int(argenv['build_ida']) == 1 or int(argenv['build_ida7']) == 1: if int(argenv['build_ida']) == 1: print "Build IDA Plugin" - lib=SConscript('SConscript.ida', variant_dir='build_ida') + idalib=SConscript('SConscript.ida', variant_dir='build_ida') elif int(argenv['build_ida7']) == 1: print "Build IDA 7.0+ Plugin" - lib=SConscript('SConscript.ida7', variant_dir='build_ida') - argenv.Depends(lib, libehp) + idalib=SConscript('SConscript.ida7', variant_dir='build_ida') print "Done build IDA Plugin" - test=argenv.Command(target="./test.log", source=lib, action="IDAROOT=$IDAROOT SMPSA_HOME=$SMPSA_HOME $SMPSA_HOME/tests/scripts/make_baseline.sh 2>&1 |tee ./test.log") - argenv.Depends(test,lib) + test=argenv.Command(target="./test.log", source=idalib, action="IDAROOT=$IDAROOT SMPSA_HOME=$SMPSA_HOME $SMPSA_HOME/tests/scripts/make_baseline.sh 2>&1 |tee ./test.log") + argenv.Depends(test,idalib) ab=argenv.AlwaysBuild(test) argenv.Default(ab) installers=installers+ab + Default(idalib) if int(argenv['build_irdb']) == 1 or int(argenv['build_irdb_driver']) == 1: @@ -158,13 +155,23 @@ if int(argenv['build_irdb']) == 1 or int(argenv['build_irdb_driver']) == 1: 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') - installers=installers+lib - argenv.Depends(lib, libehp) + irdblib=SConscript('SConscript.irdb_lib', variant_dir='build_irdb_lib') + installers=installers+irdblib + Default(irdblib) -Default(lib) +libehp=argenv.SConscript("libehp/SConscript", variant_dir='scons_build/libehp'); +libehp=argenv.Install("$SMPSA_HOME/libehp/lib", libehp); +try: + argenv.Depends(idalib, libehp) +except: + print "Skipping build of ida lib" + +try: + argenv.Depends(irdblib, libehp) +except: + print "Skipping build of irdb lib" if 'PEDI_HOME' in os.environ: pedi = Command( target = "./testoutput", diff --git a/SConscript.ida b/SConscript.ida index a9514f79699c676a8f3cc9d0d47fb04e3abee3a1..c55a1b31222d7e8e374721968557347338f5500d 100644 --- a/SConscript.ida +++ b/SConscript.ida @@ -67,6 +67,7 @@ else: idaenv=idaenv.Clone(CCFLAGS=IDA_CCFLAGS, SHLINKFLAGS=IDA_LDFLAGS, SHLIBSUFFIX=SHLIBSUF, SHLIBPREFIX="", CPPPATH=Split(cpppath)); lib=idaenv.SharedLibrary('SMPStaticAnalyzer', files, LIBPATH="$IDAROOT", libs="ida") +Depends(lib,"$SMPSA_HOME/libehp/lib/libehp.a") install=idaenv.Install("$IDAROOT/idc/", "$SMPSA_HOME/scripts/SMP.idc") diff --git a/SConscript.ida7 b/SConscript.ida7 index 7aa57f47411281bf5a29b598e112ab2eb60046e9..2e2d64c3a6cdcdd23a5bae0dcadfd78f17988df2 100644 --- a/SConscript.ida7 +++ b/SConscript.ida7 @@ -78,7 +78,6 @@ if int(idaenv['do_64bit_analysis']) == 1: else: lib=idaenv.SharedLibrary('SMPStaticAnalyzer', files, LIBPATH="$IDAROOT", libs="ida") - install=idaenv.Install("$IDAROOT/idc/", "$SMPSA_HOME/scripts/SMP.idc") Default(install) @@ -102,7 +101,7 @@ Default(install) install=idaenv.Install("$IDAROOT/plugins/", lib) Default(install) -Return('install') +Return('lib')