From 48ef95c24e9ac3d11200b61af617a01b10b507d1 Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Fri, 10 Jul 2026 23:20:03 +0800 Subject: build: introduce declarative non-recursive build graph --- scripts/build/write-compdb.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 scripts/build/write-compdb.py (limited to 'scripts/build/write-compdb.py') diff --git a/scripts/build/write-compdb.py b/scripts/build/write-compdb.py new file mode 100755 index 0000000..9ec5a49 --- /dev/null +++ b/scripts/build/write-compdb.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0-or-later + +import json +import pathlib +import sys + +source = pathlib.Path(sys.argv[1]) +output = pathlib.Path(sys.argv[2]) +directory = pathlib.Path.cwd() +entries = [] +for line in source.read_text().splitlines(): + file_name, object_name, command = line.split("\t", 2) + entries.append( + { + "directory": str(directory), + "file": file_name, + "output": object_name, + "command": command, + } + ) +output.parent.mkdir(parents=True, exist_ok=True) +temporary = output.with_suffix(output.suffix + ".tmp") +temporary.write_text(json.dumps(entries, indent=2) + "\n") +temporary.replace(output) + -- cgit v1.2.3