From 9b670b547c66a53f79e4cf50ee1d6be99f15eded Mon Sep 17 00:00:00 2001
From: Jason Hiser <jdhiser@gmail.com>
Date: Sat, 16 Feb 2019 12:11:36 -0500
Subject: [PATCH] fixed race conditions

---
 SConscript | 21 ++++++++++-----------
 SConstruct |  2 ++
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/SConscript b/SConscript
index 5de1a7752..9f7c4fa9c 100644
--- a/SConscript
+++ b/SConscript
@@ -8,24 +8,17 @@ Import('env')
 #if [ ! -f manifest.txt.config -o ! -d "$PS_INSTALL" ]; then
 
 if not os.path.isfile("manifest.txt.config"):
-	print "Doing pedi setup"  
-	pedisetup = Command( target = "./testoutput-setup",
-			source = "./SConscript",
-			action = os.environ['PEDI_HOME'] + 
-					"/pedi --setup -m manifest.txt -l ida -l ida_key -l ps -l zipr -l stars -i " + 
-					os.environ['PS_INSTALL']
-		)
+	os.system("$PEDI_HOME/pedi --setup -m manifest.txt -l ida -l ida_key -l ps -l zipr -l stars -i $PS_INSTALL")
 else:
 	print "Pedi already setup"  
-	pedisetup=list()
 
 
 
 # build stars and libirdb
 libirdb=      SConscript("irdb-libs/SConscript") # , variant_dir='build/irdb-libs')
-Depends(libirdb,pedisetup)
 libsmpsa=     SConscript("SMPStaticAnalyzer/SConscript") # 
 
+
 # specify some explicit dependencies to make sure these build in order
 Depends(libsmpsa,libirdb)
 
@@ -33,6 +26,14 @@ Depends(libsmpsa,libirdb)
 libirdbdeep=SConscript("irdb-libs/SConscript.deep", variant_dir='build/irdb-libs')
 Depends(libirdbdeep,libsmpsa)
 
+print "Zipr install is "+env['ZIPR_INSTALL']
+Export('env')
+libtrace=env.SConscript(["zipr_trace_plugin/libtrace/SConscript"])
+print "Zipr install is "+env['ZIPR_INSTALL']
+zipr_trace_plugin=SConscript(["zipr_trace_plugin/SConscript"])
+Depends(zipr_trace_plugin,libtrace);
+
+
 # list of zipr plugins and irdb xforms to build
 transformDirs='''
 	zipr_large_only_plugin
@@ -40,7 +41,6 @@ transformDirs='''
 	zipr_push64_reloc_plugin
 	zipr_relax_plugin
 	zipr
-	zipr_trace_plugin
 	zipr_unpin_plugin
 	'''
 
@@ -49,7 +49,6 @@ xforms=list()
 for i in Split(transformDirs):
 	Export('env')
 	xform = SConscript(i+"/SConscript")
-	print "After step "+str(i)+", env[LINKFLAGS]=:"+env['LINKFLAGS']
 	Depends(xform, libirdbdeep)
 	xforms = xforms + xform 
 
diff --git a/SConstruct b/SConstruct
index f973d39d7..524cf2db0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -16,6 +16,8 @@ env.Replace(IRDB_SDK=os.environ['IRDB_SDK'])
 env.Replace(SMPSA_HOME=os.environ['SMPSA_HOME'])
 env.Replace(debug=ARGUMENTS.get("debug",0))
 env.Replace(PEDI_HOME=os.environ['PEDI_HOME'])
+env.Replace(ZIPR_INSTALL=os.environ['ZIPR_INSTALL'])
+
 
 
 if int(env['debug']) == 1:
-- 
GitLab