Skip to content
Snippets Groups Projects
SConscript.ida 1.86 KiB
Newer Older
import os

Import('argenv', 'STARS_CCFLAGS')
Import('argenv', 'STARS_LDFLAGS')
idaenv=argenv.Clone()
dirs='''
	src/base
	src/interfaces
	src/interfaces/abstract
	src/interfaces/idapro
	src/drivers/idapro
     '''
dirs=Split(dirs)


cpppath=''' \
        $SMPSA_HOME/include   \
        $SMPSA_HOME/include/base  \
        $SMPSA_HOME/include/interfaces \
        $SMPSA_HOME/include/interfaces/abstract \
        $IDASDK/include \
        $SMPSA_HOME/include/interfaces/idapro  \
	'''

IDA_CCFLAGS=''' -std=c++0x  \
jdh8d's avatar
jdh8d committed
        -D__LINUX__ \
	-Wall \
	-Werror \
	--short-enums  \
	-m32 \
	-Wno-unused-variable \
        -Wno-unused-local-typedefs \
        -Wno-unused-but-set-variable \
        -DSTARS_IDA_INTERFACE \
        -D__PLUGIN__   \
        -D__IDP__ \
        '''+STARS_CCFLAGS

jdh8d's avatar
jdh8d committed
unused_flags='''
	-Wno-attributes \
	-Wno-parentheses \
        -Wno-strict-aliasing \
	-Wno-sign-compare \
	-Wmaybe-uninitialized \
	-Winit-self \
'''

IDA_LDFLAGS=''' -m32 --shared -L$IDAROOT -lida \
        -Wl,--version-script=$SMPSA_HOME/scripts/plugin.script \
        '''+STARS_LDFLAGS
jdh8d's avatar
 
jdh8d committed
#print 'dirs: ',dirs
files=[]
for dir in dirs:
	files=files+Glob(os.path.join(dir,"*.cpp"))

# set suffix properly
if int(idaenv['do_64bit_analysis']) == 1:
	SHLIBSUF=".plx64"
else:
	SHLIBSUF=".plx"

idaenv=idaenv.Clone(CCFLAGS=IDA_CCFLAGS, SHLINKFLAGS=IDA_LDFLAGS, SHLIBSUFFIX=SHLIBSUF, SHLIBPREFIX="", CPPPATH=Split(cpppath));
lib=idaenv.SharedLibrary('SMPStaticAnalyzer', files, LIBPATH="$IDAROOT", libs="ida")
Jason Hiser's avatar
Jason Hiser committed
Depends(lib,"$SMPSA_HOME/libehp/lib/libehp.a")
install=idaenv.Install("$IDAROOT/idc/", "$SMPSA_HOME/scripts/SMP.idc")
jdh8d's avatar
jdh8d committed
Default(install)

jdh8d's avatar
 
jdh8d committed
install=idaenv.Install("$SMPSA_HOME/install/", "$SMPSA_HOME/scripts/SMP.idc")
Default(install)

install=idaenv.Install("$SMPSA_HOME/install/", lib)
Default(install)

install=idaenv.Install("$IDAROOT/plugins/", lib)
Default(install)