|
Packit |
98cdb6 |
#!/usr/bin/python
|
|
Packit |
98cdb6 |
#
|
|
Packit |
98cdb6 |
# Utility script to generate .pc files for GTK+
|
|
Packit |
98cdb6 |
# for Visual Studio builds, to be used for
|
|
Packit |
98cdb6 |
# building introspection files
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
# Author: Fan, Chun-wei
|
|
Packit |
98cdb6 |
# Date: April 26, 2016
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
import os
|
|
Packit |
98cdb6 |
import sys
|
|
Packit |
98cdb6 |
import argparse
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
from replace import replace_multi, replace
|
|
Packit |
98cdb6 |
from pc_base import BasePCItems
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
def main(argv):
|
|
Packit |
98cdb6 |
base_pc = BasePCItems()
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
gdk_parser = argparse.ArgumentParser(description='Setup basic .pc file info')
|
|
Packit |
98cdb6 |
gdk_parser.add_argument('--host',
|
|
Packit |
98cdb6 |
required=True,
|
|
Packit |
98cdb6 |
help='Build type')
|
|
Packit |
98cdb6 |
base_pc.setup(argv, gdk_parser)
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
atk_min_ver = '1.29.2'
|
|
Packit |
98cdb6 |
cairo_min_ver = '1.6'
|
|
Packit |
98cdb6 |
gdk_pixbuf_min_ver = '2.21.0'
|
|
Packit |
98cdb6 |
gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -lwinmm'
|
|
Packit |
98cdb6 |
glib_min_ver = '2.28.0'
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
cairo_backends = 'cairo-win32'
|
|
Packit |
98cdb6 |
gdktarget = 'win32'
|
|
Packit |
98cdb6 |
gio_package = 'gio-2.0 >= ' + glib_min_ver
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
gdk_args = gdk_parser.parse_args()
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
pkg_replace_items = {'@GTK_API_VERSION@': '2.0',
|
|
Packit |
98cdb6 |
'@gdktarget@': gdktarget}
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
pkg_required_packages = 'gdk-pixbuf-2.0 >= ' + gdk_pixbuf_min_ver + ' ' + \
|
|
Packit |
98cdb6 |
'cairo >= ' + cairo_min_ver + ' '
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
gdk_pc_replace_items = {'@GDK_PACKAGES@': gio_package + ' ' + \
|
|
Packit |
98cdb6 |
'pangowin32 pangocairo' + ' ' + \
|
|
Packit |
98cdb6 |
pkg_required_packages,
|
|
Packit |
98cdb6 |
'@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends,
|
|
Packit |
98cdb6 |
'@GDK_EXTRA_LIBS@': gdk_win32_sys_libs,
|
|
Packit |
98cdb6 |
'@GDK_EXTRA_CFLAGS@': ''}
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
gtk_pc_replace_items = {'@host@': gdk_args.host,
|
|
Packit |
98cdb6 |
'@GTK_BINARY_VERSION@': '2.10.0',
|
|
Packit |
98cdb6 |
'@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \
|
|
Packit |
98cdb6 |
pkg_required_packages + ' ' + \
|
|
Packit |
98cdb6 |
gio_package,
|
|
Packit |
98cdb6 |
'@GTK_PRIVATE_PACKAGES@': 'atk',
|
|
Packit |
98cdb6 |
'@GTK_EXTRA_CFLAGS@': '',
|
|
Packit |
98cdb6 |
'@GTK_EXTRA_LIBS@': '',
|
|
Packit |
98cdb6 |
'@GTK_EXTRA_CFLAGS@': ''}
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
pkg_replace_items.update(base_pc.base_replace_items)
|
|
Packit |
98cdb6 |
gdk_pc_replace_items.update(pkg_replace_items)
|
|
Packit |
98cdb6 |
gtk_pc_replace_items.update(pkg_replace_items)
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
# Generate gdk-2.0.pc
|
|
Packit |
98cdb6 |
replace_multi(base_pc.top_srcdir + '/gdk-2.0.pc.in',
|
|
Packit |
98cdb6 |
base_pc.srcdir + '/gdk-2.0.pc',
|
|
Packit |
98cdb6 |
gdk_pc_replace_items)
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
# Generate gtk+-2.0.pc
|
|
Packit |
98cdb6 |
replace_multi(base_pc.top_srcdir + '/gtk+-2.0.pc.in',
|
|
Packit |
98cdb6 |
base_pc.srcdir + '/gtk+-2.0.pc',
|
|
Packit |
98cdb6 |
gtk_pc_replace_items)
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
# Generate gail.pc
|
|
Packit |
98cdb6 |
replace_multi(base_pc.top_srcdir + '/gail.pc.in',
|
|
Packit |
98cdb6 |
base_pc.srcdir + '/gail.pc',
|
|
Packit |
98cdb6 |
pkg_replace_items)
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
if __name__ == '__main__':
|
|
Packit |
98cdb6 |
sys.exit(main(sys.argv))
|