1libpldm_headers = files( 2 'api.h', 3 'base.h', 4 'bios.h', 5 'bios_table.h', 6 'compiler.h', 7 'control.h', 8 'entity.h', 9 'file.h', 10 'firmware_fd.h', 11 'firmware_update.h', 12 'fru.h', 13 'instance-id.h', 14 'pdr.h', 15 'platform.h', 16 'pldm.h', 17 'pldm_types.h', 18 'state_set.h', 19 'states.h', 20 'transport.h', 21 'transport/af-mctp.h', 22 'transport/mctp-demux.h', 23 'utils.h', 24) 25 26if get_option('oem').contains('ibm') 27 libpldm_headers += files( 28 'oem/ibm/entity.h', 29 'oem/ibm/file_io.h', 30 'oem/ibm/fru.h', 31 'oem/ibm/host.h', 32 'oem/ibm/platform.h', 33 'oem/ibm/state_set.h', 34 ) 35endif 36 37if get_option('oem').contains('meta') 38 libpldm_headers += files('oem/meta/file_io.h') 39endif 40 41 42install_headers(libpldm_headers, subdir: 'libpldm', preserve_path: true) 43 44# TODO: these should depend on the input headers so they rebuild 45# on changes, unclear how to do that. 46include_src = include_directories('../../src', is_system: true) 47sizeof_pldm_fd = compiler.sizeof( 48 'struct pldm_fd', 49 prefix: '#include "firmware_device/fd-internal.h"', 50 include_directories: [include_src, libpldm_include_dir], 51) 52sizeof_pldm_control = compiler.sizeof( 53 'struct pldm_control', 54 prefix: '#include "control-internal.h"', 55 include_directories: [include_src, libpldm_include_dir], 56) 57sizes_h = configure_file( 58 configuration: { 59 'sizeof_pldm_fd': sizeof_pldm_fd, 60 'sizeof_pldm_control': sizeof_pldm_control, 61 }, 62 input: 'sizes.h.in', 63 output: 'sizes.h', 64 install: true, 65 install_dir: get_option('includedir') / 'libpldm', 66) 67