def main(argv): parser = argparse.ArgumentParser( description='Generate .schema.xml from its template.') parser.add_argument('-i', '--input', help='Input file', required=True) parser.add_argument('-o', '--output', help='Output file', required=True) parser.add_argument('--package', help='Package Name', required=True) parser.add_argument('--prefix', help='Installation Prefix', required=False) parser.add_argument('--datadir', help='Datadir (default $(prefix)/share)', required=False) args = parser.parse_args() if args.prefix is None and args.datadir is None: raise AttributeError('Either --datadir or --prefix is required') if args.prefix is not None and args.datadir is not None: print('--prefix argument ignored as --datadir is specified') datadir = '' if args.datadir is not None: datadir = args.datadir else: datadir = os.path.join(args.prefix, 'share') if not os.path.exists(datadir): raise AssertionError( 'The specified --datadir or --prefix does not exist!') # We need to convert Windows '\' into '/' datadir_forward_slash = os.path.abspath(datadir).replace('\\', '/') replace_items = { '@GETTEXT_PACKAGE@': args.package, '@datadir@': '/' + datadir_forward_slash } replace_multi(args.input, args.output, replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) glib_req_ver = '2.48' gtk_req_ver = '3.20' libxml2_req_ver = '2.6' API_VERSION = '4' pkg_replace_items = { '@PACKAGE_NAME@': 'gtksourceview', '@AX_PACKAGE_REQUIRES@': 'glib-2.0 >= ' + glib_req_ver + ' ' + 'gio-2.0 >= ' + glib_req_ver + ' ' + 'gtk+-3.0 >= ' + gtk_req_ver, '@AX_PACKAGE_REQUIRES_PRIVATE@': 'libxml-2.0 >= ' + libxml2_req_ver, '@GSV_API_VERSION@': API_VERSION, '@PACKAGE_VERSION@': base_pc.version } pkg_replace_items.update(base_pc.base_replace_items) # Generate gtksourceview-4.pc replace_multi(base_pc.top_srcdir + '/gtksourceview.pc.in', base_pc.srcdir + '/gtksourceview-' + API_VERSION + '.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@bindir@': '${exec_prefix}/bin', '@datarootdir@': '${exec_prefix}/share', '@datadir@': '${datarootdir}', '@EXEEXT@': '.exe', '@FFI_PC_CFLAGS@': '', '@FFI_PC_PACKAGES@': '', '@FFI_PC_LIBS@': '', '${bindir}/g-ir-scanner': 'python ${bindir}/g-ir-scanner' } pkg_replace_items.update(base_pc.base_replace_items) # Generate gobject-introspection-1.0.pc replace_multi(base_pc.top_srcdir + '/gobject-introspection-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-1.0.pc', pkg_replace_items) # Generate gobject-introspection-no-export-1.0.pc replace_multi( base_pc.top_srcdir + '/gobject-introspection-no-export-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-no-export-1.0.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) # Generate adwaita-icon-theme.pc replace_multi(base_pc.top_srcdir + '/adwaita-icon-theme.pc.in', base_pc.srcdir + '/adwaita-icon-theme.pc', base_pc.base_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) # Generate adwaita-icon-theme-ubuntu.pc replace_multi(base_pc.top_srcdir + '/adwaita-icon-theme-ubuntu.pc.in', base_pc.srcdir + '/adwaita-icon-theme-ubuntu.pc', base_pc.base_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) # Generate gsettings-desktop-schemas.pc replace_multi(base_pc.top_srcdir + '/gsettings-desktop-schemas.pc.in', base_pc.srcdir + '/outputdir/gsettings-desktop-schemas.pc', base_pc.base_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {'@GLIB_PACKAGES@': 'gobject-2.0 glib-2.0', '@ATK_API_VERSION@': '1.0'} pkg_replace_items.update(base_pc.base_replace_items) # Generate atk.pc replace_multi(base_pc.top_srcdir + '/atk.pc.in', base_pc.srcdir + '/atk.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() pango_parser = argparse.ArgumentParser( description='Setup basic .pc file info') pango_parser.add_argument('--pangoft2', action='store_const', const=1, help='Create .pc for PangoFT2') base_pc.setup(argv, pango_parser) base_pkg_replace_items = {'@PANGO_API_VERSION@': '1.0', '-lm': ''} base_pkg_replace_items.update(base_pc.base_replace_items) # Generate pango.pc replace_multi(base_pc.top_srcdir + '/pango.pc.in', base_pc.srcdir + '/pango.pc', base_pkg_replace_items) # Generate pangowin32.pc replace_multi(base_pc.top_srcdir + '/pangowin32.pc.in', base_pc.srcdir + '/pangowin32.pc', base_pkg_replace_items) # Generate pangoft2.pc, if requested pango_args = pango_parser.parse_args() if getattr(pango_args, 'pangoft2', None) is 1: replace_multi(base_pc.top_srcdir + '/pangoft2.pc.in', base_pc.srcdir + '/pangoft2.pc', base_pkg_replace_items) # Generate pangocairo.pc pangocairo_replace_items = {'@PKGCONFIG_CAIRO_REQUIRES@': 'cairo'} pangocairo_replace_items.update(base_pkg_replace_items) replace_multi(base_pc.top_srcdir + '/pangocairo.pc.in', base_pc.srcdir + '/pangocairo.pc', pangocairo_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@GLIB_PACKAGES@': 'gobject-2.0 glib-2.0', '@ATK_API_VERSION@': '1.0' } pkg_replace_items.update(base_pc.base_replace_items) # Generate atk.pc replace_multi(base_pc.top_srcdir + '/atk.pc.in', base_pc.srcdir + '/atk.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) # Generate libsoup-2.4.pc replace_multi(base_pc.top_srcdir + '/libsoup-2.4.pc.in', base_pc.srcdir + '/libsoup-2.4.pc', base_pc.base_replace_items) # Generate libsoup-gnome-2.4.pc replace_multi(base_pc.top_srcdir + '/libsoup-gnome-2.4.pc.in', base_pc.srcdir + '/libsoup-gnome-2.4.pc', base_pc.base_replace_items)
def main(argv): pc = BasePCItems() srcroot = pc.top_srcdir srcdir = pc.srcdir ver = get_version_items(srcroot) replace_multi(os.path.join(srcdir, 'config.h.win32.in'), os.path.join(srcdir, 'config.h.win32'), ver) replace_multi(os.path.join(srcroot, 'src', 'hb-version.h.in'), os.path.join(srcroot, 'src', 'hb-version.h'), ver) return 0
def main(argv): parser = argparse.ArgumentParser(description="Generate the complete cairo-1.0.gir") parser.add_argument( "--dllname", required=True, help="Full file name of the Cairo-GObject DLL for the Cairo Introspection File" ) args = parser.parse_args() # Get the srcroot and the path where the bundled .gir files reside in the package srcroot = parent_dir(parent_dir(__file__)) preset_gir_path = os.path.join(srcroot, "gir") # Set up variables in cairo-1.0.gir.in to produce cairo-1.0.gir cairo_replace_items = {"%CAIRO_GIR_PACKAGE%": "cairo-gobject", "%CAIRO_SHARED_LIBRARY%": args.dllname} replace.replace_multi(os.path.join(preset_gir_path, "cairo-1.0.gir.in"), "cairo-1.0.gir", cairo_replace_items)
def main(argv): parser = argparse.ArgumentParser( description='Generate .schema.xml from its template.') parser.add_argument('-i', '--input', help='Input file', required=True) parser.add_argument('-o', '--output', help='Output file', required=True) parser.add_argument('--package', help='Package Name', required=True) parser.add_argument('--prefix', help='Installation Prefix', required=True) args = parser.parse_args() replace_items = { '@GETTEXT_PACKAGE@': args.package, '@datadir@': '/' + args.prefix + '/share' } replace_multi(args.input, args.output, replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) fc_conf_replace_items = { '@FC_DEFAULT_FONTS@': 'WINDOWSFONTDIR', '@FC_FONTPATH@': '', '@CONFIGDIR@': base_pc.prefix + '/bin/fonts/conf.d', '@FC_CACHEDIR@': 'LOCAL_APPDATA_FONTCONFIG_CACHE' } fc_conf_replace_items.update(base_pc.base_replace_items) replace_multi(base_pc.top_srcdir + '/fonts.conf.in', base_pc.prefix + '/bin/fonts/fonts.conf', fc_conf_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) croco_version = base_pc.version.split('.') pkg_replace_items = {'@LIBCROCO_MAJOR_VERSION@': croco_version[0], '@LIBCROCO_MINOR_VERSION@': croco_version[1]} pkg_replace_items.update(base_pc.base_replace_items) # Generate libcroco-x.y.pc replace_multi(base_pc.top_srcdir + '/libcroco.pc.in', base_pc.srcdir + '/libcroco-' + croco_version[0] + '.' + croco_version[1] + '.pc', pkg_replace_items)
def main(argv): rsvg_api_ver = '2.0' base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {'@RSVG_API_MAJOR_VERSION@': rsvg_api_ver, '@RSVG_API_VERSION@': rsvg_api_ver, ' -lm': ''} pkg_replace_items.update(base_pc.base_replace_items) # Generate librsvg-$(rsvg_api_ver).pc replace_multi(base_pc.top_srcdir + '/librsvg.pc.in', base_pc.srcdir + '/librsvg-' + rsvg_api_ver + '.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() fc_parser = argparse.ArgumentParser( description='Setup basic .pc file info') fc_parser.add_argument('--libxml2', action='store_const', const=1, default=0, help='Create .pc for fontconfig') base_pc.setup(argv, fc_parser) fc_args = fc_parser.parse_args() if getattr(fc_args, 'libxml2', None) is 1: expat_cflags = '' expat_lib = '' libxml2_cflags = '-I${includedir}/libxml2' libxml2_lib = 'libxml2.lib' else: expat_cflags = '' expat_lib = '-lexpat' libxml2_cflags = '' libxml2_lib = '' fc_pc_replace_items = { '@sysconfdir@': '${prefix}/bin', '@localstatedir@': '', '@PACKAGE@': 'fontconfig', '@BASECONFIGDIR@': '${sysconfdir}/fonts', '@fc_cachedir@': '', '@PKGCONFIG_REQUIRES@': 'freetype2', '@PKGCONFIG_REQUIRES_PRIVATELY@': '', '@FREETYPE_CFLAGS@': '', '@FREETYPE_LIBS@': '-lfreetype', '@ICONV_CFLAGS@': '', '@ICONV_LIBS@': '-liconv', '@EXPAT_CFLAGS@': expat_cflags, '@LIBXML2_CFLAGS@': libxml2_cflags, '@EXPAT_LIBS@': expat_lib, '@LIBXML2_LIBS@': libxml2_lib } fc_pc_replace_items.update(base_pc.base_replace_items) # Generate fontconfig.pc replace_multi(base_pc.top_srcdir + '/fontconfig.pc.in', base_pc.prefix + '/lib/pkgconfig/fontconfig.pc', fc_pc_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) croco_version = base_pc.version.split('.') pkg_replace_items = { '@LIBCROCO_MAJOR_VERSION@': croco_version[0], '@LIBCROCO_MINOR_VERSION@': croco_version[1] } pkg_replace_items.update(base_pc.base_replace_items) # Generate libcroco-x.y.pc replace_multi( base_pc.top_srcdir + '/libcroco.pc.in', base_pc.srcdir + '/libcroco-' + croco_version[0] + '.' + croco_version[1] + '.pc', pkg_replace_items)
def gen_version_h(argv): top_srcdir = os.path.dirname(__file__) + "\\.." parser = argparse.ArgumentParser(description='Generate gtksourceversion.h') parser.add_argument('--version', help='Version of the package', required=True) args = parser.parse_args() version_info = args.version.split('.') version_h_replace_items = {'@GTK_SOURCE_MAJOR_VERSION@': version_info[0], '@GTK_SOURCE_MINOR_VERSION@': version_info[1], '@GTK_SOURCE_MICRO_VERSION@': version_info[2]} # Generate gtksourceversion.h replace_multi(top_srcdir + '/gtksourceview/gtksourceversion.h.in', top_srcdir + '/gtksourceview/gtksourceversion.h', version_h_replace_items)
def main(argv): rsvg_api_ver = '2.0' base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@RSVG_API_MAJOR_VERSION@': rsvg_api_ver, '@RSVG_API_VERSION@': rsvg_api_ver, ' -lm': '' } pkg_replace_items.update(base_pc.base_replace_items) # Generate librsvg-$(rsvg_api_ver).pc replace_multi(base_pc.top_srcdir + '/librsvg.pc.in', base_pc.srcdir + '/librsvg-' + rsvg_api_ver + '.pc', pkg_replace_items)
def main(argv): parser = argparse.ArgumentParser(description='Setup basic libpsl.pc file info') parser.add_argument('--name', help='Name of package', required=True) parser.add_argument('--url', help='Package Home Page URL', required=True) base_pc = BasePCItems() base_pc.setup(argv, parser) args = parser.parse_args() pc_replace_items = {'@PACKAGE_NAME@': args.name, '@PACKAGE_VERSION@': args.version, '@PACKAGE_URL@': args.url} pc_replace_items.update(base_pc.base_replace_items) # Generate libpsl.pc replace_multi(base_pc.top_srcdir + '/libpsl.pc.in', base_pc.srcdir + '/libpsl.pc', pc_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {'@GDK_PIXBUF_API_VERSION@': '2.0', '@GDK_PIXBUF_BINARY_VERSION@': '2.10.0', '@PNG_DEP_CFLAGS_PACKAGES@': '', '@GDK_PIXBUF_EXTRA_LIBS@': '', '@GDK_PIXBUF_EXTRA_CFLAGS@': ''} pkg_replace_items.update(base_pc.base_replace_items) # Generate gdk-pixbuf-2.0.pc.tmp to replace the module directory replace_multi(base_pc.top_srcdir + '/gdk-pixbuf-2.0.pc.in', base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp', pkg_replace_items) replace(base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp', base_pc.srcdir + '/gdk-pixbuf-2.0.pc', '${prefix}/lib/gdk-pixbuf', '${exec_prefix}/lib/gdk-pixbuf') os.unlink(base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp')
def main(argv): srcdir = os.path.dirname(__file__) top_srcdir = os.path.join(srcdir, os.pardir) parser = argparse.ArgumentParser(description='Generate gdkversionmacros.h') parser.add_argument('--version', help='Version of the package', required=True) args = parser.parse_args() gdk_sourcedir = os.path.join(top_srcdir, 'gdk') version_parts = args.version.split('.') gdkversionmacro_replace_items = { '@GTK_MAJOR_VERSION@': version_parts[0], '@GTK_MINOR_VERSION@': version_parts[1], '@GTK_MICRO_VERSION@': version_parts[2] } replace_multi(os.path.join(gdk_sourcedir, 'gdkversionmacros.h.in'), os.path.join(gdk_sourcedir, 'gdkversionmacros.h'), gdkversionmacro_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@GDK_PIXBUF_API_VERSION@': '2.0', '@GDK_PIXBUF_BINARY_VERSION@': '2.10.0', '@PNG_DEP_CFLAGS_PACKAGES@': '', '@GDK_PIXBUF_EXTRA_LIBS@': '', '@GDK_PIXBUF_EXTRA_CFLAGS@': '' } pkg_replace_items.update(base_pc.base_replace_items) # Generate gdk-pixbuf-2.0.pc.tmp to replace the module directory replace_multi(base_pc.top_srcdir + '/gdk-pixbuf-2.0.pc.in', base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp', pkg_replace_items) replace(base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp', base_pc.srcdir + '/gdk-pixbuf-2.0.pc', '${prefix}/lib/gdk-pixbuf', '${exec_prefix}/lib/gdk-pixbuf') os.unlink(base_pc.srcdir + '/gdk-pixbuf-2.0.pc.tmp')
def main(argv): parser = argparse.ArgumentParser(description='Setup basic libpsl.pc file info') parser.add_argument('--name', help='Name of package', required=True) parser.add_argument('--url', help='Package Home Page URL', required=True) base_pc = BasePCItems() base_pc.setup(argv, parser) args = parser.parse_args() pc_replace_items = {'@PACKAGE_NAME@': args.name, '@PACKAGE_VERSION@': args.version, '@PACKAGE_URL@': args.url} pc_replace_items.update(base_pc.base_replace_items) # Generate libpsl.pc replace_multi(base_pc.top_srcdir + '/libpsl.pc.in', base_pc.srcdir + '/libpsl.pc', pc_replace_items) return 0
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, glib-genmarshal or gdbus-codegen')
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', '@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, glib-genmarshal or gdbus-codegen')
def main(argv): parser = argparse.ArgumentParser( description='Generate the complete cairo-1.0.gir') parser.add_argument( '--dllname', required=True, help= 'Full file name of the Cairo-GObject DLL for the Cairo Introspection File' ) args = parser.parse_args() # Get the srcroot and the path where the bundled .gir files reside in the package srcroot = parent_dir(parent_dir(__file__)) preset_gir_path = os.path.join(srcroot, 'gir') # Set up variables in cairo-1.0.gir.in to produce cairo-1.0.gir cairo_replace_items = { '%CAIRO_GIR_PACKAGE%': 'cairo-gobject', '%CAIRO_SHARED_LIBRARY%': args.dllname } replace.replace_multi(os.path.join(preset_gir_path, 'cairo-1.0.gir.in'), 'cairo-1.0.gir', cairo_replace_items)
def main(argv): base_pc = BasePCItems() gdk_parser = argparse.ArgumentParser( description='Setup basic .pc file info') gdk_parser.add_argument('--host', required=True, help='Build type') base_pc.setup(argv, gdk_parser) atk_min_ver = '1.29.2' cairo_min_ver = '1.6' gdk_pixbuf_min_ver = '2.21.0' gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -lwinmm' glib_min_ver = '2.28.0' cairo_backends = 'cairo-win32' gdktarget = 'win32' gio_package = 'gio-2.0 >= ' + glib_min_ver gdk_args = gdk_parser.parse_args() pkg_replace_items = {'@GTK_API_VERSION@': '2.0', '@gdktarget@': gdktarget} pkg_required_packages = 'gdk-pixbuf-2.0 >= ' + gdk_pixbuf_min_ver + ' ' + \ 'cairo >= ' + cairo_min_ver + ' ' gdk_pc_replace_items = {'@GDK_PACKAGES@': gio_package + ' ' + \ 'pangowin32 pangocairo' + ' ' + \ pkg_required_packages, '@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends, '@GDK_EXTRA_LIBS@': gdk_win32_sys_libs, '@GDK_EXTRA_CFLAGS@': ''} gtk_pc_replace_items = {'@host@': gdk_args.host, '@GTK_BINARY_VERSION@': '2.10.0', '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \ pkg_required_packages + ' ' + \ gio_package, '@GTK_PRIVATE_PACKAGES@': 'atk', '@GTK_EXTRA_CFLAGS@': '', '@GTK_EXTRA_LIBS@': '', '@GTK_EXTRA_CFLAGS@': ''} pkg_replace_items.update(base_pc.base_replace_items) gdk_pc_replace_items.update(pkg_replace_items) gtk_pc_replace_items.update(pkg_replace_items) # Generate gdk-2.0.pc replace_multi(base_pc.top_srcdir + '/gdk-2.0.pc.in', base_pc.srcdir + '/gdk-2.0.pc', gdk_pc_replace_items) # Generate gtk+-2.0.pc replace_multi(base_pc.top_srcdir + '/gtk+-2.0.pc.in', base_pc.srcdir + '/gtk+-2.0.pc', gtk_pc_replace_items) # Generate gail.pc replace_multi(base_pc.top_srcdir + '/gail.pc.in', base_pc.srcdir + '/gail.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() pango_parser = argparse.ArgumentParser(description='Setup basic .pc file info') pango_parser.add_argument('--pangoft2', action='store_const', const=1, help='Create .pc for PangoFT2') base_pc.setup(argv, pango_parser) base_pkg_replace_items = {'@PANGO_API_VERSION@': '1.0', '-lm': ''} base_pkg_replace_items.update(base_pc.base_replace_items) # Generate pango.pc replace_multi(base_pc.top_srcdir + '/pango.pc.in', base_pc.srcdir + '/pango.pc', base_pkg_replace_items) # Generate pangowin32.pc replace_multi(base_pc.top_srcdir + '/pangowin32.pc.in', base_pc.srcdir + '/pangowin32.pc', base_pkg_replace_items) # Generate pangoft2.pc, if requested pango_args = pango_parser.parse_args() if getattr(pango_args, 'pangoft2', None) is 1: replace_multi(base_pc.top_srcdir + '/pangoft2.pc.in', base_pc.srcdir + '/pangoft2.pc', base_pkg_replace_items) # Generate pangocairo.pc pangocairo_replace_items = {'@PKGCONFIG_CAIRO_REQUIRES@': 'cairo'} pangocairo_replace_items.update(base_pkg_replace_items) replace_multi(base_pc.top_srcdir + '/pangocairo.pc.in', base_pc.srcdir + '/pangocairo.pc', pangocairo_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@G_THREAD_CFLAGS@': '', '@G_THREAD_LIBS@': '', '@CARBON_LIBS@': '', '@COCOA_LIBS@': '' } glib_replace_items = { 'glib-genmarshal': '${exec_prefix}/bin/glib-genmarshal', 'glib-mkenums': 'perl ${exec_prefix}/bin/glib-mkenums', 'gobject-query': '${exec_prefix}/bin/gobject-query', '@PCRE_REQUIRES@': '', '@INTLLIBS@': '-lintl', '@G_LIBS_EXTRA@': '', '@PCRE_LIBS@': '', '@ICONV_LIBS@': '-liconv', '@GLIB_EXTRA_CFLAGS@': '' } pkg_replace_items.update(base_pc.base_replace_items) glib_replace_items.update(pkg_replace_items) # Generate glib-2.0.pc replace_multi(base_pc.top_srcdir + '/glib-2.0.pc.in', base_pc.srcdir + '/glib-2.0.pc', glib_replace_items) # Generate gthread-2.0.pc replace_multi(base_pc.top_srcdir + '/gthread-2.0.pc.in', base_pc.srcdir + '/gthread-2.0.pc', pkg_replace_items) # Generate gmodule*-2.0.pc gmodule_replace_items = { '@G_MODULE_SUPPORTED@': 'yes', '@G_MODULE_LDFLAGS@': '', '@G_MODULE_LIBS@': '' } gmodule_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-2.0.pc.in', base_pc.srcdir + '/gmodule-2.0.pc', gmodule_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-export-2.0.pc.in', base_pc.srcdir + '/gmodule-export-2.0.pc', gmodule_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-no-export-2.0.pc.in', base_pc.srcdir + '/gmodule-no-export-2.0.pc', gmodule_replace_items) # Generate gobject-2.0.pc gobject_replace_items = {'@LIBFFI_LIBS@': ''} gobject_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gobject-2.0.pc.in', base_pc.srcdir + '/gobject-2.0.pc', gobject_replace_items) # Generate gio*-2.0.pc gio_replace_items = { '@GIO_MODULE_DIR@': '${exec_prefix}/bin/gio/modules', '@ZLIB_LIBS@': '-lzlib1', '@NETWORK_LIBS@': '-lws2_32', '@SELINUX_LIBS@': '', 'glib-compile-schemas': '${exec_prefix}/bin/glib-compile-schemas', 'glib-compile-resources': '${exec_prefix}/bin/glib-compile-resources', 'gdbus-codegen': 'python ${exec_prefix}/bin/gdbus-codegen' } gio_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gio-2.0.pc.in', base_pc.srcdir + '/gio-2.0.pc', gio_replace_items) replace_multi(base_pc.top_srcdir + '/gio-windows-2.0.pc.in', base_pc.srcdir + '/gio-windows-2.0.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() gdk_parser = argparse.ArgumentParser( description='Setup basic .pc file info') gdk_parser.add_argument('--broadway', action='store_const', const=1, help='GDK with Broadway backend') gdk_parser.add_argument('--host', required=True, help='Build type') base_pc.setup(argv, gdk_parser) atk_min_ver = '2.15.1' cairo_min_ver = '1.15.2' gdk_pixbuf_min_ver = '2.30.0' gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi' glib_min_ver = '2.49.4' epoxy_min_ver = '1.0' graphene_min_ver = '1.2' cairo_backends = 'cairo-win32' gdk_backends = 'win32' gio_package = 'gio-2.0 >= ' + glib_min_ver broadway_extra_libs = '' gdk_args = gdk_parser.parse_args() if getattr(gdk_args, 'broadway', None) is 1: # On Visual Studio, we link to zlib1.lib broadway_extra_libs = '-lzlib1' gdk_backends += ' broadway' cairo_backends += ' cairo' pkg_replace_items = { '@GTK_API_VERSION@': '4.0', '@GDK_BACKENDS@': gdk_backends } pkg_required_packages = 'gdk-pixbuf >= ' + gdk_pixbuf_min_ver + ' ' + \ 'cairo >= ' + cairo_min_ver + ' ' + \ 'cairo-gobject >= ' + cairo_min_ver gtk_pc_replace_items = {'@host@': gdk_args.host, '@GTK_BINARY_VERSION@': '4.0.0', '@GDK_PACKAGES@': gio_package + ' ' + \ 'pangowin32 pangocairo' + ' ' + \ pkg_required_packages, '@GSK_PACKAGES@': pkg_required_packages + ' ' + \ 'graphene-1.0 >= ' + graphene_min_ver, '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \ pkg_required_packages + ' ' + \ gio_package, '@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends, '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver, '@GTK_PRIVATE_PACKAGES@': 'atk', '@GDK_EXTRA_CFLAGS@': '', '@GSK_EXTRA_CFLAGS@': '', '@GTK_EXTRA_CFLAGS@': '', '@GDK_EXTRA_LIBS@': gdk_win32_sys_libs + broadway_extra_libs, '@GSK_EXTRA_LIBS@': '', '@GTK_EXTRA_LIBS@': ''} pkg_replace_items.update(base_pc.base_replace_items) gtk_pc_replace_items.update(pkg_replace_items) # Generate gtk+-4.0.pc replace_multi(base_pc.top_srcdir + '/gtk+-4.0.pc.in', base_pc.srcdir + '/gtk+-4.0.pc', gtk_pc_replace_items)
def main(argv): base_pc = BasePCItems() gdk_parser = argparse.ArgumentParser(description='Setup basic .pc file info') gdk_parser.add_argument('--vulkan', action='store_const', const=1, help='GSK with Vulkan renderer') gdk_parser.add_argument('--host', required=True, help='Build type') base_pc.setup(argv, gdk_parser) atk_min_ver = '2.15.1' cairo_min_ver = '1.15.2' gdk_pixbuf_min_ver = '2.30.0' gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi' glib_min_ver = '2.49.4' epoxy_min_ver = '1.0' graphene_min_ver = '1.2' cairo_backends = 'cairo-win32' gdk_backends = 'win32' gio_package = 'gio-2.0 >= ' + glib_min_ver vulkan_extra_libs = '' gdk_args = gdk_parser.parse_args() if getattr(gdk_args, 'vulkan', None) is 1: # On Visual Studio, we link to zlib1.lib vulkan_extra_libs = ' -lvulkan-1' gdk_backends += ' vulkan' cairo_backends += ' cairo' pkg_replace_items = {'@GTK_API_VERSION@': '4.0', '@GDK_BACKENDS@': gdk_backends} pkg_required_packages = 'gdk-pixbuf >= ' + gdk_pixbuf_min_ver + ' ' + \ 'cairo >= ' + cairo_min_ver + ' ' + \ 'cairo-gobject >= ' + cairo_min_ver gtk_pc_replace_items = {'@host@': gdk_args.host, '@GTK_BINARY_VERSION@': '4.0.0', '@GDK_PACKAGES@': gio_package + ' ' + \ 'pangowin32 pangocairo' + ' ' + \ pkg_required_packages, '@GSK_PACKAGES@': pkg_required_packages + ' ' + \ 'graphene-1.0 >= ' + graphene_min_ver, '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \ pkg_required_packages + ' ' + \ gio_package, '@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends, '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver, '@GTK_PRIVATE_PACKAGES@': 'atk', '@GDK_EXTRA_CFLAGS@': '', '@GSK_EXTRA_CFLAGS@': '', '@GTK_EXTRA_CFLAGS@': '', '@GDK_EXTRA_LIBS@': gdk_win32_sys_libs + vulkan_extra_libs, '@GSK_EXTRA_LIBS@': '', '@GTK_EXTRA_LIBS@': ''} pkg_replace_items.update(base_pc.base_replace_items) gtk_pc_replace_items.update(pkg_replace_items) # Generate gtk+-4.0.pc replace_multi(base_pc.top_srcdir + '/gtk+-4.0.pc.in', base_pc.srcdir + '/gtk+-4.0.pc', gtk_pc_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = { '@bindir@': '${exec_prefix}/bin', '@datarootdir@': '${exec_prefix}/share', '@datadir@': '${datarootdir}', '@EXEEXT@': '.exe', '@FFI_PC_CFLAGS@': '', '@FFI_PC_PACKAGES@': '', '@FFI_PC_LIBS@': '', '${bindir}/g-ir-scanner': 'python ${bindir}/g-ir-scanner' } pkg_replace_items.update(base_pc.base_replace_items) # Generate gobject-introspection-1.0.pc replace_multi(base_pc.top_srcdir + '/gobject-introspection-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-1.0.pc', pkg_replace_items) # Generate gobject-introspection-no-export-1.0.pc replace_multi( base_pc.top_srcdir + '/gobject-introspection-no-export-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-no-export-1.0.pc', pkg_replace_items) # Generate a generic .pc file for Cairo, that is just sufficient for our purposes cairo_version = '1.14.6' # Use the latest stable version, for now. cairo_pc = open(base_pc.srcdir + '/cairo.pc', 'w') cairo_pc.write('prefix=' + base_pc.prefix + '\n') cairo_pc.write('exec_prefix=${prefix}\n') cairo_pc.write('libdir=${prefix}/lib\n') cairo_pc.write('includedir=${prefix}/include\n\n') cairo_pc.write('Name: cairo\n') cairo_pc.write('Description: generic cairo pkg-config file\n') cairo_pc.write('Version: ' + cairo_version + '\n\n') cairo_pc.write('Requires.private:\n') cairo_pc.write('Libs: -L${libdir} -lcairo\n') cairo_pc.write('Libs.private:\n') cairo_pc.write('Cflags: -I${includedir}\n') cairo_pc.close() # Generate a generic .pc file for Cairo-Win32, that is just sufficient for our # purposes # Just make a copy of the cairo.pc we just generated and replace the items as needed cairo_win32_replace_items = \ {'generic cairo pkg-config file': 'generic cairo-win32 pkg-config file'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/cairo-win32.pc', cairo_win32_replace_items) # Generate a generic .pc file for Cairo-GObject, that is just sufficient for our # purposes # Just make a copy of the cairo.pc we just generated and replace the items as needed cairo_gobject_replace_items = \ {'Requires.private:': 'Requires.private: gobject-2.0,glib-2.0', 'generic cairo pkg-config file': 'generic cairo-gobject pkg-config file', '-lcairo': '-lcairo-gobject'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/cairo-gobject.pc', cairo_gobject_replace_items) # Generate a generic .pc file for libxml2, that is just sufficient for our purposes libxml2_version = '2.9.3' # Use the latest stable version, for now. libxml2_replace_items = \ {'Name: cairo': 'Name: libXML', 'Version: ' + cairo_version: 'Version: ' + libxml2_version, 'generic cairo pkg-config file': 'generic libXML2 pkg-config file', '-lcairo': '-llibxml2', 'Cflags: -I${includedir}': 'Cflags: -I${includedir}/libxml2'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/libxml-2.0.pc', libxml2_replace_items) # Generate a generic .pc file for freetype2, that is just sufficient for our purposes ft2_version = '2.6.3' # Use the latest stable version, for now. ft2_replace_items = \ {'Name: cairo': 'Name: FreeType 2', 'Version: ' + cairo_version: 'Version: ' + ft2_version, 'generic cairo pkg-config file': 'generic FreeType2 pkg-config file', '-lcairo': '-lfreetype'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/freetype2.pc', ft2_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {'@bindir@': '${exec_prefix}/bin', '@datarootdir@': '${exec_prefix}/share', '@datadir@': '${datarootdir}', '@EXEEXT@': '.exe', '@FFI_PC_CFLAGS@': '', '@FFI_PC_PACKAGES@': '', '@FFI_PC_LIBS@': '', '${bindir}/g-ir-scanner': 'python ${bindir}/g-ir-scanner'} pkg_replace_items.update(base_pc.base_replace_items) # Generate gobject-introspection-1.0.pc replace_multi(base_pc.top_srcdir + '/gobject-introspection-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-1.0.pc', pkg_replace_items) # Generate gobject-introspection-no-export-1.0.pc replace_multi(base_pc.top_srcdir + '/gobject-introspection-no-export-1.0.pc.in', base_pc.srcdir + '/gobject-introspection-no-export-1.0.pc', pkg_replace_items) # Generate a generic .pc file for Cairo, that is just sufficient for our purposes cairo_version = '1.14.6' # Use the latest stable version, for now. cairo_pc = open(base_pc.srcdir + '/cairo.pc', 'w') cairo_pc.write('prefix=' + base_pc.prefix + '\n') cairo_pc.write('exec_prefix=${prefix}\n') cairo_pc.write('libdir=${prefix}/lib\n') cairo_pc.write('includedir=${prefix}/include\n\n') cairo_pc.write('Name: cairo\n') cairo_pc.write('Description: generic cairo pkg-config file\n') cairo_pc.write('Version: ' + cairo_version + '\n\n') cairo_pc.write('Requires.private:\n') cairo_pc.write('Libs: -L${libdir} -lcairo\n') cairo_pc.write('Libs.private:\n') cairo_pc.write('Cflags: -I${includedir}\n') cairo_pc.close() # Generate a generic .pc file for Cairo-Win32, that is just sufficient for our # purposes # Just make a copy of the cairo.pc we just generated and replace the items as needed cairo_win32_replace_items = \ {'generic cairo pkg-config file': 'generic cairo-win32 pkg-config file'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/cairo-win32.pc', cairo_win32_replace_items) # Generate a generic .pc file for Cairo-GObject, that is just sufficient for our # purposes # Just make a copy of the cairo.pc we just generated and replace the items as needed cairo_gobject_replace_items = \ {'Requires.private:': 'Requires.private: gobject-2.0,glib-2.0', 'generic cairo pkg-config file': 'generic cairo-gobject pkg-config file', '-lcairo': '-lcairo-gobject'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/cairo-gobject.pc', cairo_gobject_replace_items) # Generate a generic .pc file for libxml2, that is just sufficient for our purposes libxml2_version = '2.9.3' # Use the latest stable version, for now. libxml2_replace_items = \ {'Name: cairo': 'Name: libXML', 'Version: ' + cairo_version: 'Version: ' + libxml2_version, 'generic cairo pkg-config file': 'generic libXML2 pkg-config file', '-lcairo': '-llibxml2', 'Cflags: -I${includedir}': 'Cflags: -I${includedir}/libxml2'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/libxml-2.0.pc', libxml2_replace_items) # Generate a generic .pc file for freetype2, that is just sufficient for our purposes ft2_version = '2.6.3' # Use the latest stable version, for now. ft2_replace_items = \ {'Name: cairo': 'Name: FreeType 2', 'Version: ' + cairo_version: 'Version: ' + ft2_version, 'generic cairo pkg-config file': 'generic FreeType2 pkg-config file', '-lcairo': '-lfreetype'} replace_multi(base_pc.srcdir + '/cairo.pc', base_pc.srcdir + '/freetype2.pc', ft2_replace_items)
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {"@G_THREAD_CFLAGS@": "", "@G_THREAD_LIBS@": "", "@CARBON_LIBS@": "", "@COCOA_LIBS@": ""} glib_replace_items = { "glib-genmarshal": "${exec_prefix}/bin/glib-genmarshal", "glib-mkenums": "perl ${exec_prefix}/bin/glib-mkenums", "gobject-query": "${exec_prefix}/bin/gobject-query", "@PCRE_REQUIRES@": "", "@INTLLIBS@": "-lintl", "@G_LIBS_EXTRA@": "", "@PCRE_LIBS@": "", "@ICONV_LIBS@": "-liconv", "@GLIB_EXTRA_CFLAGS@": "", } pkg_replace_items.update(base_pc.base_replace_items) glib_replace_items.update(pkg_replace_items) # Generate glib-2.0.pc replace_multi(base_pc.top_srcdir + "/glib-2.0.pc.in", base_pc.srcdir + "/glib-2.0.pc", glib_replace_items) # Generate gthread-2.0.pc replace_multi(base_pc.top_srcdir + "/gthread-2.0.pc.in", base_pc.srcdir + "/gthread-2.0.pc", pkg_replace_items) # Generate gmodule*-2.0.pc gmodule_replace_items = {"@G_MODULE_SUPPORTED@": "yes", "@G_MODULE_LDFLAGS@": "", "@G_MODULE_LIBS@": ""} gmodule_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + "/gmodule-2.0.pc.in", base_pc.srcdir + "/gmodule-2.0.pc", gmodule_replace_items) replace_multi( base_pc.top_srcdir + "/gmodule-export-2.0.pc.in", base_pc.srcdir + "/gmodule-export-2.0.pc", gmodule_replace_items, ) replace_multi( base_pc.top_srcdir + "/gmodule-no-export-2.0.pc.in", base_pc.srcdir + "/gmodule-no-export-2.0.pc", gmodule_replace_items, ) # Generate gobject-2.0.pc gobject_replace_items = {"@LIBFFI_LIBS@": ""} gobject_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + "/gobject-2.0.pc.in", base_pc.srcdir + "/gobject-2.0.pc", gobject_replace_items) # Generate gio*-2.0.pc gio_replace_items = { "@GIO_MODULE_DIR@": "${exec_prefix}/bin/gio/modules", "@ZLIB_LIBS@": "-lzlib1", "@NETWORK_LIBS@": "-lws2_32", "@SELINUX_LIBS@": "", "glib-compile-schemas": "${exec_prefix}/bin/glib-compile-schemas", "glib-compile-resources": "${exec_prefix}/bin/glib-compile-resources", "gdbus-codegen": "python ${exec_prefix}/bin/gdbus-codegen", } gio_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + "/gio-2.0.pc.in", base_pc.srcdir + "/gio-2.0.pc", gio_replace_items) replace_multi( base_pc.top_srcdir + "/gio-windows-2.0.pc.in", base_pc.srcdir + "/gio-windows-2.0.pc", pkg_replace_items )
def main(argv): base_pc = BasePCItems() base_pc.setup(argv) pkg_replace_items = {'@G_THREAD_CFLAGS@': '', '@G_THREAD_LIBS@': '', '@CARBON_LIBS@': '', '@COCOA_LIBS@': ''} glib_replace_items = {'glib-genmarshal': '${exec_prefix}/bin/glib-genmarshal', 'glib-mkenums': 'perl ${exec_prefix}/bin/glib-mkenums', 'gobject-query': '${exec_prefix}/bin/gobject-query', '@PCRE_REQUIRES@': '', '@INTLLIBS@': '-lintl', '@G_LIBS_EXTRA@': '', '@PCRE_LIBS@': '', '@ICONV_LIBS@': '-liconv', '@GLIB_EXTRA_CFLAGS@': ''} pkg_replace_items.update(base_pc.base_replace_items) glib_replace_items.update(pkg_replace_items) # Generate glib-2.0.pc replace_multi(base_pc.top_srcdir + '/glib-2.0.pc.in', base_pc.srcdir + '/glib-2.0.pc', glib_replace_items) # Generate gthread-2.0.pc replace_multi(base_pc.top_srcdir + '/gthread-2.0.pc.in', base_pc.srcdir + '/gthread-2.0.pc', pkg_replace_items) # Generate gmodule*-2.0.pc gmodule_replace_items = {'@G_MODULE_SUPPORTED@': 'yes', '@G_MODULE_LDFLAGS@': '', '@G_MODULE_LIBS@': ''} gmodule_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-2.0.pc.in', base_pc.srcdir + '/gmodule-2.0.pc', gmodule_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-export-2.0.pc.in', base_pc.srcdir + '/gmodule-export-2.0.pc', gmodule_replace_items) replace_multi(base_pc.top_srcdir + '/gmodule-no-export-2.0.pc.in', base_pc.srcdir + '/gmodule-no-export-2.0.pc', gmodule_replace_items) # Generate gobject-2.0.pc gobject_replace_items = {'@LIBFFI_LIBS@': ''} gobject_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gobject-2.0.pc.in', base_pc.srcdir + '/gobject-2.0.pc', gobject_replace_items) # Generate gio*-2.0.pc gio_replace_items = {'@GIO_MODULE_DIR@': '${exec_prefix}/bin/gio/modules', '@ZLIB_LIBS@': '-lzlib1', '@NETWORK_LIBS@': '-lws2_32', '@SELINUX_LIBS@': '', '@LIBMOUNT_LIBS@': '', 'glib-compile-schemas': '${exec_prefix}/bin/glib-compile-schemas', 'glib-compile-resources': '${exec_prefix}/bin/glib-compile-resources', 'gdbus-codegen': 'python ${exec_prefix}/bin/gdbus-codegen'} gio_replace_items.update(pkg_replace_items) replace_multi(base_pc.top_srcdir + '/gio-2.0.pc.in', base_pc.srcdir + '/gio-2.0.pc', gio_replace_items) replace_multi(base_pc.top_srcdir + '/gio-windows-2.0.pc.in', base_pc.srcdir + '/gio-windows-2.0.pc', pkg_replace_items)
def main(argv): base_pc = BasePCItems() gdk_parser = argparse.ArgumentParser(description='Setup basic .pc file info') gdk_parser.add_argument('--broadway', action='store_const', const=1, help='GDK with Broadway backend') gdk_parser.add_argument('--host', required=True, help='Build type') base_pc.setup(argv, gdk_parser) atk_min_ver = '2.15.1' cairo_min_ver = '1.14.0' gdk_pixbuf_min_ver = '2.30.0' gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -lwinmm -ldwmapi' cairo_libs = '-lcairo-gobject -lcairo ' glib_min_ver = '2.45.8' gdk_backends = 'win32' gio_package = 'gio-2.0 >= ' + glib_min_ver broadway_extra_libs = '' gdk_args = gdk_parser.parse_args() if getattr(gdk_args, 'broadway', None) is 1: # On Visual Studio, we link to zlib1.lib broadway_extra_libs = ' -lzlib1' gdk_backends += ' broadway' pkg_replace_items = {'@GTK_API_VERSION@': '3.0', '@GDK_BACKENDS@': gdk_backends} pkg_required_packages = 'gdk-pixbuf-2.0 >= ' + gdk_pixbuf_min_ver gdk_pc_replace_items = {'@GDK_PACKAGES@': gio_package + ' ' + \ 'pangowin32 pangocairo' + ' ' + \ pkg_required_packages, '@GDK_PRIVATE_PACKAGES@': gio_package, '@GDK_EXTRA_LIBS@': cairo_libs + gdk_win32_sys_libs + broadway_extra_libs, '@GDK_EXTRA_CFLAGS@': '', 'gdk-3': 'gdk-3.0'} gtk_pc_replace_items = {'@host@': gdk_args.host, '@GTK_BINARY_VERSION@': '3.0.0', '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \ pkg_required_packages + ' ' + \ gio_package, '@GTK_PRIVATE_PACKAGES@': 'atk', '@GTK_EXTRA_CFLAGS@': '', '@GTK_EXTRA_LIBS@': '', '@GTK_EXTRA_CFLAGS@': '', 'gtk-3': 'gtk-3.0'} gail_pc_replace_items = {'gailutil-3': 'gailutil-3.0'} pkg_replace_items.update(base_pc.base_replace_items) gdk_pc_replace_items.update(pkg_replace_items) gtk_pc_replace_items.update(pkg_replace_items) gail_pc_replace_items.update(base_pc.base_replace_items) # Generate gdk-3.0.pc replace_multi(base_pc.top_srcdir + '/gdk-3.0.pc.in', base_pc.srcdir + '/gdk-3.0.pc', gdk_pc_replace_items) # Generate gtk+-3.0.pc replace_multi(base_pc.top_srcdir + '/gtk+-3.0.pc.in', base_pc.srcdir + '/gtk+-3.0.pc', gtk_pc_replace_items) # Generate gail-3.0.pc replace_multi(base_pc.top_srcdir + '/gail-3.0.pc.in', base_pc.srcdir + '/gail-3.0.pc', gail_pc_replace_items)