import os (sysname, nodename, release, version, machine)=os.uname() Import('env') myenv=env.Clone() myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) myenv.Replace(ZIPR_HOME=os.environ['ZIPR_HOME']) myenv.Replace(ZIPR_SDK=os.environ['ZIPR_SDK']) myenv.Replace(ZIPR_INSTALL=os.environ['ZIPR_INSTALL']) files= ''' main.cpp memory_space.cpp plugin_man.cpp zipr.cpp zipr_options.cpp zipr_stats.cpp utils.cpp dollop.cpp zipr_dollop_man.cpp elfwrite.cpp ehwrite.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 $SECURITY_TRANSFORMS_HOME/include/ $SECURITY_TRANSFORMS_HOME/libIRDB/include/ $SECURITY_TRANSFORMS_HOME/libtransform/include $ZIPR_HOME/include/ $ZIPR_SDK/include/ ''' libs=''' xform IRDB-core IRDB-cfg BeaEngine_s_d pqxx transform pq dl EXEIO StructDiv ''' libpath=''' $SECURITY_TRANSFORMS_HOME/lib ''' if sysname=="SunOS": myenv.Append(LINKFLAGS=" -xldscope=global ") # export all symbols else: myenv.Append(CCFLAGS=" -Wall -Werror -fmax-errors=2") myenv.Append(LINKFLAGS=" -Wl,-E ") # export all symbols myenv=myenv.Clone(CPPPATH=Split(cpppath), LIBS=Split(libs), LIBPATH=Split(libpath)) #print 'myenv=' #print myenv.Dump() myenv.Append(CXXFLAGS=" -Wno-deprecated") ziprexe=myenv.Program("zipr.exe", Split(files)) install=myenv.Install("$ZIPR_INSTALL/bin/", ziprexe) Default(install) Return('install')