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')