xref: /openbmc/qemu/scripts/shaderinclude.py (revision e2c4012b)
1*e2c4012bSMarc-André Lureau#!/usr/bin/env python3
2*e2c4012bSMarc-André Lureau#
3*e2c4012bSMarc-André Lureau# Copyright (C) 2023 Red Hat, Inc.
4*e2c4012bSMarc-André Lureau#
5*e2c4012bSMarc-André Lureau# SPDX-License-Identifier: GPL-2.0-or-later
6*e2c4012bSMarc-André Lureau
7*e2c4012bSMarc-André Lureauimport sys
8*e2c4012bSMarc-André Lureauimport os
9*e2c4012bSMarc-André Lureau
10*e2c4012bSMarc-André Lureau
11*e2c4012bSMarc-André Lureaudef main(args):
12*e2c4012bSMarc-André Lureau    file_path = args[1]
13*e2c4012bSMarc-André Lureau    basename = os.path.basename(file_path)
14*e2c4012bSMarc-André Lureau    varname = basename.replace('-', '_').replace('.', '_')
15*e2c4012bSMarc-André Lureau
16*e2c4012bSMarc-André Lureau    with os.fdopen(sys.stdout.fileno(), "wt", closefd=False, newline='\n') as stdout:
17*e2c4012bSMarc-André Lureau        with open(file_path, "r", encoding='utf-8') as file:
18*e2c4012bSMarc-André Lureau            print(f'static GLchar {varname}_src[] =', file=stdout)
19*e2c4012bSMarc-André Lureau            for line in file:
20*e2c4012bSMarc-André Lureau                line = line.rstrip()
21*e2c4012bSMarc-André Lureau                print(f'    "{line}\\n"', file=stdout)
22*e2c4012bSMarc-André Lureau            print('    "\\n";', file=stdout)
23*e2c4012bSMarc-André Lureau
24*e2c4012bSMarc-André Lureau
25*e2c4012bSMarc-André Lureauif __name__ == '__main__':
26*e2c4012bSMarc-André Lureau    sys.exit(main(sys.argv))
27