File: configfile.py

package info (click to toggle)
birdfont 2.33.6-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,688 kB
  • sloc: ansic: 2,399; python: 1,111; xml: 187; sh: 78; makefile: 14
file content (68 lines) | stat: -rwxr-xr-x 2,128 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/python3
"""
Copyright (C) 2012, 2013 Eduardo Naufel Schettino and Johan Mattsson

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""

from . import version

VERSION = version.VERSION

def write_config (prefix):
    print ("Writing Config.vala")

    vars = (('VERSION', VERSION),
        ('PREFIX', prefix),
        )

    f = open('./libbirdfont/Config.vala', 'w+')
    f.write("// Don't edit this file -- it is generated by the build script\n")
    f.write("namespace BirdFont {\n")

    var_line = '    internal const string %s = "%s";\n'
    for name, value in vars:
        f.write(var_line % (name, value))

    f.write("}")

def write_compile_parameters(prefix, dest, cc, gee, valac, pkg_config,
                             non_null, valacflags, cflags, ldflags):
    settings = {
        'prefix': prefix,
        'dest': dest,
        'cc': cc,
        'cflags': cflags,
        'ldflags': ldflags,
        'valac': valac,
        'valacflags': valacflags,
        'pkg-config': pkg_config,
        'non_null': '--enable-experimental-non-null' if non_null else '',
        'gee': gee,
    }
    def autoquote(v):
        if isinstance(v, str):
            return '"' + v + '"'
        else:
            return str(v)

    f = open('./scripts/config.py', 'w+')
    f.write("#!/usr/bin/python3\n")
    for k, v in settings.items():
        f.write("%s = %s\n" % (k.upper().replace('-', '_'), autoquote(v)))

    f.write("SETTINGS = {\n")
    for k, v in settings.items():
        f.write('    "%s": %s,\n' % (k, autoquote(v)))
    f.write("}\n")