Build openpower-libhei as a static library

Build a static library that can be linked to by other applications.

Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I4dec91928381712674e6621792830f811c44c30d
diff --git a/test/bit_string_test.cpp b/test/bit_string_test.cpp
index aaf5b90..c763cf6 100644
--- a/test/bit_string_test.cpp
+++ b/test/bit_string_test.cpp
@@ -1,4 +1,4 @@
-#include <hei_user_defines.hpp>
+#include <hei_macros.hpp>
 #include <util/hei_bit_string.hpp>
 
 #include "gtest/gtest.h"
diff --git a/test/hei_user_defines.cpp b/test/hei_user_defines.cpp
new file mode 100644
index 0000000..f6e39f0
--- /dev/null
+++ b/test/hei_user_defines.cpp
@@ -0,0 +1,30 @@
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+namespace libhei
+{
+
+void hei_inf(char* format, ...)
+{
+    va_list args;
+
+    printf("I> ");
+    va_start(args, format);
+    vprintf(format, args);
+    va_end(args);
+    printf("\n");
+}
+
+void hei_err(char* format, ...)
+{
+    va_list args;
+
+    printf("E> ");
+    va_start(args, format);
+    vprintf(format, args);
+    va_end(args);
+    printf("\n");
+}
+
+} // namespace libhei
diff --git a/test/hei_user_defines.hpp b/test/hei_user_defines.hpp
deleted file mode 100644
index 08ddda9..0000000
--- a/test/hei_user_defines.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#pragma once
-
-/**
- * @file hei_user_defines.hpp
- * @brief The purpose of this file is to create common defines that
- *        will be used throughout this library.
- */
-
-#include <assert.h>
-#include <inttypes.h>
-#include <stdio.h>
-
-#define HEI_INF(...)                                                           \
-    {                                                                          \
-        printf("I> " __VA_ARGS__);                                             \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ERR(...)                                                           \
-    {                                                                          \
-        printf("E> " __VA_ARGS__);                                             \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ASSERT(expression) assert(expression);
diff --git a/test/meson.build b/test/meson.build
index ce1e5da..209bad3 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -2,7 +2,8 @@
 subdir('simulator')
 
 # supporting files that need compiled/linked
-test_src = ['../src/util/hei_bit_string.cpp']
+test_src = ['../src/util/hei_bit_string.cpp',
+               'hei_user_defines.cpp']
 
 # build g-test framework unit tests
 gtests = [
diff --git a/test/simulator/user_interface.cpp b/test/simulator/hei_user_interface.cpp
similarity index 98%
rename from test/simulator/user_interface.cpp
rename to test/simulator/hei_user_interface.cpp
index 9f841bb..658a1ef 100644
--- a/test/simulator/user_interface.cpp
+++ b/test/simulator/hei_user_interface.cpp
@@ -7,6 +7,7 @@
 
 #include <endian.h>
 
+#include <hei_macros.hpp>
 #include <hei_user_interface.hpp>
 
 namespace libhei
diff --git a/test/simulator/meson.build b/test/simulator/meson.build
index 0f96bb3..ec5410f 100644
--- a/test/simulator/meson.build
+++ b/test/simulator/meson.build
@@ -1,28 +1,22 @@
 # Simulator sources
-sim_src = [
+sim_libhei = [
     'simulator.cpp',
-    'user_interface.cpp',
-]
-
-# Isolator sources
-iso_src = [
-    '../../src/isolator/hei_isolator.cpp',
-    '../../src/isolator/hei_isolation_chip.cpp',
-    '../../src/isolator/hei_isolation_node.cpp',
-    '../../src/register/hei_hardware_register.cpp',
-    '../../src/util/hei_bit_string.cpp',
+    'hei_user_interface.cpp',
+    '../hei_user_defines.cpp'
 ]
 
 # Test cases
-test_src = [
+test_libhei = [
     'sample_test_case.cpp',
 ]
 
 gtest = dependency('gtest', main : true, required : false, method : 'system')
 
+# Build simulator linked locally
 if gtest.found()
-    test('simulator', \
-         executable('simulator', sim_src, iso_src, test_src, \
-                    dependencies : gtest, include_directories: incdir))
+    test('simulator',
+         executable('simulator', sim_libhei, test_libhei,
+                    dependencies : gtest,
+                    link_with : libhei_static,
+                    include_directories: incdir))
 endif
-