mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-12 00:30:19 +00:00
build: Replace Autotools with Meson
Quick rundown of benefits: - Much faster: - Autotools (with autogen): 22 seconds - Meson: 7 seconds - Meson (with ccache): 2 seconds - Simpler: - ~1000 lines smaller - Single simple language - Potentially better Windows (Visual Studio) support What is not done: - Complete Windows support - OSX support (easy) Closes #2013 Closes #1937 Closes #1803
This commit is contained in:
55
src/common/make-te.py
Executable file
55
src/common/make-te.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
inf = open(sys.argv[1])
|
||||
eventf = open(sys.argv[2], 'w')
|
||||
enumsf = open(sys.argv[3], 'w')
|
||||
|
||||
enumsf.write(\
|
||||
'''
|
||||
/* this file is auto generated, edit textevents.in instead! */
|
||||
|
||||
enum
|
||||
{
|
||||
''')
|
||||
|
||||
eventf.write(\
|
||||
'''
|
||||
/* this file is auto generated, edit textevents.in instead! */
|
||||
|
||||
const struct text_event te[] = {
|
||||
''')
|
||||
|
||||
try:
|
||||
while True:
|
||||
name = inf.readline().strip()
|
||||
event_enum = inf.readline().strip()
|
||||
event_help = inf.readline().strip()
|
||||
event_str = inf.readline().strip()
|
||||
args = inf.readline().strip()
|
||||
translate = True
|
||||
|
||||
if args[0] == 'n':
|
||||
args = int(args[1]) | 128
|
||||
translate = False
|
||||
else:
|
||||
args = int(args)
|
||||
|
||||
if translate:
|
||||
event_str = 'N_("%s")' %event_str
|
||||
else:
|
||||
event_str = '"%s"' %event_str
|
||||
|
||||
enumsf.write('\t%s,\n' %event_enum)
|
||||
eventf.write('\n{"%s", %s, %u,\n%s},\n' %(
|
||||
name, event_help, args, event_str,
|
||||
))
|
||||
|
||||
inf.readline() # whitespace
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
enumsf.write('\tNUM_XP\n};\n')
|
||||
eventf.write('};\n')
|
||||
|
||||
Reference in New Issue
Block a user