[gtksourceview] build: Fix Visual Studio 2017 introspection builds



commit e7f53ebfc682115a0051c714dceed237f8dcd846
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Oct 4 21:13:45 2017 +0800

    build: Fix Visual Studio 2017 introspection builds
    
    We need to check for Visual Studio 2017 properly in the NMake Makefiles
    used to build the introspection files.

 win32/detectenv-msvc.mak |    4 +-
 win32/vs9/README.txt     |  116 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 119 insertions(+), 1 deletions(-)
---
diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
index 61f979d..6fd96cc 100644
--- a/win32/detectenv-msvc.mak
+++ b/win32/detectenv-msvc.mak
@@ -40,8 +40,10 @@ VSVER = 10
 VSVER = 11
 !elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
 VSVER = 12
-!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
+!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
 VSVER = 14
+!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
+VSVER = 15
 !else
 VSVER = 0
 !endif
diff --git a/win32/vs9/README.txt b/win32/vs9/README.txt
new file mode 100644
index 0000000..5107fec
--- /dev/null
+++ b/win32/vs9/README.txt
@@ -0,0 +1,116 @@
+Please do not compile this package (GtkSourceview) in paths that contain
+spaces in them-as strange problems may occur during compilation or during
+the use of the library.
+
+A more detailed outline for instructions on building the GTK+ stack with
+Visual C++ can be found in the following GNOME Live! page:
+
+https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack
+
+This VS9 solution and the projects it includes are intented to be used
+in a GtkSourceview source tree unpacked from a tarball. In a git checkout
+you first need to use some Unix-like environment or manual work to expand
+the files needed, like config.h.win32.in into config.h.win32 and the
+.vcprojin files here into corresponding actual .vcproj files.
+
+You will all the parts from below in the GTK+ stack: GTK+, GDK-Pixbuf, Pango,
+ATK and GLib, with their external depedencies.  External dependencies are at
+least Cairo, lixml2 and gettext-runtime.  See the 
+build/win32/vs9/README.txt file in glib for details where to unpack them.
+
+You will also need a Python 2.7+/3.x interpretor installed on your system
+(and PERL, if your GLib installation is before 2.53.4, where distributions
+such as ActiveState PERL or Strawberry PERL can be used),
+which can be obtained from the official installers available from
+http://www.python.org.  Please note that the Python interpretor (python.exe)
+either needs to be in your PATH before attempting the build of GtkSourceview,
+or it can be found in the path specified by PythonDir in gksourceview-version-paths.vsprops.
+If you happen to change the PythonDir setting in gksourceview-version-paths.vsprops after
+opening gtk+.sln with Visual Studio, you will need to close the gtk+.sln solution,
+delete all the *.ncb, *.suo and *.user files before re-attempting the build.
+
+It is recommended that one builds the dependencies with VS9 as far as
+possible, especially those from and using the GTK+ stack (i.e. GLib,
+Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
+to different CRTs can be kept at a minimum.  
+
+zlib, libpng, and Cairo do contain support for compiling under VS9
+using VS project files and/or makefiles at this time of writing, For the
+GTK+ stack, VS9 project files are either available under
+$(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK
+(stable/unstable) and GDK-Pixbuf (unstable), and should be in the next
+unstable version of Pango.  There is no known official VS9 build
+support for fontconfig (along with freetype and expat) and
+gettext-runtime, so please use the binaries from: 
+
+ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
+ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
+
+Unzip the binaries obtained from ftp.gnome.org in <root>\vs9\<PlatformName>,
+and build the following, if not already done so: 
+
+Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
+ .dll files: <root>\vs9\<PlatformName>\bin
+ .lib files: <root>\vs9\<PlatformName>\lib
+ .h files: <root>\vs9\<PlatformName>\include
+
+The recommended build order for these dependencies:
+(first unzip any dependent binaries downloaded from the ftp.gnome.org
+ as described in the README.txt file in the build/win32/vs9 folder)
+-zlib
+-libpng
+-(for GDK-Pixbuf, if not using GDI+) IJG JPEG or libjpeg-turbo
+-(for GDK-Pixbuf, if not using GDI+) libtiff
+ [libtiff requires zlib and IJG JPEG or libjpeg-turbo]
+-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
+-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
+  build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
+-GLib **
+-Cairo (inclusive of Cairo-GObject)
+-ATK**
+-Pango**
+-GDK-Pixbuf**
+(note the last 3 dependencies are not interdependent, so the last 3
+ dependencies can be built in any order)
+
+The "install" project will copy build results and headers into their
+appropriate location under <root>\vs9\<PlatformName>. For instance,
+built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
+<root>\vs9\<PlatformName>\lib and GTK+ headers into
+<root>\vs9\<PlatformName>\include\gksourceview-3.0. This is then from where
+project files higher in the stack are supposed to look for them, not
+from a specific GLib source tree.
+
+There is now a "gtksourceview-introspect" project that is used to build the
+introspection files.  In order for this to work, check that the paths for
+PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your
+system.  Note that it must be the same Python installation that was used to
+build GObject-Introspection (G-I), and a complete G-I build/installation
+needs to be found in <root>\vs9\<PlatformName>\, with the introspection files
+for ATK, Pango and GDK-Pixbuf.  Note also that this is not built by default,
+so you will need to right-click on the project to build it, which will build
+and "install" the other projects that are normally built, if those were not yet
+built.  The introspection files that are built will be "installed" to
+<root>\vs9\<PlatformName>\share\gir-1.0 (the .gir file(s)) and
+<root>\vs9\<PlatformName>\lib\girepository-1.0 (the .typelib files(s)) upon
+successful build.  for building this in a different configuration, therefore,
+you will need to clean this project specifically and then rebuild.
+
+Please note, as GTK+ uses the Adwaita theme for all platforms by default,
+most icons used are not included with GTK+ (which *are* needed), so please see
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
+GTK+ section) on how to get those icons set up for use with GTK+.
+
+*About the dependencies marked with *: These dependencies are optional
+ as those are not compulsory components for building and running GTK+
+ itself, but note that they are needed for people running and building
+ GIMP or those who need complex script support via fontconfig.  They
+ are referred to by components in Cairo and Pango mainly.
+ Decide whether you need fontconfig support prior to building Cairo
+ and Pango.
+
+**:Put the sources of the packages marked with ** in <root>\<package-
+    source-tree>, and build with VS9 from there.
+
+--Tor Lillqvist <tml iki fi>
+--Updated by Chun-wei Fan <fanc999 yahoo com tw>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]