meta-google: dhcp-done: Adding status report

Previously dhcp-done only sends status code, this one provides the
capability to send status code + status message for better
troubleshooting.
Provide a way to let other process upgrade the status.

Tested: Unit test passed.

Change-Id: I9c689f90502a32b586c41e3491ad47ebc78fcc38
Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
diff --git a/subprojects/dhcp-done/meson.build b/subprojects/dhcp-done/meson.build
index abc449c..0bc7198 100644
--- a/subprojects/dhcp-done/meson.build
+++ b/subprojects/dhcp-done/meson.build
@@ -30,21 +30,45 @@
 ]
 
 libexecdir = get_option('prefix') / get_option('libexecdir')
+bindir = get_option('prefix') / get_option('bindir')
+
+fileio_lib = static_library(
+  'fileio',
+  [
+    'file-io.cpp',
+  ],
+  implicit_include_directories: false)
 
 executable(
   'dhcp-done',
   'dhcp-done.cpp',
   implicit_include_directories: false,
   dependencies: deps,
+  link_with : fileio_lib,
   install: true,
   install_dir: libexecdir)
 
+executable(
+  'update-dhcp-status',
+  'update-dhcp-status.cpp',
+  implicit_include_directories: false,
+  dependencies: deps,
+  link_with : fileio_lib,
+  install: true,
+  install_dir: bindir)
+
 systemd = dependency('systemd')
 systemunitdir = systemd.get_variable('systemdsystemunitdir')
 
 configure_file(
   configuration: {'BIN': libexecdir / 'dhcp-done'},
-  input: 'dhcp-done@.service.in',
-  output: 'dhcp-done@.service',
+  input: 'dhcp-done.service.in',
+  output: 'dhcp-done.service',
   install_mode: 'rw-r--r--',
   install_dir: systemunitdir)
+
+build_tests = get_option('tests')
+
+#if not build_tests.disabled()
+subdir('test')
+#endif