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__':
diff --git a/build/gtk-introspection-msvc.mak b/build/gtk-introspection-msvc.mak
index 2da6c48e67..ba6c4415fa 100644
--- a/build/gtk-introspection-msvc.mak
+++ b/build/gtk-introspection-msvc.mak
@@ -6,6 +6,9 @@ APIVERSION = 3.0
CHECK_PACKAGE = gdk-pixbuf-2.0 atk pangocairo gio-2.0
+built_install_girs = Gdk-$(APIVERSION).gir GdkWin32-$(APIVERSION).gir Gtk-$(APIVERSION).gir
+built_install_typelibs = Gdk-$(APIVERSION).typelib GdkWin32-$(APIVERSION).typelib Gtk-$(APIVERSION).typelib
+
!if "$(PLAT)" == "x64"
TIME_T_DEFINE = -Dtime_t=long long
!else
@@ -15,9 +18,9 @@ TIME_T_DEFINE = -Dtime_t=long
!include introspection-msvc.mak
!if "$(BUILD_INTROSPECTION)" == "TRUE"
-all: setgirbuildnev Gdk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib Gtk-$(APIVERSION).gir Gtk-$(APIVERSION).typelib
+all: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
-gdk_list gtk_list:
+gdk_list gdkwin32_list gtk_list:
@-echo Generating Filelist to Introspect for GDK/GTK...
$(PYTHON2) gen-file-list-gtk.py
@@ -28,6 +31,10 @@ setgirbuildnev:
@set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
@set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(LIB)
+win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).lib: win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\gdk-$(APIVERSION).lib
+ @-echo Copying win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).lib from win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\gdk-$(APIVERSION).lib...
+ @-copy /b win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\gdk-$(APIVERSION).lib win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).lib
+
Gdk-$(APIVERSION).gir: gdk_list
@-echo Generating Gdk-$(APIVERSION).gir...
$(PYTHON2) $(G_IR_SCANNER) --verbose -I.. -I..\gdk \
@@ -41,7 +48,22 @@ Gdk-$(APIVERSION).gir: gdk_list
--reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
--pkg-export gdk-3.0 --warn-all --c-include="gdk/gdk.h" \
-DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION \
- --filelist=gdk_list -o Gdk-3.0.gir
+ --filelist=gdk_list -o $@
+
+GdkWin32-$(APIVERSION).gir: gdkwin32_list win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).lib
+ @-echo Generating GdkWin32-$(APIVERSION).gir...
+ $(PYTHON2) $(G_IR_SCANNER) --verbose -I.. -I..\gdk \
+ -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include \
+ -I$(BASEDIR)\include\pango-1.0 -I$(BASEDIR)\include\atk-1.0 \
+ -I$(BASEDIR)\include\gdk-pixbuf-2.0 -I$(BASEDIR)\include \
+ $(TIME_T_DEFINE) --namespace=GdkWin32 --nsversion=3.0 \
+ --include=Gio-2.0 --include=GdkPixbuf-2.0 \
+ --include=Pango-1.0 --include-uninstalled=./Gdk-$(APIVERSION).gir \
+ --no-libtool --library=gdk-3.0 \
+ --reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
+ --pkg-export gdk-win32-3.0 --warn-all --c-include="gdk/gdkwin32.h" \
+ -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION \
+ --filelist=gdkwin32_list -o $@
Gtk-$(APIVERSION).gir: gtk_list
$(PYTHON2) $(G_IR_SCANNER) --verbose -I.. -I..\gtk -I..\gdk \
@@ -56,7 +78,7 @@ Gtk-$(APIVERSION).gir: gtk_list
--pkg-export gtk+-3.0 --warn-all --c-include="gtk/gtkx.h" \
-DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/dummy/lib\" \
$(TIME_T_DEFINE) -DGTK_DATADIR=\"/dummy/share\" -DGTK_DATA_PREFIX=\"/dummy\" \
- -DGTK_SYSCONFDIR=\"/dummy/etc\" -DGTK_VERSION=\"3.11.8\" \
+ -DGTK_SYSCONFDIR=\"/dummy/etc\" -DGTK_VERSION=\"3.12.0\" \
-DGTK_BINARY_VERSION=\"3.0.0\" -DGTK_HOST=\"i686-pc-vs$(VSVER)\" \
-DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file\" \
-DGTK_PRINT_PREVIEW_COMMAND=\"undefined-gtk-print-preview-command\" \
@@ -65,21 +87,15 @@ Gtk-$(APIVERSION).gir: gtk_list
-DINCLUDE_IM_ime -DINCLUDE_IM_inuktitut -DINCLUDE_IM_ipa \
-DINCLUDE_IM_multipress -DINCLUDE_IM_thai -DINCLUDE_IM_ti_er \
-DINCLUDE_IM_ti_et -DINCLUDE_IM_viqr --filelist=gtk_list \
- -o Gtk-3.0.gir
+ -o $@
-Gdk-$(APIVERSION).typelib: Gdk-$(APIVERSION).gir
- @-echo Compiling Gdk-$(APIVERSION).typelib...
- $(G_IR_COMPILER) --includedir=. --debug --verbose Gdk-$(APIVERSION).gir -o Gdk-$(APIVERSION).typelib
+$(built_install_typelibs): $(built_install_girs)
+ @-echo Compiling $*.typelib...
+ @-$(G_IR_COMPILER) --includedir=. --debug --verbose $*.gir -o $@
-Gtk-$(APIVERSION).typelib: Gtk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib
- @-echo Compiling Gtk-$(APIVERSION).typelib...
- $(G_IR_COMPILER) --includedir=. --debug --verbose Gtk-$(APIVERSION).gir -o Gtk-$(APIVERSION).typelib
-
-install-introspection: setgirbuildnev Gdk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib Gtk-$(APIVERSION).gir Gtk-$(APIVERSION).typelib
- @-copy Gdk-$(APIVERSION).gir $(G_IR_INCLUDEDIR)
- @-copy /b Gdk-$(APIVERSION).typelib $(G_IR_TYPELIBDIR)
- @-copy Gtk-$(APIVERSION).gir $(G_IR_INCLUDEDIR)
- @-copy /b Gtk-$(APIVERSION).typelib $(G_IR_TYPELIBDIR)
+install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
+ @-copy *.gir $(G_IR_INCLUDEDIR)
+ @-copy /b *.typelib $(G_IR_TYPELIBDIR)
!else
all:
@@ -87,10 +103,10 @@ all:
!endif
clean:
- @-del /f/q Gtk-$(APIVERSION).typelib
- @-del /f/q Gtk-$(APIVERSION).gir
- @-del /f/q Gdk-$(APIVERSION).typelib
- @-del /f/q Gdk-$(APIVERSION).gir
+ @-del /f/q *.typelib
+ @-del /f/q *.gir
+ @-del /f/q win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).lib
@-del /f/q gtk_list
+ @-del /f/q gdkwin32_list
@-del /f/q gdk_list
@-del /f/q *.pyc
diff --git a/build/win32/vs10/gtk-copy-gdk-broadway.props b/build/win32/vs10/gtk-copy-gdk-broadway.props
index d62e744146..65279ca45e 100644
--- a/build/win32/vs10/gtk-copy-gdk-broadway.props
+++ b/build/win32/vs10/gtk-copy-gdk-broadway.props
@@ -7,6 +7,9 @@
<_PropertySheetDisplayName>gtkcopygdkbroadwayprops
+
+ /EXPORT:gdk_win32_display_manager_get_type
+
if "$(Configuration)" == "Release" goto END
diff --git a/build/win32/vs10/gtk-ignore-broadway.props b/build/win32/vs10/gtk-ignore-broadway.props
index cbe02f7774..f86c36b191 100644
--- a/build/win32/vs10/gtk-ignore-broadway.props
+++ b/build/win32/vs10/gtk-ignore-broadway.props
@@ -12,6 +12,7 @@
$(OutDir)\gdk-win32.lib;%(AdditionalDependencies)
+ /EXPORT:gdk_win32_display_manager_get_type
\ No newline at end of file
diff --git a/build/win32/vs9/gtk-copy-gdk-broadway.vsprops b/build/win32/vs9/gtk-copy-gdk-broadway.vsprops
index 148dab2220..93161c3811 100644
--- a/build/win32/vs9/gtk-copy-gdk-broadway.vsprops
+++ b/build/win32/vs9/gtk-copy-gdk-broadway.vsprops
@@ -5,6 +5,10 @@
Name="gtkcopygdkbroadwayprops"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
>
+
\ No newline at end of file