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,
)