diff --git a/setup.py b/setup.py index 7e2258a..943d29d 100644 --- a/setup.py +++ b/setup.py @@ -128,8 +128,20 @@ def get_extensions(): if liberfa_versions: print('Configure liberfa ("configure.ac" scan)') lines = [] - for name, value in get_liberfa_versions(): - lines.append(f'#define {name} "{value}"') + for name, value in liberfa_versions: + if name in ("PACKAGE_VERSION", "SOFA_VERSION"): + # strings should be escaped + value_repr = f'"{value}"' + elif name in ( + "PACKAGE_VERSION_MAJOR", + "PACKAGE_VERSION_MINOR", + "PACKAGE_VERSION_MICRO", + ): + # integers + value_repr = value + else: + raise RuntimeError(f"Unexpected item {name=}, {value=}") + lines.append(f'#define {name} {value_repr}') with open(config_h, 'w') as fd: fd.write('\n'.join(lines)) else: