From 46802d33e1c1f7bfeda3784eceedb4aae1459106 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Thu, 3 Apr 2014 15:49:05 +0800 Subject: Visual C++ Builds: Build Introspection for GdkWin32 Add support to build the introspection files for GdkWin32, as done recently in the autotools builds and clean up the NMake Makefile for building the introspection files a bit. For some reason, gdk_win32_display_manager_get_type() was not exported in gdk-3.0.lib, force its export, so that the GdkWin32-3.0.gir can be built properly with the Visual C++ builds. This is a known problem that some symbols in static libraries that are linked into a DLL in Visual C++, even if they were marked with __declspec(dllexport) via _GDK_EXTERN. --- build/gen-file-list-gtk.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'build/gen-file-list-gtk.py') diff --git a/build/gen-file-list-gtk.py b/build/gen-file-list-gtk.py index 34a46fd1fc..f25cf4ae50 100644 --- a/build/gen-file-list-gtk.py +++ b/build/gen-file-list-gtk.py @@ -28,10 +28,23 @@ def gen_gdk_filelist(srcroot, subdir, dest): for i in sources: d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n') -def gen_filelist_gtk(srcroot, subdir, dest): +def gen_gdkwin32_filelist(srcroot, subdir, dest): + vars = read_vars_from_AM(os.path.join(srcroot, subdir, 'Makefile.am'), + vars = {}, + conds = {'HAVE_INTROSPECTION': True, + 'OS_WIN32': True}, + filters = ['w32_introspection_files']) + + files = vars['w32_introspection_files'].split() + + with open(dest, 'w') as d: + for i in files: + d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n') + +def gen_gtk_filelist(srcroot, subdir, dest): vars = read_vars_from_AM(os.path.join(srcroot, 'gtk', 'Makefile.am'), vars = {}, - conds = {'USE_WIN32':True, + conds = {'USE_WIN32': True, 'USE_QUARTZ': False, 'USE_X11': False, 'USE_EXTERNAL_ICON_CACHE': False}, @@ -60,7 +73,8 @@ def main(argv): subdir_gtk = 'gtk' gen_gdk_filelist(srcroot, subdir_gdk, 'gdk_list') - gen_filelist_gtk(srcroot, subdir_gtk, 'gtk_list') + gen_gdkwin32_filelist(srcroot, subdir_gdk, 'gdkwin32_list') + gen_gtk_filelist(srcroot, subdir_gtk, 'gtk_list') return 0 if __name__ == '__main__': -- cgit v1.2.1