File: constants.py

package info (click to toggle)
thunderbird 1:60.8.0-1~deb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 2,339,208 kB
  • sloc: cpp: 5,456,704; ansic: 2,360,384; python: 596,095; asm: 340,963; java: 326,291; xml: 258,664; sh: 84,366; makefile: 23,702; perl: 17,317; objc: 3,768; yacc: 1,766; ada: 1,681; lex: 1,364; pascal: 1,264; cs: 879; exp: 527; php: 436; lisp: 258; ruby: 153; awk: 152; sed: 53; csh: 27
file content (111 lines) | stat: -rw-r--r-- 2,334 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

from __future__ import absolute_import, print_function, unicode_literals

from mozbuild.util import EnumString
from collections import OrderedDict


CompilerType = EnumString.subclass(
    'clang',
    'clang-cl',
    'gcc',
    'msvc',
)

OS = EnumString.subclass(
    'Android',
    'DragonFly',
    'FreeBSD',
    'GNU',
    'iOS',
    'NetBSD',
    'OpenBSD',
    'OSX',
    'SunOS',
    'WINNT',
)

Kernel = EnumString.subclass(
    'Darwin',
    'DragonFly',
    'FreeBSD',
    'kFreeBSD',
    'Linux',
    'NetBSD',
    'OpenBSD',
    'SunOS',
    'WINNT',
)

CPU_bitness = {
    'aarch64': 64,
    'Alpha': 64,
    'arm': 32,
    'hppa': 32,
    'ia64': 64,
    'm68k': 32,
    'mips32': 32,
    'mips64': 64,
    'ppc': 32,
    'ppc64': 64,
    's390': 32,
    's390x': 64,
    'sh4': 32,
    'sparc': 32,
    'sparc64': 64,
    'x86': 32,
    'x86_64': 64,
}

CPU = EnumString.subclass(*CPU_bitness.keys())

Endianness = EnumString.subclass(
    'big',
    'little',
)

WindowsBinaryType = EnumString.subclass(
    'win32',
    'win64',
)

# The order of those checks matter
CPU_preprocessor_checks = OrderedDict((
    ('x86', '__i386__ || _M_IX86'),
    ('x86_64', '__x86_64__ || _M_X64'),
    ('arm', '__arm__ || _M_ARM'),
    ('aarch64', '__aarch64__'),
    ('ia64', '__ia64__'),
    ('s390x', '__s390x__'),
    ('s390', '__s390__'),
    ('ppc64', '__powerpc64__'),
    ('ppc', '__powerpc__'),
    ('Alpha', '__alpha__'),
    ('hppa', '__hppa__'),
    ('sparc64', '__sparc__ && __arch64__'),
    ('sparc', '__sparc__'),
    ('mips64', '__mips64'),
    ('mips32', '__mips__'),
    ('sh4', '__sh__'),
    ('m68k', '__m68k__'),
    ('sh4', '__sh__'),
))

assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)

kernel_preprocessor_checks = {
    'Darwin': '__APPLE__',
    'DragonFly': '__DragonFly__',
    'FreeBSD': '__FreeBSD__',
    'kFreeBSD': '__FreeBSD_kernel__',
    'Linux': '__linux__',
    'NetBSD': '__NetBSD__',
    'OpenBSD': '__OpenBSD__',
    'SunOS': '__sun__',
    'WINNT': '_WIN32 || __CYGWIN__',
}

assert sorted(kernel_preprocessor_checks.keys()) == sorted(Kernel.POSSIBLE_VALUES)