Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 1 | # OpenBMC openpower-libhei project, see README.md for details. |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 2 | project( |
| 3 | 'openpower-libhei', |
| 4 | 'cpp', |
| 5 | version: '0.1', |
| 6 | meson_version: '>=0.51.0', |
| 7 | default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++14'], |
| 8 | ) |
Ben Tyner | 941aaeb | 2019-04-26 17:38:10 -0500 | [diff] [blame] | 9 | |
Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 10 | #------------------------------------------------------------------------------- |
Ben Tyner | 552992a | 2021-04-15 10:57:17 -0500 | [diff] [blame] | 11 | # Versioning |
| 12 | #------------------------------------------------------------------------------- |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 13 | buildinfo = vcs_tag( |
| 14 | command: ['git', 'describe', '--always', '--long'], |
| 15 | input: 'buildinfo.hpp.in', |
| 16 | output: 'buildinfo.hpp', |
| 17 | replace_string: '@BUILDINFO@', |
| 18 | fallback: '0', |
| 19 | ) |
Ben Tyner | 552992a | 2021-04-15 10:57:17 -0500 | [diff] [blame] | 20 | |
| 21 | #------------------------------------------------------------------------------- |
Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 22 | # libhei library |
| 23 | #------------------------------------------------------------------------------- |
| 24 | |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 25 | incdir = include_directories('src') |
Ben Tyner | 941aaeb | 2019-04-26 17:38:10 -0500 | [diff] [blame] | 26 | |
Zane Shelley | dd69c96 | 2020-05-05 22:19:11 -0500 | [diff] [blame] | 27 | libhei_src = [ |
| 28 | 'src/chip_data/hei_chip_data.cpp', |
| 29 | 'src/isolator/hei_isolator.cpp', |
| 30 | 'src/isolator/hei_isolation_chip.cpp', |
| 31 | 'src/isolator/hei_isolation_node.cpp', |
| 32 | 'src/register/hei_hardware_register.cpp', |
| 33 | 'src/util/hei_bit_string.cpp', |
| 34 | ] |
Ben Tyner | 7c79605 | 2020-02-03 19:00:37 -0600 | [diff] [blame] | 35 | |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 36 | libhei_dep = declare_dependency( |
| 37 | include_directories: incdir, |
| 38 | sources: [libhei_src, buildinfo], |
| 39 | ) |
Ben Tyner | 7c79605 | 2020-02-03 19:00:37 -0600 | [diff] [blame] | 40 | |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 41 | # build static library libhei.a (note that the libray name is hei, the |
| 42 | # resulting filename will be libhei.a) |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 43 | libhei_static = static_library('hei', dependencies: libhei_dep, install: true) |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 44 | |
Zane Shelley | 3a02e24 | 2020-05-08 16:25:36 -0500 | [diff] [blame] | 45 | install_headers( |
Zane Shelley | e46e425 | 2022-12-05 17:12:44 -0600 | [diff] [blame] | 46 | 'src/hei_buildinfo.hpp', |
Zane Shelley | 3a02e24 | 2020-05-08 16:25:36 -0500 | [diff] [blame] | 47 | 'src/hei_chip.hpp', |
| 48 | 'src/hei_isolation_data.hpp', |
| 49 | 'src/hei_main.hpp', |
| 50 | 'src/hei_signature.hpp', |
| 51 | 'src/hei_types.hpp', |
| 52 | 'src/hei_user_interface.hpp', |
Zane Shelley | d12b8fd | 2022-01-19 09:32:06 -0600 | [diff] [blame] | 53 | 'src/hei_util.hpp', |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 54 | subdir: 'libhei', |
Zane Shelley | 3a02e24 | 2020-05-08 16:25:36 -0500 | [diff] [blame] | 55 | ) |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 56 | |
Zane Shelley | 995be6c | 2021-02-24 15:48:55 -0600 | [diff] [blame] | 57 | install_headers( |
| 58 | 'src/util/hei_bit_string.hpp', |
| 59 | 'src/util/hei_flyweight.hpp', |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 60 | subdir: 'libhei/util', |
Zane Shelley | 995be6c | 2021-02-24 15:48:55 -0600 | [diff] [blame] | 61 | ) |
| 62 | |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 63 | pkg_mod = import('pkgconfig') |
| 64 | |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 65 | pkg_mod.generate( |
| 66 | libraries: libhei_static, |
| 67 | version: '0.1', |
| 68 | name: 'libhei', |
| 69 | subdirs: 'libhei', |
| 70 | filebase: 'hei', |
| 71 | description: 'Openpower Hardware Error Isolator', |
| 72 | ) |
Ben Tyner | 032bf9e | 2020-05-06 21:27:54 -0500 | [diff] [blame] | 73 | |
Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 74 | #------------------------------------------------------------------------------- |
| 75 | # Chip Data Files |
| 76 | #------------------------------------------------------------------------------- |
| 77 | |
Zane Shelley | 2215d23 | 2023-04-07 14:43:40 -0500 | [diff] [blame] | 78 | subdir('chip_data') |
Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 79 | |
| 80 | #------------------------------------------------------------------------------- |
| 81 | # Test |
| 82 | #------------------------------------------------------------------------------- |
| 83 | |
Zane Shelley | ad103b9 | 2019-07-31 15:57:54 -0500 | [diff] [blame] | 84 | build_tests = get_option('tests') |
Ben Tyner | 941aaeb | 2019-04-26 17:38:10 -0500 | [diff] [blame] | 85 | |
Zane Shelley | ad103b9 | 2019-07-31 15:57:54 -0500 | [diff] [blame] | 86 | if not build_tests.disabled() |
Patrick Williams | fffd983 | 2025-02-01 08:38:36 -0500 | [diff] [blame^] | 87 | subdir('test') |
Ben Tyner | 941aaeb | 2019-04-26 17:38:10 -0500 | [diff] [blame] | 88 | endif |
Zane Shelley | ba5dc16 | 2020-11-09 21:47:55 -0600 | [diff] [blame] | 89 | |