Add activation, item_updater and version

Implement part of functions of Activation, ItemUpdater and Version.

Tested: Upload a dummy PSU tarball, and verify the activation object is
        created with expected ExtendedVersion, and the object is deleted
        when Delete is invoked.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I7b9d29f46914ace93d27a715b32c80957e88a0aa
diff --git a/src/meson.build b/src/meson.build
index 85263c8..4a13228 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -2,11 +2,27 @@
 phosphor_logging = dependency('phosphor-logging')
 sdbusplus = dependency('sdbusplus')
 
+add_project_link_arguments(['-lstdc++fs'], language: 'cpp')
+
+cdata = configuration_data()
+cdata.set_quoted('SOFTWARE_OBJPATH', '/xyz/openbmc_project/software')
+cdata.set_quoted('VERSION_IFACE', 'xyz.openbmc_project.Software.Version')
+cdata.set_quoted('FILEPATH_IFACE', 'xyz.openbmc_project.Common.FilePath')
+cdata.set_quoted('BUSNAME_UPDATER', 'xyz.openbmc_project.Software.Psu.Updater')
+cdata.set_quoted('MANIFEST_FILE', 'MANIFEST')
+
+configure_file(output: 'config.h',
+  configuration: cdata,
+)
+configuration_inc = include_directories('.')
+
 executable(
   'phosphor-psu-code-manager',
   'activation.cpp',
+  'item_updater.cpp',
   'main.cpp',
-  implicit_include_directories: false,
+  'version.cpp',
+  include_directories: configuration_inc,
   dependencies: [
     phosphor_logging,
     phosphor_dbus_interfaces,