From 313dfe45c291073ddfd0f4085a9df0481bfc9d0d Mon Sep 17 00:00:00 2001
From: jdh8d <jdh8d@git.zephyr-software.com>
Date: Mon, 6 Jul 2015 20:53:05 +0000
Subject: [PATCH]

---
 .gitattributes |  4 ++++
 SConscript     | 21 ++++++++++++++++++
 SConstruct     | 54 ++++++++++++++++++++++++++++++++++++++++++++++
 src/SConscript | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/SConstruct |  6 ++++++
 5 files changed, 143 insertions(+)
 create mode 100644 SConscript
 create mode 100644 SConstruct
 create mode 100644 src/SConscript
 create mode 100644 src/SConstruct

diff --git a/.gitattributes b/.gitattributes
index cc2d5fe..cce10af 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,6 +1,8 @@
 * text=auto !eol
 /LICENSE.txt -text
 /Makefile.in -text
+/SConscript -text
+/SConstruct -text
 /config.guess -text
 /config.sub -text
 /configure -text
@@ -15,6 +17,8 @@ include/zipr_opts.h -text
 include/zipr_stats.h -text
 /install-sh -text
 src/Makefile.in -text
+src/SConscript -text
+src/SConstruct -text
 src/main.cpp -text
 src/memory_space.cpp -text
 src/plugin_man.cpp -text
diff --git a/SConscript b/SConscript
new file mode 100644
index 0000000..a450b5f
--- /dev/null
+++ b/SConscript
@@ -0,0 +1,21 @@
+import shutil
+import os
+import tarfile
+
+Import('env')
+
+# build security transforms
+irdbenv=env.Clone(); 
+
+sectrans_path=os.environ['SECURITY_TRANSFORMS_HOME']
+sectrans_sconscript=os.path.join(sectrans_path,"SConscript");
+env=irdbenv.Clone()
+Export('env')   # for security_transforms.
+SConscript(sectrans_sconscript, variant_dir='scons_build/irdb_libs')
+
+
+#print 'env='
+#print env.Dump()
+SConscript("src/SConscript", variant_dir='scons_build/zipr')
+
+
diff --git a/SConstruct b/SConstruct
new file mode 100644
index 0000000..2b688f1
--- /dev/null
+++ b/SConstruct
@@ -0,0 +1,54 @@
+import os
+import sys
+
+
+env=Environment()
+
+# default build options
+env.Replace(CFLAGS="-fPIC -fPIE ")
+env.Replace(CXXFLAGS="-fPIC -fPIE ")
+env.Replace(LINKFLAGS="-fPIC -fPIE ")
+
+# parse arguments
+env.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
+env.Replace(ZIPR_HOME=os.environ['ZIPR_HOME'])
+env.Replace(ZIPR_INSTALL=os.environ['ZIPR_INSTALL'])
+env.Replace(ZIPR_SDK=os.environ['ZIPR_SDK'])
+env.Replace(debug=ARGUMENTS.get("debug",0))
+env.Replace(do_64bit_build=ARGUMENTS.get("do_64bit_build",0))
+
+
+if int(env['debug']) == 1:
+        print "Setting debug mode"
+        env.Append(CFLAGS=" -g")
+        env.Append(CXXFLAGS=" -g")
+        env.Append(LINKFLAGS=" -g")
+else:
+        print "Setting release mode"
+        env.Append(CFLAGS=" -O3")
+        env.Append(CXXFLAGS=" -O3")
+        env.Append(LINKFLAGS=" -O3")
+
+# set 32/64 bit build properly
+#print  "env[64bit]="+str(env['do_64bit_build'])
+#if env['do_64bit_build'] is None:
+#	print 'Defaulting to default compilation size.'
+#elif int(env['do_64bit_build']) == 1:
+#	print 'Using 64-bit compilation size.'
+#        env.Append(CFLAGS=" -m64")
+#        env.Append(CXXFLAGS=" -m64")
+#        env.Append(LINKFLAGS=" -m64")
+#        env.Append(SHLINKFLAGS=" -m64")
+#else:
+#	print 'Using 32-bit compilation size.'
+#        env.Append(CFLAGS=" -m32")
+#        env.Append(CXXFLAGS=" -m32")
+#        env.Append(LINKFLAGS=" -m32")
+#        env.Append(SHLINKFLAGS=" -m32")
+
+env['build_appfw']=0
+env['build_tools']=0
+
+Export('env')
+SConscript("SConscript", variant_dir='build')
+
diff --git a/src/SConscript b/src/SConscript
new file mode 100644
index 0000000..f597fbb
--- /dev/null
+++ b/src/SConscript
@@ -0,0 +1,58 @@
+import os
+
+Import('env')
+myenv=env
+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
+	'''
+
+# 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/beaengine/include
+	$SECURITY_TRANSFORMS_HOME/beaengine/beaengineSources/Includes/
+	$ZIPR_HOME/include/
+	$ZIPR_SDK/include/
+	'''
+
+libs='''
+ 	xform 
+	IRDB-core 
+	IRDB-cfg 
+	BeaEngine_s_d 
+	pqxx  
+	transform 
+	rewrite 
+	pq 
+	dl 
+	EXEIO
+	'''
+
+libpath='''
+	$SECURITY_TRANSFORMS_HOME/lib
+	'''
+
+myenv.Append(CCFLAGS=" -Wall ")
+myenv.Append(LDFLAGS=" -Wl,-E ")	# export all symbols
+
+
+myenv=myenv.Clone(CPPPATH=Split(cpppath), LIBS=Split(libs), LIBPATH=Split(libpath))
+ziprexe=myenv.Program("zipr.exe", Split(files))
+
+install=myenv.Install("$ZIPR_INSTALL/bin/", ziprexe)
+Default(install)
+
diff --git a/src/SConstruct b/src/SConstruct
new file mode 100644
index 0000000..c0dd68a
--- /dev/null
+++ b/src/SConstruct
@@ -0,0 +1,6 @@
+
+
+
+env=Environment()
+Export('env')
+SConscript("SConscript")
-- 
GitLab