MSVC Build Files: Use Real GTK+ Version

Desktop / GNOME / GTK - Chun-wei Fan [src.gnome.org] - 7 August 2014 10:11 UTC

Make the Visual C++-related build files contain the actual GTK+ version, by generating them during the configure stage and dist'ing them in the release tarballs. This is especially important for builds of introspection files, as one may need to look at the release version of GTK+ in those files.

###

diff --git a/build/Makefile.am b/build/Makefile.am
index 931735b..1e6b825 100644
--- a/build/Makefile.am
+++ b/build/Makefile.am
@@ -8,6 +8,7 @@ EXTRA_DIST += \
gen-file-list-gtk.py \
detectenv_msvc.mak \
introspection-msvc.mak \
+ gtk-introspection-msvc.mak.in \
gtk-introspection-msvc.mak

-include $(top_srcdir)/git.mk
diff --git a/build/gtk-introspection-msvc.mak b/build/gtk-introspection-msvc.mak
deleted file mode 100644
index fe1fa3f..0000000
--- a/build/gtk-introspection-msvc.mak
+++ /dev/null
@@ -1,107 +0,0 @@
-# NMake Makefile to build Introspection Files for GTK+
-
-!include detectenv_msvc.mak
-
-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
-TIME_T_DEFINE = -Dtime_t=long
-!endif
-
-!include introspection-msvc.mak
-
-!if "$(BUILD_INTROSPECTION)" == "TRUE"
-all: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
-
-gdk_list gdkwin32_list gtk_list:
- @-echo Generating Filelist to Introspect for GDK/GTK...
- $(PYTHON2) gen-file-list-gtk.py
-
-setgirbuildnev:
- @set CC=$(CC)
- @set PYTHONPATH=$(BASEDIR)\lib\gobject-introspection
- @set PATH=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(BASEDIR)\bin;$(PATH);$(MINGWDIR)\bin
- @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
- @set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(LIB)
-
-Gdk-$(APIVERSION).gir: gdk_list
- @-echo Generating Gdk-$(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=Gdk --nsversion=3.0 \
- --include=Gio-2.0 --include=GdkPixbuf-2.0 \
- --include=Pango-1.0 --include=cairo-1.0 \
- --no-libtool --library=gdk-3.0 \
- --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 $@
-
-GdkWin32-$(APIVERSION).gir: gdkwin32_list
- @-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 \
- -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 \
- --namespace=Gtk --nsversion=3.0 \
- --include=Atk-1.0 \
- --include-uninstalled=./Gdk-$(APIVERSION).gir \
- --no-libtool --library=gtk-3.0 --library=gdk-3.0 \
- --reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
- --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.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\" \
- -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED \
- -DINCLUDE_IM_am_et -DINCLUDE_IM_cedilla -DINCLUDE_IM_cyrillic_translit \
- -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 $@
-
-$(built_install_typelibs): $(built_install_girs)
- @-echo Compiling $*.typelib...
- @-$(G_IR_COMPILER) --includedir=. --debug --verbose $*.gir -o $@
-
-install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
- @-copy *.gir $(G_IR_INCLUDEDIR)
- @-copy /b *.typelib $(G_IR_TYPELIBDIR)
-
-!else
-all:
- @-echo $(ERROR_MSG)
-!endif
-
-clean:
- @-del /f/q *.typelib
- @-del /f/q *.gir
- @-del /f/q gtk_list
- @-del /f/q gdkwin32_list
- @-del /f/q gdk_list
- @-del /f/q *.pyc
diff --git a/build/gtk-introspection-msvc.mak.in b/build/gtk-introspection-msvc.mak.in
new file mode 100644
index 0000000..9713023
--- /dev/null
+++ b/build/gtk-introspection-msvc.mak.in
@@ -0,0 +1,107 @@
+# NMake Makefile to build Introspection Files for GTK+
+
+!include detectenv_msvc.mak
+
+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
+TIME_T_DEFINE = -Dtime_t=long
+!endif
+
+!include introspection-msvc.mak
+
+!if "$(BUILD_INTROSPECTION)" == "TRUE"
+all: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
+
+gdk_list gdkwin32_list gtk_list:
+ @-echo Generating Filelist to Introspect for GDK/GTK...
+ $(PYTHON2) gen-file-list-gtk.py
+
+setgirbuildnev:
+ @set CC=$(CC)
+ @set PYTHONPATH=$(BASEDIR)\lib\gobject-introspection
+ @set PATH=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(BASEDIR)\bin;$(PATH);$(MINGWDIR)\bin
+ @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+ @set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(LIB)
+
+Gdk-$(APIVERSION).gir: gdk_list
+ @-echo Generating Gdk-$(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=Gdk --nsversion=3.0 \
+ --include=Gio-2.0 --include=GdkPixbuf-2.0 \
+ --include=Pango-1.0 --include=cairo-1.0 \
+ --no-libtool --library=gdk-3.0 \
+ --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 $@
+
+GdkWin32-$(APIVERSION).gir: gdkwin32_list
+ @-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 \
+ -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 \
+ --namespace=Gtk --nsversion=3.0 \
+ --include=Atk-1.0 \
+ --include-uninstalled=./Gdk-$(APIVERSION).gir \
+ --no-libtool --library=gtk-3.0 --library=gdk-3.0 \
+ --reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
+ --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=\"@GTK_VERSION@\" \
+ -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\" \
+ -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED \
+ -DINCLUDE_IM_am_et -DINCLUDE_IM_cedilla -DINCLUDE_IM_cyrillic_translit \
+ -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 $@
+
+$(built_install_typelibs): $(built_install_girs)
+ @-echo Compiling $*.typelib...
+ @-$(G_IR_COMPILER) --includedir=. --debug --verbose $*.gir -o $@
+
+install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
+ @-copy *.gir $(G_IR_INCLUDEDIR)
+ @-copy /b *.typelib $(G_IR_TYPELIBDIR)
+
+!else
+all:
+ @-echo $(ERROR_MSG)
+!endif
+
+clean:
+ @-del /f/q *.typelib
+ @-del /f/q *.gir
+ @-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/Makefile.am b/build/win32/vs10/Makefile.am
index ba9b0aa..74767fb 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -36,6 +36,7 @@ EXTRA_DIST += \
gtk-gen-srcs.props \
gtk-ignore-broadway.props \
gtk-install.props \
+ gtk-version-paths.props.in \
gtk-version-paths.props

-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs10/gtk-version-paths.props b/build/win32/vs10/gtk-version-paths.props
deleted file mode 100644
index f23f373..0000000
--- a/build/win32/vs10/gtk-version-paths.props
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
- 10
- $(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)
- ..\..\..\..\vs$(VSVer)\$(Platform)
- 3.0
- lib
- -$(ApiVersion)-0
-
- -3-vs$(VSVer)
- $(GtkSeparateVSDllPrefix)
- $(GtkSeparateVSDllSuffix)
- c:\python27
-

-
- <_PropertySheetDisplayName>gtkversionpathsprops
-

-
-
- $(VSVer)
-

-
- $(GlibEtcInstallRoot)
-

-
- $(CopyDir)
-

-
- $(ApiVersion)
-

-
- $(GtkLibtoolCompatibleDllPrefix)
-

-
- $(GtkLibtoolCompatibleDllSuffix)
-

-
- $(GtkSeparateVSDllPrefix)
-

-
- $(GtkSeparateVSDllSuffix)
-

-
- $(GtkDllPrefix)
-

-
- $(GtkDllSuffix)
-

-
- $(PythonPath)
-

-

-

diff --git a/build/win32/vs10/gtk-version-paths.props.in b/build/win32/vs10/gtk-version-paths.props.in
new file mode 100644
index 0000000..ea2a1dc
--- /dev/null
+++ b/build/win32/vs10/gtk-version-paths.props.in
@@ -0,0 +1,58 @@
+
+
+
+ 10
+ $(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)
+ ..\..\..\..\vs$(VSVer)\$(Platform)
+ 3.0
+ @GTK_VERSION@
+ lib
+ -$(ApiVersion)-0
+
+ -3-vs$(VSVer)
+ $(GtkSeparateVSDllPrefix)
+ $(GtkSeparateVSDllSuffix)
+ c:\python27
+

+
+ <_PropertySheetDisplayName>gtkversionpathsprops
+

+
+
+ $(VSVer)
+

+
+ $(GlibEtcInstallRoot)
+

+
+ $(CopyDir)
+

+
+ $(ApiVersion)
+

+
+ $(GtkVersion)
+

+
+ $(GtkLibtoolCompatibleDllPrefix)
+

+
+ $(GtkLibtoolCompatibleDllSuffix)
+

+
+ $(GtkSeparateVSDllPrefix)
+

+
+ $(GtkSeparateVSDllSuffix)
+

+
+ $(GtkDllPrefix)
+

+
+ $(GtkDllSuffix)
+

+
+ $(PythonPath)
+

+

+

diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index f5d6f21..18e3fe3 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -23,6 +23,7 @@ EXTRA_DIST += \
gtk-gen-srcs.vsprops \
gtk-ignore-broadway.vsprops \
gtk-install.vsprops \
+ gtk-version-paths.vsprops.in \
gtk-version-paths.vsprops

-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs9/gtk-version-paths.vsprops b/build/win32/vs9/gtk-version-paths.vsprops
deleted file mode 100644
index c12a839..0000000
--- a/build/win32/vs9/gtk-version-paths.vsprops
+++ /dev/null
@@ -1,53 +0,0 @@
-
-- ProjectType="Visual C++"
- Version="8.00"
- Name="gtkversionpathsprops"
- >
- - Name="VSVer"
- Value="9"
- />
- - Name="GlibEtcInstallRoot"
- Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
- />
- - Name="CopyDir"
- Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
- />
- - Name="ApiVersion"
- Value="3.0"
- />
- - Name="GtkLibtoolCompatibleDllPrefix"
- Value="lib"
- />
- - Name="GtkLibtoolCompatibleDllSuffix"
- Value="-$(ApiVersion)-0"
- />
- - Name="GtkSeparateVSDllPrefix"
- Value=""
- />
- - Name="GtkSeparateVSDllSuffix"
- Value="-3-vs$(VSVer)"
- />
-
- - Name="GtkDllPrefix"
- Value="$(GtkSeparateVSDllPrefix)"
- />
- - Name="GtkDllSuffix"
- Value="$(GtkSeparateVSDllSuffix)"
- />
- - Name="PythonPath"
- Value="c:\python27"
- />
-
diff --git a/build/win32/vs9/gtk-version-paths.vsprops.in b/build/win32/vs9/gtk-version-paths.vsprops.in
new file mode 100644
index 0000000..7f2d102
--- /dev/null
+++ b/build/win32/vs9/gtk-version-paths.vsprops.in
@@ -0,0 +1,57 @@
+
++ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gtkversionpathsprops"
+ >
+ + Name="VSVer"
+ Value="9"
+ />
+ + Name="GlibEtcInstallRoot"
+ Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
+ />
+ + Name="CopyDir"
+ Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
+ />
+ + Name="ApiVersion"
+ Value="3.0"
+ />
+ + Name="GtkVersion"
+ Value="@GTK_VERSION@"
+ />
+ + Name="GtkLibtoolCompatibleDllPrefix"
+ Value="lib"
+ />
+ + Name="GtkLibtoolCompatibleDllSuffix"
+ Value="-$(ApiVersion)-0"
+ />
+ + Name="GtkSeparateVSDllPrefix"
+ Value=""
+ />
+ + Name="GtkSeparateVSDllSuffix"
+ Value="-3-vs$(VSVer)"
+ />
+
+ + Name="GtkDllPrefix"
+ Value="$(GtkSeparateVSDllPrefix)"
+ />
+ + Name="GtkDllSuffix"
+ Value="$(GtkSeparateVSDllSuffix)"
+ />
+ + Name="PythonPath"
+ Value="c:\python27"
+ />
+
diff --git a/configure.ac b/configure.ac
index 314dacf..a75130e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1875,10 +1875,13 @@ docs/reference/libgail-util/Makefile
docs/reference/libgail-util/version.xml
docs/tools/Makefile
build/Makefile
+build/gtk-introspection-msvc.mak
build/win32/Makefile
build/win32/crypt/Makefile
build/win32/vs9/Makefile
+build/win32/vs9/gtk-version-paths.vsprops
build/win32/vs10/Makefile
+build/win32/vs10/gtk-version-paths.props
build/win32/vs11/Makefile
build/win32/vs12/Makefile
gdk/Makefile

8a2a5ad MSVC Build Files: Use Real GTK+ Version
build/Makefile.am | 1 +
build/gtk-introspection-msvc.mak | 107 --------------------------
build/gtk-introspection-msvc.mak.in | 107 ++++++++++++++++++++++++++
build/win32/vs10/Makefile.am | 1 +
build/win32/vs10/gtk-version-paths.props | 54 -------------
build/win32/vs10/gtk-version-paths.props.in | 58 ++++++++++++++
build/win32/vs9/Makefile.am | 1 +
build/win32/vs9/gtk-version-paths.vsprops | 53 -------------
build/win32/vs9/gtk-version-paths.vsprops.in | 57 ++++++++++++++
configure.ac | 3 +
10 files changed, 228 insertions(+), 214 deletions(-)

Upstream: git.gnome.org


  • Share