From 5e73c9d23e54da63ee24d8dc0fecc2b104ffbd01 Mon Sep 17 00:00:00 2001
From: Jason Hiser <jdhiser@gmail.com>
Date: Fri, 1 Feb 2019 11:25:24 -0500
Subject: [PATCH] refactoring libirdb-elfdep.  redoing library naming scheme

Former-commit-id: a01f1ca3ba1e85a49c0684ce28f15ec009ad0ede
---
 SConscript                               | 2 +-
 dump_insns/SConscript                    | 2 +-
 dump_map/SConscript                      | 2 +-
 ir_builders/SConscript                   | 5 ++---
 libEXEIO/src/SConscript                  | 2 +-
 libElfDep/src/SConscript                 | 8 +++-----
 libElfDep/src/elfdep.cpp                 | 8 +++++++-
 libElfDep/{include => src}/libElfDep.hpp | 3 ++-
 libElfDep/test/SConscript                | 2 +-
 libIRDB/src/cfg/SConscript               | 4 ++--
 libIRDB/src/core/SConscript              | 2 +-
 libIRDB/src/syscall/SConscript           | 4 ++--
 libIRDB/src/util/SConscript              | 4 ++--
 libtransform/src/SConscript              | 4 ++--
 meds2pdb/SConscript                      | 2 +-
 thanos/SConscript                        | 2 +-
 tools/selective_cfi/SConscript           | 2 +-
 17 files changed, 31 insertions(+), 27 deletions(-)
 rename libElfDep/{include => src}/libElfDep.hpp (94%)

diff --git a/SConscript b/SConscript
index 17f092f16..4b3050630 100644
--- a/SConscript
+++ b/SConscript
@@ -45,7 +45,7 @@ if "PEDI_HOME" in os.environ:
 			source = "./SConscript",
 			action = os.environ['PEDI_HOME']+"/pedi -m manifest.txt " )
 
-env['BASE_IRDB_LIBS']="IRDB-core", "pqxx", "pq", "EXEIO"
+env['BASE_IRDB_LIBS']="irdb-core", "pqxx", "pq"
 
 if sysname != "SunOS":
 	libPEBLISS=SConscript("pebliss/trunk/pe_lib/SConscript", variant_dir='scons_build/libPEBLISS')
diff --git a/dump_insns/SConscript b/dump_insns/SConscript
index 61ea7c0bf..a087b1bb3 100644
--- a/dump_insns/SConscript
+++ b/dump_insns/SConscript
@@ -19,7 +19,7 @@ myenv.Append(CPPFLAGS="-std=c++11")
 pgm="dump_insns.exe"
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  IRDB-cfg IRDB-util transform MEDSannotation ") 
+LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  irdb-cfg irdb-util irdb-transform ") 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 #install=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm)
diff --git a/dump_map/SConscript b/dump_map/SConscript
index c3962b85d..8eaf74bbf 100644
--- a/dump_map/SConscript
+++ b/dump_map/SConscript
@@ -19,7 +19,7 @@ myenv.Append(CPPFLAGS="-std=c++11")
 pgm="dump_map.exe"
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  IRDB-cfg IRDB-util transform MEDSannotation ") 
+LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  irdb-cfg irdb-util irdb-transform ") 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 #install=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm)
diff --git a/ir_builders/SConscript b/ir_builders/SConscript
index 5777a8135..fb5eba73a 100644
--- a/ir_builders/SConscript
+++ b/ir_builders/SConscript
@@ -12,15 +12,14 @@ if 'build_tools' not in myenv or myenv['build_tools'] is None or int(myenv['buil
 
 	cpppath=''' 
 		 $IRDB_SDK/include 
-		 $SECURITY_TRANSFORMS_HOME/libIRDB/include 
-		 $SECURITY_TRANSFORMS_HOME/libMEDSannotation/include 
 		 $SECURITY_TRANSFORMS_HOME/libEXEIO/include 
 		 $SECURITY_TRANSFORMS_HOME/libehp/include 
+		 $SECURITY_TRANSFORMS_HOME/libMEDSannotation/include/
 		 $SECURITY_TRANSFORMS_HOME/third_party/elfio-code
 		'''
 
 	LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-	LIBS=Split( 'IRDB-cfg IRDB-util ' + env.subst('$BASE_IRDB_LIBS')+ " MEDSannotation ehp transform")
+	LIBS=Split( 'irdb-cfg irdb-util ' + env.subst('$BASE_IRDB_LIBS')+ " ehp irdb-transform MEDSannotation EXEIO")
 
 	myenv=myenv.Clone(CPPPATH=Split(cpppath))
 
diff --git a/libEXEIO/src/SConscript b/libEXEIO/src/SConscript
index 413aadb3a..3a81a1b36 100644
--- a/libEXEIO/src/SConscript
+++ b/libEXEIO/src/SConscript
@@ -21,7 +21,7 @@ cpppath='''
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 myenv.Append(CXXFLAGS=" -std=c++11 -Wall -Werror ")
-lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core pebliss"), LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" )
+lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core pebliss"), LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" )
 
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
diff --git a/libElfDep/src/SConscript b/libElfDep/src/SConscript
index b0d62b5a7..dc8652648 100644
--- a/libElfDep/src/SConscript
+++ b/libElfDep/src/SConscript
@@ -9,22 +9,20 @@ myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
 files="elfdep.cpp"
 
 cpppath='''
+	 .
          $IRDB_SDK/include
          $SECURITY_TRANSFORMS_HOME/libIRDB/include
          $SECURITY_TRANSFORMS_HOME/libtransform/include
-         $SECURITY_TRANSFORMS_HOME/libEXEIO/include/
-         $SECURITY_TRANSFORMS_HOME/libMEDSannotation//include/
-         $SECURITY_TRANSFORMS_HOME/libElfDep/include
         '''
 
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split("IRDB-core transform")
+LIBS=Split("irdb-core irdb-transform")
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 myenv.Append(CXXFLAGS = " -std=c++11 ")
 
-lib=myenv.SharedLibrary("ElfDep",  Split(files), LIBPATH=LIBPATH, LIBS=LIBS)
+lib=myenv.SharedLibrary("irdb-elfdep",  Split(files), LIBPATH=LIBPATH, LIBS=LIBS)
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
 
diff --git a/libElfDep/src/elfdep.cpp b/libElfDep/src/elfdep.cpp
index 56a97c131..64d60dc87 100644
--- a/libElfDep/src/elfdep.cpp
+++ b/libElfDep/src/elfdep.cpp
@@ -21,11 +21,11 @@
 
 #include <irdb-core>
 #include <irdb-transform>
+#include <irdb-elfdep>
 #include <libIRDB-core.hpp>
 #include <stdlib.h>
 #include <memory>
 #include <math.h>
-#include <exeio.h>
 #include <elf.h>
 #include <libElfDep.hpp>
 #include <iterator>
@@ -519,3 +519,9 @@ void ElfDependencies_t::ElfDependenciesImpl_t<T_Elf_Sym,T_Elf_Rela,T_Elf_Dyn,rel
 
 	prefix_scoop<ptrsize>(new_dynamic_entry_str,  dynamic_scoop, firp) ;
 }
+
+unique_ptr<IRDB_SDK::ElfDependencies_t> IRDB_SDK::ElfDependencies_t::factory(IRDB_SDK::FileIR_t* firp)
+{
+	return unique_ptr<IRDB_SDK::ElfDependencies_t>(new libIRDB::ElfDependencies_t(firp));
+}
+
diff --git a/libElfDep/include/libElfDep.hpp b/libElfDep/src/libElfDep.hpp
similarity index 94%
rename from libElfDep/include/libElfDep.hpp
rename to libElfDep/src/libElfDep.hpp
index 3995942e1..4b7eb1e5f 100644
--- a/libElfDep/include/libElfDep.hpp
+++ b/libElfDep/src/libElfDep.hpp
@@ -1,6 +1,7 @@
 
 #include <irdb-core>
 #include <irdb-transform>
+#include <irdb-elfdep>
 #include <string>
 #include <memory>
 
@@ -10,7 +11,7 @@ namespace libIRDB
 
 using namespace std;
 
-class ElfDependencies_t : public IRDB_SDK::Transform
+class ElfDependencies_t : public IRDB_SDK::Transform, public IRDB_SDK::ElfDependencies_t
 {
 	public:
 
diff --git a/libElfDep/test/SConscript b/libElfDep/test/SConscript
index 332192d32..55dd8e67f 100644
--- a/libElfDep/test/SConscript
+++ b/libElfDep/test/SConscript
@@ -34,7 +34,7 @@ files=Glob( Dir('.').srcnode().abspath+"/edt*.cpp")
 pgm="edt.exe"
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split("stars "+ myenv.subst('$BASE_IRDB_LIBS')+ " IRDB-core libIRDB-cfg libIRDB-util.so pqxx capstone transform MEDSannotation EXEIO pebliss ElfDep") 
+LIBS=Split("stars "+ myenv.subst('$BASE_IRDB_LIBS')+ " irdb-elfdep") 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install/", pgm)
diff --git a/libIRDB/src/cfg/SConscript b/libIRDB/src/cfg/SConscript
index ae9c12470..b5caf9dea 100644
--- a/libIRDB/src/cfg/SConscript
+++ b/libIRDB/src/cfg/SConscript
@@ -6,7 +6,7 @@ myenv=env.Clone()
 myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
 
 
-libname="IRDB-cfg"
+libname="irdb-cfg"
 files=  '''
 	BasicBlock.cpp  callgraph.cpp  CFG.cpp domgraph.cpp criticaledge.cpp
 	'''
@@ -22,7 +22,7 @@ libpath='''
 myenv.Append(CCFLAGS=" -Wall -std=c++11")
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
-lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core"), LIBPATH=Split(libpath))
+lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core"), LIBPATH=Split(libpath))
 
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
diff --git a/libIRDB/src/core/SConscript b/libIRDB/src/core/SConscript
index 70baa09a8..0e17eb064 100644
--- a/libIRDB/src/core/SConscript
+++ b/libIRDB/src/core/SConscript
@@ -6,7 +6,7 @@ myenv=env.Clone()
 myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
 
 
-libname="IRDB-core"
+libname="irdb-core"
 files=  '''
 	address.cpp
 	baseobj.cpp
diff --git a/libIRDB/src/syscall/SConscript b/libIRDB/src/syscall/SConscript
index c768a3995..687cc3632 100644
--- a/libIRDB/src/syscall/SConscript
+++ b/libIRDB/src/syscall/SConscript
@@ -5,7 +5,7 @@ myenv=env
 myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
 
 
-libname="IRDB-syscall"
+libname="irdb-syscall"
 files=  '''
 	syscall.cpp
 	'''
@@ -21,7 +21,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 ")
 
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
-lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core IRDB-util"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib"))
+lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core irdb-util"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib"))
 
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
diff --git a/libIRDB/src/util/SConscript b/libIRDB/src/util/SConscript
index 48715cc08..6a872f20c 100644
--- a/libIRDB/src/util/SConscript
+++ b/libIRDB/src/util/SConscript
@@ -5,7 +5,7 @@ myenv=env
 myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME'])
 
 
-libname="IRDB-util"
+libname="irdb-util"
 files=  '''
 	insn_preds.cpp
         IBT_Provenance.cpp
@@ -21,7 +21,7 @@ cpppath='''
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 myenv.Append(CXXFLAGS = " -std=c++11 ")
-lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib"))
+lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib"))
 
 install=env.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
diff --git a/libtransform/src/SConscript b/libtransform/src/SConscript
index fa025bec5..2c81a4a30 100644
--- a/libtransform/src/SConscript
+++ b/libtransform/src/SConscript
@@ -17,12 +17,12 @@ cpppath='''
 
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split("IRDB-core IRDB-cfg IRDB-util MEDSannotation")
+LIBS=Split("irdb-core irdb-cfg irdb-util MEDSannotation")
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 myenv.Append(CXXFLAGS = " -std=c++11 ")
 
-lib=myenv.SharedLibrary("transform",  Split(files), LIBPATH=LIBPATH, LIBS=LIBS)
+lib=myenv.SharedLibrary("irdb-transform",  Split(files), LIBPATH=LIBPATH, LIBS=LIBS)
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib)
 Default(install)
 Return('install')
diff --git a/meds2pdb/SConscript b/meds2pdb/SConscript
index 646957c92..7c925ac42 100644
--- a/meds2pdb/SConscript
+++ b/meds2pdb/SConscript
@@ -22,7 +22,7 @@ pgm="meds2pdb"
 
 myenv.Append(CXXFLAGS = " -std=c++11 ")
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split(" IRDB-cfg IRDB-util transform MEDSannotation "+env.subst('$BASE_IRDB_LIBS')) 
+LIBS=Split(" irdb-cfg irdb-util irdb-transform EXEIO MEDSannotation "+env.subst('$BASE_IRDB_LIBS')) 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 install1=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm)
diff --git a/thanos/SConscript b/thanos/SConscript
index 3d5b5bfd0..408e042ba 100644
--- a/thanos/SConscript
+++ b/thanos/SConscript
@@ -19,7 +19,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 -Wall ")
 pgm="thanos.exe"
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  IRDB-core transform pqxx dl") 
+LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " irdb-transform dl") 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install", pgm)
diff --git a/tools/selective_cfi/SConscript b/tools/selective_cfi/SConscript
index 78cc1e98e..e31c252db 100644
--- a/tools/selective_cfi/SConscript
+++ b/tools/selective_cfi/SConscript
@@ -23,7 +23,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 -Wall ")
 pgm="selective_cfi.exe"
 
 LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  IRDB-cfg IRDB-util IRDB-core transform MEDSannotation pqxx pq") 
+LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ "  irdb-cfg irdb-util irdb-core irdb-transform MEDSannotation ") 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 pgm=myenv.Program(pgm,  files,  LIBPATH=LIBPATH, LIBS=LIBS)
 install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install/", pgm)
-- 
GitLab