blob: 14624d80fb2da648588922200f98634a27a7cc06 [file] [log] [blame]
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('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,
])
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