xref: /llvm-project/llvm/utils/gn/secondary/llvm/tools/llvm-config/write_extension_dependencies.py (revision b71edfaa4ec3c998aadb35255ce2f60bba2940b0)
10ff3cc20SNico Weber#!/usr/bin/env python3
2aed67a3dSNico Weberr"""Writes ExtensionDepencencies.inc."""
3aed67a3dSNico Weber
4aed67a3dSNico Weberimport argparse
5aed67a3dSNico Weberimport os
6aed67a3dSNico Weberimport re
7aed67a3dSNico Weberimport sys
8aed67a3dSNico Weber
9aed67a3dSNico Weber
10aed67a3dSNico Weberdef main():
11aed67a3dSNico Weber    parser = argparse.ArgumentParser(description=__doc__)
12*b71edfaaSTobias Hieta    parser.add_argument("-o", "--output", required=True, help="output file")
13aed67a3dSNico Weber    args = parser.parse_args()
14aed67a3dSNico Weber
15aed67a3dSNico Weber    source = """\
16aed67a3dSNico Weber#include <array>
17aed67a3dSNico Weberstruct ExtensionDescriptor {
18aed67a3dSNico Weber  const char* Name;
19aed67a3dSNico Weber  const char* const RequiredLibraries[1 + 1];
20aed67a3dSNico Weber};
21aed67a3dSNico Weberstd::array<ExtensionDescriptor, 0>  AvailableExtensions{};
22aed67a3dSNico Weber"""
23*b71edfaaSTobias Hieta    open(args.output, "w").write(source)
24aed67a3dSNico Weber
25aed67a3dSNico Weber
26*b71edfaaSTobias Hietaif __name__ == "__main__":
27aed67a3dSNico Weber    sys.exit(main())
28