meson: Add configure options

Several configure options were hard-coded, make them configurable
be passing -Dxxx=xxx options.

Tested: Verify the options could be passed from command line.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Ia82958591a0d6165ee5d9e92f0fb88609266705a
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..b878b69
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,14 @@
+option('MANIFEST_FILE',
+       type: 'string',
+       value: 'MANIFEST',
+       description: 'The path of the MANIFEST file')
+
+option('SOFTWARE_OBJPATH',
+       type: 'string',
+       value: '/xyz/openbmc_project/software',
+       description: 'The software manager Dbus root')
+
+option('PSU_INVENTORY_PATH',
+       type: 'string',
+       value: '/xyz/openbmc_project/inventory/system/chassis',
+       description: 'The PSU inventory path')
diff --git a/src/meson.build b/src/meson.build
index c3c04e5..95b1a5a 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -5,19 +5,20 @@
 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')
 cdata.set_quoted('ACTIVATION_FWD_ASSOCIATION', 'inventory')
 cdata.set_quoted('ACTIVATION_REV_ASSOCIATION', 'activation')
-cdata.set_quoted('PSU_INVENTORY_PATH', '/xyz/openbmc_project/inventory/system/chassis')
 cdata.set_quoted('ACTIVE_FWD_ASSOCIATION', 'active')
 cdata.set_quoted('ACTIVE_REV_ASSOCIATION', 'software_version')
 cdata.set_quoted('FUNCTIONAL_FWD_ASSOCIATION', 'functional')
 cdata.set_quoted('FUNCTIONAL_REV_ASSOCIATION', 'software_version')
 
+cdata.set_quoted('SOFTWARE_OBJPATH', get_option('SOFTWARE_OBJPATH'))
+cdata.set_quoted('MANIFEST_FILE', get_option('MANIFEST_FILE'))
+cdata.set_quoted('PSU_INVENTORY_PATH', get_option('PSU_INVENTORY_PATH'))
+
 configure_file(output: 'config.h',
   configuration: cdata,
 )