Commit Graph

17 Commits

Author SHA1 Message Date
Chun-wei Fan
7d64d109f0 MSVC 201x builds: Allow different Python versions per toolset
Use conditionals to select the Python installation, so that we can more
stick to the default Visual Studio versions used to compile each
official Python releases more closely.

This means by default:
-2010/2012/2013 builds use Python 3.4.x, which is built with 2010
-2015/2017 builds use Python 3.6.x, which is built with 2015
2017-07-12 18:18:28 +08:00
Chun-wei Fan
a00e7ed32e win32: Update MSVC projects for glib-genmarshal
glib-genmarshal is now a Python script instead of a compiled program, so
we need to:

-Remove the projects that are used to build the glib-genmarshal sources.
-Generate the full glib-genmarshal Python script from glib-genmarshal.in
-Make Python a hard build-time requirement, since we use this tool
 in many parts of the stack (and it is the case for glib-mkenums).
-Tell people in the Visual Studio build README.txt files that Python
 2.7.x or 3.x is now required for the build/"install".
2017-07-12 18:00:22 +08:00
Emmanuele Bassi
9c66e65b29 Remove unused marshallers-related files
We don't use gmarshal.list any more, and the generated gmarshal.strings
file is not used after the Python port of glib-genmarshal.

https://bugzilla.gnome.org/show_bug.cgi?id=784528
2017-07-10 16:47:48 +01:00
Chun-wei Fan
951fd642dc Visual Studio builds: Use the Centricular fork of libffi
The latest upstream libffi is getting bit-rotten with the Windows/MSVC
builds, and since we are eventually moving to a Meson-based build system,
make use of the Centricular fork of libffi[1], which is better maintained
and tested for builds on Windows, with the use of DLLs over static libraries
and elimination of awkward build flags that we had to use for GObject.

[1]: https://github.com/centricular/libffi
2017-06-14 10:51:55 +08:00
Chun-wei Fan
e9846a7c8f Visual Studio builds: Redo utility script generation
Use the new gen_util_scripts.py script to generate the glib-mkenums and
gdbus-codegen scripts with the proper info in them so that they can be
used properly by other build systems such as Meson, during "install".
2017-05-24 15:43:59 +08:00
Chun-wei Fan
79e73da2e5 win32/gen_util_scripts.py: Make it path agnostic 2017-05-24 13:16:55 +08:00
Chun-wei Fan
c5cd5bcd97 Visual Studio builds: Add script to generate utility scripts
This will allow the utility scripts glib-mkenums and gdbus-codegen be
generated with the proper info in them, as build systems such as Meson
might look for shebang lines to determine the commands that need to be
called to invoke the scripts (which is necessary for calling these
scripts on standard Windows cmd.exe)
2017-05-24 12:57:53 +08:00
Chun-wei Fan
58ecc57ca7 win32/replace.py: Fix replacing items in files with UTF-8 content
Some files that this script will process might have UTF-8 items in
there, which can cause problems on Python 3.x as it is more strict and
careful on unicode issues.  Fix this by:

-Doing what we did before on Python 2.x
-Open the file with encoding='utf-8' on Python 3.x
2017-05-09 18:20:42 -07:00
Chun-wei Fan
20fde20ab4 Visual Studio 201x builds: Fix GIO x64 Debug builds
The custom build rules did not have rules for x64 Debug builds during
the refactoring.  Fix this by removing all Platform and Configuration
conditions for it, since this is done on are configs in the same manner.

Noted by Ignacio Casal Quinteiro.
2017-04-05 00:15:26 +08:00
Chun-wei Fan
1f931dbb22 win32/pc_base.py: Update path for GLib master
So that people can load this from the right places in GLib master's
source tree.
2017-03-13 15:36:11 +08:00
Chun-wei Fan
79ea068975 win32/replace.py: Update documentation comment
Update the location from GLib's source tree on where this file can be
found.
2017-03-09 16:19:54 +08:00
David King
62e8d23b88 build: Add vs15 subdir to win32 Makefile.am 2017-03-01 13:44:35 +00:00
Chun-wei Fan
d0ffee8feb win32/detectenv-msvc.mak: Make it usable from Visual Studio projects
As in the version in of this NMake Makefile module in G-I, support
CFG == Release|Debug, which is what is used in the Visual Studio
projects, so that:

-This file will be in sync with the one in G-I
-Other projects that make use of this can integrate this NMake Makefile
 module in their Visual Studio project files.
2017-02-17 17:54:23 +08:00
Chun-wei Fan
08825d2c21 win32/detectenv-msvc.mak: Support Visual Studio 2017
Update this common NMake Makefile module so projects using this (such as
for introspection builds or projects supporting MSVC builds using NMake)
can make use of Visual Studio 2017.
2017-02-17 17:48:13 +08:00
Chun-wei Fan
fa074cf3c7 Visual Studio builds: Fix previous commit
Pushed the wrong version of the patch, sorry!
2017-02-15 14:14:05 +08:00
Chun-wei Fan
0baaac786e Visual Studio builds: Add support for Visual Studio 2017
This adds support for Visual Studio 2017 by updating the autotools files for
copying and updating the Visual Studio 2010 project files.

Since the toolset version of Visual Studio 2017 is no longer in the form
of $(MSVC_VER_SHORT)0, we need to specify the full number, but this is a
rather simple change we have here.  Note that Visual Studio 2017's CRT
aims to be compatible with the 2015's CRT, so it should be possible to
use 2017-compiled code with the 2015-compiled ones.
2017-02-15 11:42:20 +08:00
Chun-wei Fan
6dfc6fee7b Visual Studio builds: Move project files to win32/
It was suggested that the project files be moved here as we don't actually
need to go two directory layers from $(srcroot), and would help us to
standardize on things in the future across the board.
2017-01-09 14:00:46 +08:00