xref: /openbmc/libpldm/include/libpldm/meson.build (revision cf26f2a32939c0d0f5d4826f5dbb014981c5b173)
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