diff --git a/bmc/firmware-handler/meson.build b/bmc/firmware-handler/meson.build
new file mode 100644
index 0000000..7d6b719
--- /dev/null
+++ b/bmc/firmware-handler/meson.build
@@ -0,0 +1,126 @@
+firmware_inc = include_directories('.')
+
+# phosphor-ipmi-flash config
+config_data = []
+if get_option('update-type') == 'static-layout'
+  if get_option('reboot-update')
+    config_data += 'config-static-bmc-reboot.json'
+  else
+    if get_option('update-status')
+      config_data += 'config-static-bmc-with-update-status.json'
+    else
+      config_data += 'config-static-bmc.json'
+    endif
+  endif
+endif
+
+if get_option('host-bios')
+  config_data += 'config-bios.json'
+endif
+
+foreach data : config_data
+  configure_file(
+    input: data + '.in',
+    output: data,
+    configuration: conf_data,
+    install: true,
+    install_dir: get_option('datadir') / 'phosphor-ipmi-flash')
+endforeach
+
+# temp files
+install_data(
+  'phosphor-ipmi-flash.conf',
+  install_dir: get_option('libdir') / 'tmpfiles.d')
+
+# systemd configs
+systemd_data = [
+  'phosphor-ipmi-flash-bmc-prepare.target',
+  'phosphor-ipmi-flash-bmc-verify.target',
+  'phosphor-ipmi-flash-bmc-update.target',
+]
+
+if get_option('host-bios')
+  systemd_data += [
+    'phosphor-ipmi-flash-bios-prepare.target',
+    'phosphor-ipmi-flash-bios-verify.target',
+    'phosphor-ipmi-flash-bios-update.target']
+endif
+
+systemd = dependency('systemd')
+if systemd.found()
+  foreach data : systemd_data
+    configure_file(
+      input: data + '.in',
+      output: data,
+      configuration: conf_data,
+      install: true,
+      install_dir: systemd.get_variable(pkgconfig: 'systemdsystemunitdir'))
+  endforeach
+endif
+
+firmware_source = [
+  'firmware_handlers_builder.cpp',
+  'firmware_handler.cpp',
+  'lpc_handler.cpp']
+
+if (get_option('lpc-type') == 'aspeed-lpc' or
+    not get_option('tests').disabled())
+  firmware_source += 'lpc_aspeed.cpp'
+endif
+
+if (get_option('lpc-type') == 'nuvoton-lpc' or
+    not get_option('tests').disabled())
+  firmware_source += 'lpc_nuvoton.cpp'
+endif
+
+if (get_option('p2a-type') == 'aspeed-p2a' or
+    not get_option('tests').disabled())
+  firmware_source += 'pci_handler.cpp'
+endif
+
+if get_option('p2a-type') == 'nuvoton-p2a-vga'
+  firmware_source += 'pci_nuvoton_handler.cpp'
+endif
+
+if get_option('p2a-type') == 'nuvoton-p2a-mbox'
+  firmware_source += 'pci_nuvoton_handler.cpp'
+endif
+
+if get_option('net-bridge')
+  firmware_source += 'net_handler.cpp'
+endif
+
+firmware_pre = declare_dependency(
+  include_directories: [root_inc, bmc_inc, firmware_inc],
+  dependencies : [
+    dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
+    common_dep,
+    blobs_dep,
+    sys_dep,
+    phosphor_logging_dep])
+
+firmware_lib = static_library(
+  'firmwareblob',
+  firmware_source,
+  conf_h,
+  implicit_include_directories: false,
+  dependencies: firmware_pre)
+
+firmware_dep = declare_dependency(
+  link_with: firmware_lib,
+  dependencies: firmware_pre)
+
+shared_module(
+  'firmwareblob',
+  'main.cpp',
+  implicit_include_directories: false,
+  dependencies: [
+    firmware_dep,
+    dependency('libipmid'),
+  ],
+  install: true,
+  install_dir: get_option('libdir') / 'blob-ipmid')
+
+if not get_option('tests').disabled()
+  subdir('test')
+endif
\ No newline at end of file
diff --git a/bmc/firmware-handler/test/meson.build b/bmc/firmware-handler/test/meson.build
new file mode 100644
index 0000000..38a8a1c
--- /dev/null
+++ b/bmc/firmware-handler/test/meson.build
@@ -0,0 +1,42 @@
+firmware_tests = [
+  'handler',
+  'stat',
+  'canhandle',
+  'write',
+  'writemeta',
+  'open',
+  'close',
+  'sessionstat',
+  'commit',
+  'state_notyetstarted',
+  'state_uploadinprogress',
+  'state_verificationpending',
+  'state_verificationstarted',
+  'state_verificationcompleted',
+  'state_updatepending',
+  'state_updatestarted',
+  'state_updatecompleted',
+  'state_notyetstarted_tarball',
+  'multiplebundle',
+  'json',
+  'skip']
+
+foreach t : firmware_tests
+  test(
+    t,
+    executable(
+      t.underscorify(), 'firmware_' + t + '_unittest.cpp',
+      build_by_default: false,
+      implicit_include_directories: false,
+      include_directories: [root_inc, bmc_test_inc, firmware_inc],
+      dependencies: [firmware_dep, gtest, gmock]))
+endforeach
+
+file_handler_test = executable(
+  'file_handler',
+  'file_handler_unittest.cpp',
+  build_by_default: false,
+  implicit_include_directories: false,
+  include_directories: [root_inc, bmc_inc, bmc_test_inc, firmware_inc],
+  dependencies: [common_dep, blobs_dep, gtest, gmock])
+test('file_handler', file_handler_test)
