glib/win32/gen_util_scripts.py
Chun-wei Fan a00e7ed32e win32: Update MSVC projects for glib-genmarshal
glib-genmarshal is now a Python script instead of a compiled program, so
we need to:

-Remove the projects that are used to build the glib-genmarshal sources.
-Generate the full glib-genmarshal Python script from glib-genmarshal.in
-Make Python a hard build-time requirement, since we use this tool
 in many parts of the stack (and it is the case for glib-mkenums).
-Tell people in the Visual Studio build README.txt files that Python
 2.7.x or 3.x is now required for the build/"install".
2017-07-12 18:00:22 +08:00

39 lines
1.4 KiB
Python

# Simple Python script to generate the full .schema.xml files
import os
import sys
import argparse
from replace import replace_multi
def main(argv):
srcroot = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
parser = argparse.ArgumentParser(description='Generate Utility Scripts')
parser.add_argument('-t', '--type', help='Script Type (glib-mkenums or gdbus-codegen)', required=True)
parser.add_argument('--version', help='Package Version', required=True)
args = parser.parse_args()
replace_items = {'@PYTHON@': 'python',
'@PERL_PATH@': 'perl',
'@GLIB_VERSION@': args.version,
'@VERSION@': args.version}
if args.type == 'glib-mkenums':
replace_multi(srcroot + '/gobject/glib-mkenums.in',
srcroot + '/gobject/glib-mkenums',
replace_items)
elif args.type == 'glib-genmarshal':
replace_multi(srcroot + '/gobject/glib-genmarshal.in',
srcroot + '/gobject/glib-genmarshal',
replace_items)
elif args.type == 'gdbus-codegen':
replace_multi(srcroot + '/gio/gdbus-2.0/codegen/gdbus-codegen.in',
srcroot + '/gio/gdbus-2.0/codegen/gdbus-codegen',
replace_items)
else:
raise ValueError('Type must be glib-mkenums or gdbus-codegen')
if __name__ == '__main__':
sys.exit(main(sys.argv))