lib: force user to include `<babeltrace2/babeltrace.h>`
[babeltrace.git] / extras / gen-babeltrace-h.py
diff --git a/extras/gen-babeltrace-h.py b/extras/gen-babeltrace-h.py
deleted file mode 100644 (file)
index b83f262..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-import re
-
-
-class _Section:
-    def __init__(self, title, filenames):
-        self.title = title
-        self.filenames = filenames
-
-
-def _get_sections(file):
-    sections = []
-    cur_title = None
-    cur_filenames = []
-
-    for line in file:
-        m = re.match(r'^# (.+API.*)$', line)
-
-        if m:
-            if cur_filenames:
-                sections.append(_Section(cur_title, cur_filenames))
-                cur_title = None
-                cur_filenames = []
-
-            cur_title = m.group(1)
-            continue
-
-        m = re.match(r'^\s+(babeltrace2/.+\.h).*$', line)
-
-        if m:
-            if m.group(1) != 'babeltrace2/babeltrace.h':
-                cur_filenames.append(m.group(1))
-
-            continue
-
-        if re.match(r'^noinst_HEADERS.*', line):
-            break
-
-    if cur_filenames:
-        sections.append(_Section(cur_title, cur_filenames))
-
-    return sections
-
-
-def _c_includes_from_sections(sections):
-    src = ''
-
-    for section in sections:
-        # CTF writer is not part of the Babeltrace library
-        if 'ctf' in section.title.lower():
-            continue
-
-        src += '/* {} */\n'.format(section.title)
-        lines = []
-
-        for filename in sorted(section.filenames):
-            # not part of the API
-            if 'func-status' in filename:
-                continue
-
-            lines.append('#include <{}>\n'.format(filename))
-
-        lines.sort()
-        src += ''.join(lines)
-        src += '\n'
-
-    return src[:-1]
-
-
-def _main():
-    with open('include/Makefile.am') as f:
-        sections = _get_sections(f)
-
-    print('''#ifndef BABELTRACE2_BABELTRACE_H
-#define BABELTRACE2_BABELTRACE_H
-
-/*
- * Babeltrace API
- *
- * Copyright 2010-2018 EfficiOS Inc. <http://www.efficios.com/>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-''')
-    print(_c_includes_from_sections(sections))
-    print('#endif /* BABELTRACE2_BABELTRACE_H */')
-
-
-if __name__ == '__main__':
-    _main()
This page took 0.036889 seconds and 4 git commands to generate.