import shutil import os import tarfile Import('env') (sysname, nodename, release, version, machine)=os.uname() #print 'env=' #print env.Dump() myenv=env myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) myenv.Replace(ZIPR_HOME=os.environ['ZIPR_HOME']) myenv.Replace(IRDB_SDK=os.environ['IRDB_SDK']) myenv.Replace(ZIPR_SDK=os.environ['ZIPR_SDK']) myenv.Replace(ZIPR_INSTALL=os.environ['ZIPR_INSTALL']) myenv.Replace(do_cgc=ARGUMENTS.get("do_cgc",0)) files= ''' unpin.cpp unpin_aarch64.cpp unpin_arm32.cpp unpin_x86.cpp ''' # ELFIO needs to be first so we get the zipr version instead of the sectrans version. the zipr version is modified to include get_offset. cpppath=''' . $ZIPR_HOME/third_party/ELFIO/elfio-2.2 $IRDB_SDK/include/ $SECURITY_TRANSFORMS_HOME/include $SECURITY_TRANSFORMS_HOME/libIRDB/include $SECURITY_TRANSFORMS_HOME/libtransform/include $ZIPR_HOME/include/ $ZIPR_SDK/include/ ''' libs=''' ''' libpath=''' $SECURITY_TRANSFORMS_HOME/lib ''' if sysname != "SunOS": myenv.Append(CCFLAGS=" -Wall -Werror -fmax-errors=2") myenv.Append(CXXFLAGS=" -std=c++11 ") myenv=myenv.Clone(CPPPATH=Split(cpppath), LIBS=Split(libs), LIBPATH=Split(libpath), SHLIBSUFFIX=".zpi", SHLIBPREFIX="") lib=myenv.SharedLibrary("unpin", Split(files)) install=myenv.Install("$ZIPR_INSTALL/plugins/", lib) Default(install) ret=[install,lib] pedi = Command( target = "./unpin-testoutput", source = install, action = "cd "+os.environ['ZIPR_INSTALL']+" ; " +os.environ['PEDI_HOME']+"/pedi -m manifest.txt ; cd -" ) if Dir('.').abspath == Dir('#.').abspath: ret=ret+pedi Default( ret ) Return('ret')