summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2017-01-09 15:09:53 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2017-01-09 17:30:44 +0800
commit4bcad96c5a3f1ab17187e264e0e550fab56a29dc (patch)
treec8b60c5178121739df29c0507482170a5764db89 /win32
parent46b6521c246948182d5ac19e2c5c5a719f1e3825 (diff)
downloadgobject-introspection-4bcad96c5a3f1ab17187e264e0e550fab56a29dc.tar.gz
Visual Studio builds: Move build files to win32/
As suggested, we don't really need two layers of directories to get to the projects, so move the project files to be under win32/ rather than build/win32/.
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile-newvs.am46
-rw-r--r--win32/Makefile.am17
-rw-r--r--win32/Makefile.msvc-introspection125
-rw-r--r--win32/Makefile.msvcproj153
-rw-r--r--win32/detectenv-msvc.mak76
-rw-r--r--win32/gen-win32-cairo-gir.py39
-rw-r--r--win32/gen-win32-g-ir-tools.py54
-rw-r--r--win32/gi-build-common-msvc.mak19
-rw-r--r--win32/gi-introspection-msvc.mak194
-rw-r--r--win32/gi-setenv-msvc.mak12
-rw-r--r--win32/gi-tests-msvc.mak300
-rw-r--r--win32/gi_msvc_build_utils.py8
-rw-r--r--win32/gipc.py101
-rw-r--r--win32/introspection-msvc.mak94
-rw-r--r--win32/pc_base.py124
-rw-r--r--win32/replace.py109
-rw-r--r--win32/vs10/Makefile.am47
-rw-r--r--win32/vs10/README.txt104
-rw-r--r--win32/vs10/_giscanner.vcxproj188
-rw-r--r--win32/vs10/_giscanner.vcxproj.filters23
-rw-r--r--win32/vs10/cmph-bdz-test.vcxproj174
-rw-r--r--win32/vs10/cmph-bdz-test.vcxproj.filters22
-rw-r--r--win32/vs10/cmph.vcxproj.filtersin20
-rw-r--r--win32/vs10/cmph.vcxprojin141
-rw-r--r--win32/vs10/g-ir-compiler.vcxproj.filtersin21
-rw-r--r--win32/vs10/g-ir-compiler.vcxprojin182
-rw-r--r--win32/vs10/g-ir-generate.vcxproj170
-rw-r--r--win32/vs10/g-ir-generate.vcxproj.filters25
-rw-r--r--win32/vs10/g-ir-inspect.vcxproj169
-rw-r--r--win32/vs10/g-ir-inspect.vcxproj.filters20
-rw-r--r--win32/vs10/gi-build-defines.props46
-rw-r--r--win32/vs10/gi-gen-srcs.props25
-rw-r--r--win32/vs10/gi-install.propsin108
-rw-r--r--win32/vs10/gi-install.vcxproj138
-rw-r--r--win32/vs10/gi-install.vcxproj.filters13
-rw-r--r--win32/vs10/gi-introspect.vcxproj115
-rw-r--r--win32/vs10/gi-prebuild.vcxproj103
-rw-r--r--win32/vs10/gi-version-paths.props.in77
-rw-r--r--win32/vs10/girepository.vcxproj.filtersin20
-rw-r--r--win32/vs10/girepository.vcxprojin193
-rw-r--r--win32/vs10/glib-print.vcxproj169
-rw-r--r--win32/vs10/glib-print.vcxproj.filters22
-rw-r--r--win32/vs10/gobject-introspection.sln126
-rw-r--r--win32/vs11/Makefile.am37
-rw-r--r--win32/vs12/Makefile.am37
-rw-r--r--win32/vs14/Makefile.am37
-rw-r--r--win32/vs9/Makefile.am32
-rw-r--r--win32/vs9/README.txt104
-rw-r--r--win32/vs9/_giscanner.vcproj181
-rw-r--r--win32/vs9/cmph-bdz-test.vcproj167
-rw-r--r--win32/vs9/cmph.vcprojin131
-rw-r--r--win32/vs9/g-ir-compiler.vcprojin173
-rw-r--r--win32/vs9/g-ir-generate.vcproj163
-rw-r--r--win32/vs9/g-ir-inspect.vcproj162
-rw-r--r--win32/vs9/gi-build-defines.vsprops38
-rw-r--r--win32/vs9/gi-gen-srcs.vsprops20
-rw-r--r--win32/vs9/gi-install.vcproj119
-rw-r--r--win32/vs9/gi-install.vspropsin95
-rw-r--r--win32/vs9/gi-introspect.vcproj76
-rw-r--r--win32/vs9/gi-prebuild.vcproj133
-rw-r--r--win32/vs9/gi-version-paths.vsprops.in75
-rw-r--r--win32/vs9/girepository.vcprojin178
-rw-r--r--win32/vs9/glib-print.vcproj162
-rw-r--r--win32/vs9/gobject-introspection.sln166
64 files changed, 6218 insertions, 0 deletions
diff --git a/win32/Makefile-newvs.am b/win32/Makefile-newvs.am
new file mode 100644
index 00000000..ecdf3b55
--- /dev/null
+++ b/win32/Makefile-newvs.am
@@ -0,0 +1,46 @@
+# Centralized autotools file
+# Create the Visual Studio 2012/2013/2015 project files
+# from the Visual Studio 2010 project files
+
+# This autotools file, from GLib, can be used in other projects
+# that have Visual Studio build support.
+
+# Author: Fan, Chun-wei
+# November 05, 2012
+
+# MSVC_BASE_VER: Baseline MSVC 201x version to copy/process project files from (10 for 2010, 11 for 2012, 12 for 2013, 14 for 2015 and so on)
+# MSVC_BASE_VER_LONG: Long Version of baseline Visual Studio 201x version (2010, 2012, 2013, 14 and so on)
+# MSVC_VER_LONG: Long Version of Visual Studio (2012, 2013, 14 and so on)
+# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
+# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
+
+%.sln:
+ sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
+ sed 's/$(MSVC_BASE_VER_LONG)/$(MSVC_VER_LONG)/g' < $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp > $(top_builddir)/win32/vs$(MSVC_VER)/$@
+ rm $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
+
+%.txt:
+ sed 's/vs$(MSVC_BASE_VER)/vs$(MSVC_VER)/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
+ sed 's/VS$(MSVC_BASE_VER)/VS$(MSVC_VER)/g' < $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp > $(top_builddir)/win32/vs$(MSVC_VER)/$@
+ rm $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
+
+%.vcxproj:
+ if test -e $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@; then \
+ sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ else \
+ sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ fi
+
+%.props: $(top_builddir)/win32/vs$(MSVC_BASE_VER)/Makefile
+ if test -e $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@; then \
+ sed 's/<VSVer>$(MSVC_BASE_VER)<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ else \
+ sed 's/<VSVer>$(MSVC_BASE_VER)<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ fi
+
+%.vcxproj.filters:
+ if test -e $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@; then \
+ cp $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ else \
+ cp $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+ fi
diff --git a/win32/Makefile.am b/win32/Makefile.am
new file mode 100644
index 00000000..ef3498d2
--- /dev/null
+++ b/win32/Makefile.am
@@ -0,0 +1,17 @@
+SUBDIRS = vs9 vs10 vs11 vs12 vs14
+
+EXTRA_DIST = \
+ Makefile.msvc-introspection \
+ detectenv-msvc.mak \
+ gen-win32-cairo-gir.py \
+ gen-win32-g-ir-tools.py \
+ gi-build-common-msvc.mak \
+ gi-introspection-msvc.mak \
+ gi_msvc_build_utils.py \
+ gi-setenv-msvc.mak \
+ gi-tests-msvc.mak \
+ gipc.py \
+ introspection-msvc.mak \
+ pc_base.py \
+ replace.py
+
diff --git a/win32/Makefile.msvc-introspection b/win32/Makefile.msvc-introspection
new file mode 100644
index 00000000..28e8b50b
--- /dev/null
+++ b/win32/Makefile.msvc-introspection
@@ -0,0 +1,125 @@
+# Author: Fan, Chun-wei
+# Common autotools file for constructing the g-ir-scanner and
+# g-ir-compiler command lines for Visual Studio builds.
+
+# This is copied from $(srcroot)/win32 from the gobject-introspection
+# project, which may be included in projects that support both
+# Visual Studio builds and introspection.
+
+# * Input variables:
+#
+# MSVC_INTROSPECT_GIRS - List of .gir's that should be built
+# in the NMake Makefiles
+#
+# * Simple tutorial
+#
+# Add this to Makefile.am where your library/program is built:
+# (Either YourLib_1_0_gir_MSVC_LIBS or YourLib_1_0_gir_MSVC_PROGRAM
+# is required unless --headers-only is specified in
+# YourLib_1_0_gir__MSVC_SCANNERFLAGS)
+#
+# include <this Makefile.msvc-introspection
+# MSVC_INTROSPECT_GIRS = YourLib-1.0.gir
+# YourLib_1_0_gir_NAMESPACE = YourLib # This is optional
+# YourLib_1_0_gir_VERSION = 1.0 # This is optional
+# YourLib_1_0_gir_MSVC_LIBS = yourlib-1.0
+# YourLib_1_0_gir_MSVC_FILES = $(libyourlib_1_0_SOURCES)
+# YourLib_1_0_gir_MSVC_PROGRAM = YourProgram
+# YourLib_1_0_gir_MSVC_PACKAGES = (Dependent .pc files)
+# YourLib_1_0_gir_MSVC_INCLUDE_GIRS = (Dependent external .gir's)
+# YourLiv_1_0_gir_MSVC_EXPORT_PACKAGES = (Packages exported by this .gir)
+
+# Private functions
+
+## Transform the MSVC project filename (no filename extensions) to something which can reference through a variable
+## without automake/make complaining, eg Gtk-2.0 -> Gtk_2_0
+_gir_name=$(subst /,_,$(subst -,_,$(subst .,_,$(1))))
+
+# Namespace and Version is either fetched from the gir filename
+# or the _NAMESPACE/_VERSION variable combo
+_gir_namespace_msvc = $(or $($(_gir_name)_NAMESPACE),$(firstword $(subst -, ,$(notdir $(1)))))
+_gir_version_msvc = $(or $($(_gir_name)_VERSION),$(lastword $(subst -, ,$(1:.gir=))))
+_typelib_basename_msvc = $(_gir_namespace_msvc)'-'$(_gir_version_msvc)
+
+# _PROGRAM is an optional variable which needs its own --program argument
+_gir_program_msvc = $(if $($(_gir_name)_MSVC_PROGRAM),--program=$($(_gir_name)_MSVC_PROGRAM))
+
+# Deduce the sub-folder from $(srcroot) where the sources reside in
+_gir_source_path_raw_msvc:=$(subst $(abs_top_srcdir),,$(abs_srcdir))
+_gir_source_path_msvc=$(subst /,\\,$(_gir_source_path_raw_msvc))
+_gir_source_subdir_int_msvc=$(subst \\\\,\\,\\$(_gir_source_path_msvc)\\)
+_gir_source_subdir_msvc=$(subst \\.\\,\\,$(_gir_source_subdir_int_msvc))
+
+_gir_files_raw_msvc=$(subst /,\\,$($(_gir_name)_MSVC_FILES))
+_gir_files_msvc=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_gir_source_path_msvc)\\,\\,$(_gir_files_raw_msvc))))
+
+# Create a list of items for:
+# - Libraries
+# - Packages
+# - GIRs to include
+# - packages to export
+
+_gir_libraries_msvc = $(foreach lib,$($(_gir_name)_MSVC_LIBS),--library=$(lib))
+_gir_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_PACKAGES),--pkg=$(pkg))
+_gir_includes_msvc = $(foreach include,$($(_gir_name)_MSVC_INCLUDE_GIRS),--include=$(include))
+_gir_export_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_EXPORT_PACKAGES),--pkg-export=$(pkg))
+
+#
+# Create NMake Makefile Sections for Building Introspection files
+# from autotools files
+# $(1) - File Name of the .gir that is to be generated
+#
+
+define gir-nmake-builder
+
+# Basic sanity check, to make sure required variables are set
+$(if $($(_gir_name)_MSVC_FILES),,$(error Need to define $(_gir_name)_MSVC_FILES))
+$(if $(or $(findstring --header-only,$($(_gir_name)_MSVC_SCANNERFLAGS)),
+ $($(_gir_name)_MSVC_LIBS),
+ $($(_gir_name)_MSVC_PROGRAM)),,
+ $(error Need to define $(_gir_name)_MSVC_LIBS or $(_gir_name)_MSVC_PROGRAM))
+
+$(top_builddir)/win32/$(_gir_name)_list:
+ for F in $(_gir_files_msvc); do \
+ case $$$$F in \
+ *.c|*.cpp|*.cc|*.cxx|*.h|*.hpp|*.hh|*.hxx) \
+ echo '..\..'$(_gir_source_subdir_msvc)$$$$F >>$(top_builddir)/win32/$(_gir_name)_list \
+ ;; \
+ esac; \
+ done
+
+$(top_builddir)/win32/$(1).msvc.introspect:
+ -$(RM) $(top_builddir)/win32/$(1).msvc.introspect
+
+# Assemble the Command to Run g-ir-scanner
+ echo $(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' @-echo Generating $$$$@...'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' $$$$(PYTHON) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --verbose -no-libtool \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --namespace='$(_gir_namespace_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --nsversion='$(_gir_version_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(_gir_packages_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(_gir_libraries_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(_gir_program_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --add-include-path=$$$$(G_IR_INCLUDEDIR) \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(_gir_includes_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(_gir_export_packages_msvc)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --cflags-begin \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$($(_gir_name)_MSVC_CFLAGS)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --cflags-end \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$($(_gir_name)_MSVC_SCANNERFLAGS)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --filelist='$(_gir_name)'_list \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' -o $$$$@'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo '' >>$(top_builddir)/win32/$(1).msvc.introspect
+
+# Finally Assemble the Command to Compile the generated .gir
+ echo '$(_typelib_basename_msvc).typelib: '$(_typelib_basename_msvc)'.gir'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' @-echo Compiling $$$$@...'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' $$$$(G_IR_COMPILER) \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' --includedir=. --debug --verbose \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' '$(1)' \'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo ' -o $$$$@'>>$(top_builddir)/win32/$(1).msvc.introspect
+ echo '' >>$(top_builddir)/win32/$(1).msvc.introspect
+endef
+
+$(foreach gir,$(MSVC_INTROSPECT_GIRS),$(eval $(call gir-nmake-builder,$(gir))))
diff --git a/win32/Makefile.msvcproj b/win32/Makefile.msvcproj
new file mode 100644
index 00000000..2e96e12b
--- /dev/null
+++ b/win32/Makefile.msvcproj
@@ -0,0 +1,153 @@
+# Author: Fan, Chun-wei
+# Common Autotools file used to generate Visual Studio 2008+
+# Projects from their templates
+
+# This autotools file, from GLib, can be used in other projects
+# that have Visual Studio build support.
+
+# * Input variables:
+#
+# MSVCPROJS - List of Projects that should be generated
+#
+# * Simple tutorial
+#
+# Add this to Makefile.am where your library/program is built:
+# include <this Makefile.msvcproj>
+# MSVCPROJS = YourProject (can be multiple projects in a single srcdir)
+# YourProject_FILES = $(libyourlib_1_0_SOURCES)
+# YourProject_EXCLUDES = ... # list of sources to exclude, separated by '|', wildcards allowed; use random unsed value if none
+# (the following 3 lines if headers need to be installed)
+# YourProject_HEADERS_DIR = $(libyourlibincludedir)
+# YourProject_HEADERS_INST = $(libyourlib_1_0_HEADERS)
+# YourProject_HEADERS_EXCLUDES = ... # <list of headers to exclude from installation, separated by '|', wildcards allowed; use random unsed value if none>
+#
+# dist-hook: \ # (or add to it if it is already there, note the vs9 items will also call the vs10 items in the process)
+# $(top_builddir)/win32/vs9/YourProject.vcproj \
+# $(top_builddir)/win32/vs9/YourProject.headers # if headers need to be installed
+#
+# --or, if Visual Studio 2013 or later is required--
+# dist-hook: \ # (or add to it if it is already there, this does -not- call other vs items in the process)
+# $(top_builddir)/win32/vs12/YourProject.vcxproj \
+# $(top_builddir)/win32/vs12/YourProject.vs12.headers # if headers need to be installed
+
+# Private functions
+
+## Transform the MSVC project filename (no filename extensions) to something which can reference through a variable
+## without automake/make complaining, eg Gtk-2.0 -> Gtk_2_0
+_proj_name=$(subst /,_,$(subst -,_,$(subst .,_,$(1))))
+_proj_path_raw:=$(subst $(abs_top_srcdir),,$(abs_srcdir))
+_proj_path=$(subst /,\\,$(_proj_path_raw))
+_proj_subdir_int=$(subst \\\\,\\,\\$(_proj_path)\\)
+_proj_subdir=$(subst \\.\\,\\,$(_proj_subdir_int))
+
+_proj_files_raw=$(subst /,\\,$($(_proj_name)_FILES))
+_proj_files=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_proj_path)\\,\\,$(_proj_files_raw))))
+_proj_filters=$($(_proj_name)_EXCLUDES)
+
+_proj_headers_raw=$(subst /,\\,$($(_proj_name)_HEADERS_INST))
+_proj_headers=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_proj_path)\\,\\,$(_proj_headers_raw))))
+_proj_headers_excludes=$($(_proj_name)_HEADERS_EXCLUDES)
+
+_headers_dest_posix=$(subst $(includedir),,$($(_proj_name)_HEADERS_DIR))
+_headers_destdir=$(subst /,\\,$(_headers_dest_posix))
+
+#
+# Creates Visual Studio 2008/2010 projects from items passed in from autotools files
+# $(1) - Base Name of the MSVC project files (outputs)
+#
+
+define msvcproj-builder
+
+$(top_builddir)/win32/vs10/$(1).vcxproj: $(top_builddir)/win32/vs9/$(1).vcproj
+$(top_builddir)/win32/vs10/$(1).vcxproj.filters: $(top_builddir)/win32/vs9/$(1).vcproj
+$(1).sourcefiles: $(top_builddir)/win32/vs9/$(1).vcproj
+$(1).vs10.sourcefiles: $(top_builddir)/win32/vs9/$(1).vcproj
+$(1).vs10.sourcefiles.filters: $(top_builddir)/win32/vs9/$(1).vcproj
+
+$(top_builddir)/win32/vs9/$(1).vcproj: Makefile
+ -$(RM) $(top_builddir)/win32/vs9/$(1).vcproj
+ -$(RM) $(top_builddir)/win32/vs10/$(1).vcxproj
+ -$(RM) $(top_builddir)/win32/vs10/$(1).vcxproj.filters
+ -$(RM) $(top_builddir)/win32/vs11/$(1).vcxproj
+ -$(RM) $(top_builddir)/win32/vs11/$(1).vcxproj.filters
+ -$(RM) $(top_builddir)/win32/vs12/$(1).vcxproj
+ -$(RM) $(top_builddir)/win32/vs12/$(1).vcxproj.filters
+ -$(RM) $(top_builddir)/win32/vs14/$(1).vcxproj
+ -$(RM) $(top_builddir)/win32/vs14/$(1).vcxproj.filters
+
+
+ for F in $(_proj_files); do \
+ case $$$$F in \
+ $(_proj_filters)) \
+ ;; \
+ *.c|*.cpp|*.cc|*.cxx) \
+ echo ' <File RelativePath="..\..'$(_proj_subdir)$$$$F'" />' >>$(1).sourcefiles && \
+ echo ' <ClCompile Include="..\..'$(_proj_subdir)$$$$F'" />' >>$(1).vs10.sourcefiles && \
+ echo ' <ClCompile Include="..\..'$(_proj_subdir)$$$$F'"><Filter>Source Files</Filter></ClCompile>' >>$(1).vs10.sourcefiles.filters \
+ ;; \
+ esac; \
+ done
+
+
+ $(CPP) -P - <$(top_srcdir)/win32/vs9/$(1).vcprojin >$(top_builddir)/win32/vs9/$(1).vcproj
+ $(CPP) -P - <$(top_srcdir)/win32/vs10/$(1).vcxprojin >$(top_builddir)/win32/vs10/$(1).vcxproj
+ $(CPP) -P - <$(top_srcdir)/win32/vs10/$(1).vcxproj.filtersin >$(top_builddir)/win32/vs10/$(1).vcxproj.filters
+ $(RM) $(1).sourcefiles
+ $(RM) $(1).vs10.sourcefiles
+ $(RM) $(1).vs10.sourcefiles.filters
+
+$(top_builddir)/win32/vs10/$(1).vs10.headers: $(top_builddir)/win32/vs9/$(1).headers
+
+$(top_builddir)/win32/vs9/$(1).headers: Makefile
+ -$(RM) $(top_builddir)/win32/vs9/$(1).headers
+ -$(RM) $(top_builddir)/win32/vs10/$(1).vs10.headers
+
+ for F in $(_proj_headers); do \
+ case $$$$F in \
+ $(_proj_headers_excludes)) \
+ ;; \
+ *.h|*.hpp|*.hh|*.hxx) \
+ echo 'copy ..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F'&#x0D;&#x0A;' >>$(top_builddir)/win32/vs9/$(1).headers && \
+ echo 'copy ..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F >>$(top_builddir)/win32/vs10/$(1).vs10.headers \
+ ;; \
+ esac; \
+ done
+
+$(top_builddir)/win32/vs12/$(1).vcxproj.filters: $(top_builddir)/win32/vs12/$(1).vcxproj
+
+$(top_builddir)/win32/vs12/$(1).vcxproj: Makefile
+ -$(RM) $(top_builddir)/win32/vs14/$(1).vcxproj
+ -$(RM) $(top_builddir)/win32/vs14/$(1).vcxproj.filters
+
+ for F in $(_proj_files); do \
+ case $$$$F in \
+ $(_proj_filters)) \
+ ;; \
+ *.c|*.cpp|*.cc|*.cxx) \
+ echo ' <ClCompile Include="..\..'$(_proj_subdir)$$$$F'" />' >>$(1).vs12.sourcefiles && \
+ echo ' <ClCompile Include="..\..'$(_proj_subdir)$$$$F'"><Filter>Source Files</Filter></ClCompile>' >>$(1).vs12.sourcefiles.filters \
+ ;; \
+ esac; \
+ done
+
+ $(CPP) -P - <$(top_srcdir)/win32/vs12/$(1).vcxprojin >$(top_builddir)/win32/vs12/$(1).vcxproj
+ $(CPP) -P - <$(top_srcdir)/win32/vs12/$(1).vcxproj.filtersin >$(top_builddir)/win32/vs12/$(1).vcxproj.filters
+ $(RM) $(1).vs12.sourcefiles
+ $(RM) $(1).vs12.sourcefiles.filters
+
+$(top_builddir)/win32/vs12/$(1).vs12.headers: Makefile
+ -$(RM) $(top_builddir)/win32/vs12/$(1).vs12.headers
+
+ for F in $(_proj_headers); do \
+ case $$$$F in \
+ $(_proj_headers_excludes)) \
+ ;; \
+ *.h|*.hpp|*.hh|*.hxx) \
+ echo 'copy ..\..'$(_proj_subdir)$$$$F' $$$$(CopyDir)\include'$(_headers_destdir)'\'$$$$F >>$(top_builddir)/win32/vs12/$(1).vs12.headers \
+ ;; \
+ esac; \
+ done
+
+endef
+
+$(foreach proj,$(MSVCPROJS),$(eval $(call msvcproj-builder,$(proj))))
diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
new file mode 100644
index 00000000..61f979d4
--- /dev/null
+++ b/win32/detectenv-msvc.mak
@@ -0,0 +1,76 @@
+# Common NMake Makefile module for checking the build environment
+# This can be copied from $(glib_srcroot)\build\win32 for GNOME items
+# that support MSVC builds and introspection under MSVC, and can be used
+# for building test programs as well.
+
+# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
+# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
+!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)
+MSG = ^
+This Makefile is only for Visual Studio 2008 and later.^
+You need to ensure that the Visual Studio Environment is properly set up^
+before running this Makefile.
+!error $(MSG)
+!endif
+
+ERRNUL = 2>NUL
+_HASH=^#
+
+!if ![echo VCVERSION=_MSC_VER > vercl.x] \
+ && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
+ && ![echo PLAT=Win32 >> vercl.x] \
+ && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
+ && ![echo PLAT=x64 >> vercl.x] \
+ && ![echo $(_HASH)endif >> vercl.x] \
+ && ![cl -nologo -TC -P vercl.x $(ERRNUL)]
+!include vercl.i
+!if ![echo VCVER= ^\> vercl.vc] \
+ && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
+!include vercl.vc
+!endif
+!endif
+!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
+!endif
+
+!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
+VSVER = 9
+!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
+VSVER = 10
+!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
+VSVER = 11
+!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
+VSVER = 12
+!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
+VSVER = 14
+!else
+VSVER = 0
+!endif
+
+!if "$(VSVER)" == "0"
+MSG = ^
+This NMake Makefile set supports Visual Studio^
+9 (2008) through 14 (2015). Your Visual Studio^
+version is not supported.
+!error $(MSG)
+!endif
+
+VALID_CFGSET = FALSE
+!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
+VALID_CFGSET = TRUE
+!endif
+
+# We want debugging symbols logged for all builds,
+# using .pdb files for release builds
+CFLAGS_BASE = /Zi
+
+!if "$(CFG)" == "release" || "$(CFG)" == "Release"
+CFLAGS_ADD = /MD /O2 $(CFLAGS_BASE)
+!else
+CFLAGS_ADD = /MDd /Od $(CFLAGS_BASE)
+!endif
+
+!if "$(PLAT)" == "x64"
+LDFLAGS_ARCH = /machine:x64
+!else
+LDFLAGS_ARCH = /machine:x86
+!endif
diff --git a/win32/gen-win32-cairo-gir.py b/win32/gen-win32-cairo-gir.py
new file mode 100644
index 00000000..f26031b3
--- /dev/null
+++ b/win32/gen-win32-cairo-gir.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+#
+# Expand the bundled cairo-1.0.gir.in files
+# for use in Visual C++ builds of G-I
+#
+# Author: Fan, Chun-wei
+# Date: January 20, 2014
+#
+# (Adapted from setup.py in
+# $(glib_src_root)/build/win32/setup.py written by Shixin Zeng)
+
+import os
+import sys
+import argparse
+
+import replace
+
+from gi_msvc_build_utils import parent_dir
+
+def main(argv):
+ parser = argparse.ArgumentParser(description='Generate the complete cairo-1.0.gir')
+ parser.add_argument('--dllname',
+ required=True,
+ help='Full file name of the Cairo-GObject DLL for the Cairo Introspection File')
+ args = parser.parse_args()
+
+ # Get the srcroot and the path where the bundled .gir files reside in the package
+ srcroot = parent_dir(__file__)
+ preset_gir_path = os.path.join(srcroot, 'gir')
+
+ # Set up variables in cairo-1.0.gir.in to produce cairo-1.0.gir
+ cairo_replace_items = {'%CAIRO_GIR_PACKAGE%': 'cairo-gobject',
+ '%CAIRO_SHARED_LIBRARY%': args.dllname}
+ replace.replace_multi(os.path.join(preset_gir_path, 'cairo-1.0.gir.in'),
+ 'cairo-1.0.gir',
+ cairo_replace_items)
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/win32/gen-win32-g-ir-tools.py b/win32/gen-win32-g-ir-tools.py
new file mode 100644
index 00000000..444fe80f
--- /dev/null
+++ b/win32/gen-win32-g-ir-tools.py
@@ -0,0 +1,54 @@
+#!/usr/bin/python
+#
+# Expand the bundled cairo-1.0.gir.in files
+# for use in Visual C++ builds of G-I
+#
+# Author: Fan, Chun-wei
+# Date: January 20, 2014
+#
+# (Adapted from setup.py in
+# $(glib_src_root)/build/win32/setup.py written by Shixin Zeng)
+
+import os
+import sys
+import optparse
+
+import replace
+from gi_msvc_build_utils import parent_dir
+
+def setup_vars_tools(module, func, srcfile, outfile):
+ # This doesn't really matter for cmd.exe usage, but
+ # let's just set this like this here, in case one
+ # wants to use MinGW with the scripts generated here
+ replace.replace(srcfile,
+ outfile + '.tmp0',
+ '@PYTHON@',
+ 'python')
+
+ # Now replace the needed items...
+ replace.replace(outfile + '.tmp0',
+ outfile + '.tmp',
+ '@TOOL_MODULE@',
+ module)
+ os.unlink(outfile + '.tmp0')
+ replace.replace(outfile + '.tmp',
+ outfile,
+ '@TOOL_FUNCTION@',
+ func)
+ os.unlink(outfile + '.tmp')
+
+def main(argv):
+ modules = ['scannermain','annotationmain','docmain']
+ funcs = ['scanner_main','annotation_main','doc_main']
+ tools = ['g-ir-scanner','g-ir-annotation-tool','g-ir-doc-tool']
+
+ srcroot = parent_dir(__file__)
+ preset_tools_path = os.path.join(srcroot, 'tools')
+ src = os.path.join(preset_tools_path, 'g-ir-tool-template.in')
+
+ for i in range(3):
+ dest = os.path.join(preset_tools_path, tools[i])
+ setup_vars_tools(modules[i], funcs[i], src, dest)
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/win32/gi-build-common-msvc.mak b/win32/gi-build-common-msvc.mak
new file mode 100644
index 00000000..6d36ba84
--- /dev/null
+++ b/win32/gi-build-common-msvc.mak
@@ -0,0 +1,19 @@
+# Common NMake Makefile to Build Introspection Files and Tests for G-I
+
+# Please do not change anything after this line
+
+!include detectenv-msvc.mak
+
+GI_APIVERSION = 1.0
+GLIB_APIVERSION = 2.0
+
+CHECK_PACKAGE = gio-$(GLIB_APIVERSION)
+
+!include introspection-msvc.mak
+
+BINDIR = vs$(VSVER)\$(CFG)\$(PLAT)\bin
+TOP_SRCDIR = ..
+
+G_IR_SCANNER_CURRENT = $(TOP_SRCDIR)\tools\g-ir-scanner
+G_IR_DOC_TOOL_CURRENT = $(TOP_SRCDIR)\tools\g-ir-doc-tool
+G_IR_COMPILER_CURRENT = $(BINDIR)\g-ir-compiler.exe
diff --git a/win32/gi-introspection-msvc.mak b/win32/gi-introspection-msvc.mak
new file mode 100644
index 00000000..7a87f197
--- /dev/null
+++ b/win32/gi-introspection-msvc.mak
@@ -0,0 +1,194 @@
+# NMake Makefile to build Introspection Files for G-I
+
+# Change or pass in as a variable/env var if needed
+# The main DLLs that are used to build introspection files that are "installed"
+!if "$(CAIROGOBJECT_DLLNAME)" == ""
+!if "$(USE_LIBTOOL_NAME)" == "1"
+CAIROGOBJECT_DLLNAME = libcairo-gobject-2.dll
+!else
+CAIROGOBJECT_DLLNAME = cairo-gobject-vs$(VSVER).dll
+!endif
+!endif
+
+# Please do not change anything after this line
+
+!include gi-build-common-msvc.mak
+
+# The .gir's that are in $(srcroot)/gir, applicable to Windows
+# cairo-1.0.gir is not listed as it needs to be processed first
+bundled_girs = \
+ win32-1.0.gir \
+ fontconfig-2.0.gir \
+ freetype2-2.0.gir \
+ GL-1.0.gir \
+ libxml2-2.0.gir
+
+# The .typelib's that are build from the .gir's bundled with the
+# G-I package, applicable to Windows
+bundled_typelibs = \
+ cairo-1.0.typelib \
+ fontconfig-2.0.typelib \
+ freetype2-2.0.typelib \
+ GL-1.0.typelib \
+ libxml2-2.0.typelib \
+ win32-1.0.typelib
+
+# The .gir's for GLib/G-I that are built and "installed"
+built_install_girs = \
+ GLib-$(GLIB_APIVERSION).gir \
+ GModule-$(GLIB_APIVERSION).gir \
+ GObject-$(GLIB_APIVERSION).gir \
+ Gio-$(GLIB_APIVERSION).gir \
+ GIRepository-$(GLIB_APIVERSION).gir
+
+# The .typelib's for GLib/G-I that are built and "installed"
+built_install_typelibs = \
+ GLib-$(GLIB_APIVERSION).typelib \
+ GModule-$(GLIB_APIVERSION).typelib \
+ GObject-$(GLIB_APIVERSION).typelib \
+ Gio-$(GLIB_APIVERSION).typelib \
+ GIRepository-$(GLIB_APIVERSION).typelib
+
+!if "$(BUILD_INTROSPECTION)" == "TRUE"
+all: setgirbuildenv $(built_install_girs) $(built_install_typelibs) $(bundled_girs) $(bundled_typelibs) msg_cairo
+
+!include gi-setenv-msvc.mak
+
+glib_list:
+ @-echo Generating file list for GLib...
+ @-echo $(PREFIX)\lib\glib-2.0\include\glibconfig.h> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\glib\*.h') do @echo $(PREFIX)\include\glib-2.0\glib\%%a>> $@
+ @-echo $(PREFIX)\include\glib-2.0\gobject\glib-types.h>> $@
+ @-echo $(TOP_SRCDIR)\gir\glib-2.0.c>> $@
+
+gobject_list:
+ @-echo Generating file list for GObject...
+ @-type NUL > $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\gobject\*.h') do @if not %%a == glib-types.h @echo $(PREFIX)\include\glib-2.0\gobject\%%a>> $@
+ @-echo $(TOP_SRCDIR)\gir\gobject-2.0.c>> $@
+
+gio_list:
+ @-echo Generating file list for GIO...
+ @-type NUL > $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\gio-win32-2.0\gio\*.h') do @echo $(PREFIX)\include\gio-win32-2.0\gio\%%a>> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\gio\*.h') do @echo $(PREFIX)\include\glib-2.0\gio\%%a>> $@
+ @-echo $(TOP_SRCDIR)\gir\gio-2.0.c>> $@
+
+gi_list:
+ @-echo Generating file list for girepository...
+ @-echo $(TOP_SRCDIR)\girepository\girepository.h > $@
+ @-echo $(TOP_SRCDIR)\girepository\girepository.c >> $@
+ @-for /f %%a in ('dir /b $(TOP_SRCDIR)\girepository\gi*info.c') do @echo $(TOP_SRCDIR)\girepository\%%a >> $@
+ @-for /f %%a in ('dir /b $(TOP_SRCDIR)\girepository\gi*info.h') do @echo $(TOP_SRCDIR)\girepository\%%a >> $@
+ @-echo $(TOP_SRCDIR)\girepository\gitypelib.h >> $@
+ @-echo $(TOP_SRCDIR)\girepository\gitypes.h >> $@
+
+# Generated .gir files for GLib/GModule/GObject/Gio/GIRepository
+GLib-$(GLIB_APIVERSION).gir: glib_list
+ @-echo Generating $@...
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GLib --nsversion=$(GLIB_APIVERSION) \
+ --no-libtool --pkg=gio-windows-$(GLIB_APIVERSION) --pkg=glib-$(GLIB_APIVERSION) \
+ --include=win32-$(GI_APIVERSION) --library=glib-2.0 --library=gobject-2.0 \
+ --external-library --reparse-validate --identifier-prefix=G --symbol-prefix=g \
+ --symbol-prefix=glib --c-include="glib.h" -I$(PREFIX)\include\glib-$(GLIB_APIVERSION) \
+ -I$(PREFIX)\lib\glib-2.0\include -I$(PREFIX)\include -DGETTEXT_PACKAGE=Dummy \
+ -DGLIB_COMPILATION -D__G_I18N_LIB_H__ --filelist=glib_list -o $@
+
+GModule-$(GLIB_APIVERSION).gir: GLib-$(GLIB_APIVERSION).gir
+ @-echo Generating $@...
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GModule --nsversion=2.0 \
+ --no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gmodule-$(GLIB_APIVERSION) --library=gmodule-2.0 \
+ --external-library --reparse-validate --identifier-prefix=G --c-include="gmodule.h" \
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include -I$(PREFIX)\include \
+ $(PREFIX)\include\glib-2.0\gmodule.h $(TOP_SRCDIR)\gir\gmodule-2.0.c -o $@
+
+GObject-$(GLIB_APIVERSION).gir: gobject_list GModule-$(GLIB_APIVERSION).gir
+ @-echo Generating $@...
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GObject --nsversion=$(GLIB_APIVERSION) \
+ --no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gobject-$(GLIB_APIVERSION) --library=gobject-2.0 \
+ --external-library --reparse-validate --identifier-prefix=G --c-include="glib-gobject.h" \
+ -I$(PREFIX)/include/glib-2.0 -I$(PREFIX)/lib/glib-2.0/include -I$(PREFIX)/include \
+ -DGOBJECT_COMPILATION --filelist=gobject_list -o $@
+
+Gio-$(GLIB_APIVERSION).gir: gio_list GObject-$(GLIB_APIVERSION).gir
+ @-echo Generating $@...
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=Gio --nsversion=$(GLIB_APIVERSION) \
+ --no-libtool --pkg=gio-$(GLIB_APIVERSION) --pkg=gio-windows-$(GLIB_APIVERSION) --include=GObject-$(GLIB_APIVERSION) \
+ --library=gio-2.0 --external-library --reparse-validate --warn-all \
+ --identifier-prefix=G --include=GLib-$(GLIB_APIVERSION) --c-include="gio/gio.h" -DGIO_COMPILATION -DG_SETTINGS_ENABLE_BACKEND \
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include \
+ -I$(PREFIX)\include --filelist=gio_list -o $@
+
+GIRepository-$(GLIB_APIVERSION).gir: gi_list GObject-$(GLIB_APIVERSION).gir
+ @-echo Generating $@...
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose --warn-all \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GIRepository --nsversion=$(GLIB_APIVERSION) \
+ --identifier-prefix=GI --symbol-prefix=g --c-include="girepository.h" --add-include-path=. \
+ --no-libtool --pkg=gobject-$(GLIB_APIVERSION) --include=GObject-$(GLIB_APIVERSION) \
+ --library=girepository-1.0 -I$(TOP_SRCDIR)\girepository -I$(TOP_SRCDIR) -I$(PREFIX)\include \
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include --filelist=gi_list \
+ -DGI_COMPILATION -o $@
+
+# Bundled cairo-1.0.gir.in processing
+cairo-1.0.gir: $(TOP_SRCDIR)\gir\cairo-1.0.gir.in
+ @-echo Generating $@ from $*.gir.in...
+ @-$(PYTHON) gen-win32-cairo-gir.py --dllname=$(CAIROGOBJECT_DLLNAME)
+
+# Copy the .gir's bundled with G-I to this folder
+$(bundled_girs): $(TOP_SRCDIR)\gir\win32-1.0.gir $(TOP_SRCDIR)\gir\fontconfig-2.0.gir $(TOP_SRCDIR)\gir\freetype2-2.0.gir $(TOP_SRCDIR)\gir\GL-1.0.gir $(TOP_SRCDIR)\gir\libxml2-2.0.gir
+ @-echo Copying the bundled $*.gir that came with the GobjectIntrospection package...
+ @-copy $(TOP_SRCDIR)\gir\$*.gir $@
+
+# Generate .typelib's from generated .gir's
+$(built_install_typelibs): $(bundled_girs) $(built_install_girs)
+ @-echo Compiling $*.typelib...
+ @-$(G_IR_COMPILER_CURRENT) --includedir=. --debug --verbose $*.gir -o $@
+
+# Generate .typelib's from bundled .gir's
+$(bundled_typelibs): cairo-1.0.gir $(bundled_girs)
+ @-echo Compiling the bundled $*.gir that came with the GobjectIntrospection package...
+ @-$(G_IR_COMPILER_CURRENT) --includedir=. --debug --verbose $*.gir -o $@
+
+msg_cairo:
+ @-echo.
+ @-echo ************* Note ***********************************
+ @-echo The cairo-1.0.gir links to $(CAIROGOBJECT_DLLNAME),
+ @-echo please ensure that this is the correct DLL where the
+ @-echo cairo-gobject symbols can be loaded, which needs to
+ @-echo found when running programs or scripts that would
+ @-echo be using cairo-1.0.typelib.
+ @-echo.
+ @-echo If not, please clean the build and redo the build
+ @-echo specifying the correct DLL by passing in
+ @-echo CAIROGOBJECT_DLLNAME^=^<your DLL full filename^> when
+ @-echo invoking this NMake Makefile
+
+install-introspection: all
+ @-mkdir $(G_IR_INCLUDEDIR)
+ @-mkdir $(G_IR_TYPELIBDIR)
+ @-copy cairo-1.0.gir $(G_IR_INCLUDEDIR)
+ @-for %a in ($(built_install_girs)) do @copy %a $(G_IR_INCLUDEDIR)
+ @-for %b in ($(built_install_typelibs)) do @copy %b $(G_IR_TYPELIBDIR)
+ @-for %c in ($(bundled_girs)) do @copy %c $(G_IR_INCLUDEDIR)
+ @-for %d in ($(bundled_typelibs)) do @copy %d $(G_IR_TYPELIBDIR)
+
+!else
+all: install-introspection
+
+install-introspection:
+ @-echo $(ERROR_MSG)
+!endif
+
+clean:
+ @-del /f/q *.typelib
+ @-del /f/q *.gir
+ @-del /f/q gi_list
+ @-del /f/q gio_list
+ @-del /f/q gobject_list
+ @-del /f/q glib_list
+ @ if exist __pycache__ rmdir /s /q __pycache__
+ @-del /f/q *.pyc
diff --git a/win32/gi-setenv-msvc.mak b/win32/gi-setenv-msvc.mak
new file mode 100644
index 00000000..fe7935de
--- /dev/null
+++ b/win32/gi-setenv-msvc.mak
@@ -0,0 +1,12 @@
+# Common NMake Makefile to set Build Environment for
+# Building Introspection Files and Associated Tests
+
+# Please do not change anything after this line
+
+setgirbuildenv:
+ @set UNINSTALLED_INTROSPECTION_SRCDIR=$(TOP_SRCDIR)
+ @set UNINSTALLED_INTROSPECTION_BUILDDIR=$(TOP_SRCDIR)
+ @set PYTHONPATH=$(TOP_SRCDIR);$(BINDIR)
+ @set PATH=$(BINDIR);$(PREFIX)\bin;$(PATH)
+ @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+ @set LIB=vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(PREFIX)\lib;$(LIB)
diff --git a/win32/gi-tests-msvc.mak b/win32/gi-tests-msvc.mak
new file mode 100644
index 00000000..0b1f59c8
--- /dev/null
+++ b/win32/gi-tests-msvc.mak
@@ -0,0 +1,300 @@
+# NMake Makefile to build The Tests for G-I
+
+# Please do not change anything after this line
+
+!include gi-build-common-msvc.mak
+
+!if "$(CFG)" == "release"
+!if "$(VSVER)" == "9" && "$(PLAT)" == "x64"
+TESTS_CFLAGS_ADD = /MD /O1 /Oi
+!else
+TESTS_CFLAGS_ADD = $(CFLAGS_ADD)
+!endif
+!else
+TESTS_CFLAGS_ADD = /MDd /Od /Zi /DG_ENABLE_DEBUG
+!endif
+
+BASE_GLIB_LIBS = gio-$(GLIB_APIVERSION).lib gobject-$(GLIB_APIVERSION).lib gmodule-$(GLIB_APIVERSION).lib glib-$(GLIB_APIVERSION).lib
+CFLAGS = $(TESTS_CFLAGS_ADD) /I$(TOP_SRCDIR) /W3 /we4013 /FImsvc_recommended_pragmas.h /DHAVE_CONFIG_H
+LDFLAGS = /link $(LDFLAGS_ARCH) $(BASE_GLIB_LIBS) /DEBUG /opt:noref
+LDFLAGS_DLL = /link $(LDFLAGS_ARCH) /DLL /out:$@ /implib:$*-$(GI_APIVERSION).lib $(BASE_GLIB_LIBS) /DEBUG /opt:noref
+
+# Special CFLAGS for Regress test
+REGRESS_CFLAGS = /I$(PREFIX)\include\cairo /DREGRESS_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f" /DREGRESS_SOME_CHAR='c'
+
+# The test .gir's for G-I that are built
+built_test_girs = \
+ GIMarshallingTests-$(GI_APIVERSION).gir \
+ Everything-$(GI_APIVERSION).gir \
+ Offsets-$(GI_APIVERSION).gir \
+ SLetter-$(GI_APIVERSION).gir \
+ Utility-$(GI_APIVERSION).gir \
+ GtkFrob-$(GI_APIVERSION).gir \
+ GetType-$(GI_APIVERSION).gir \
+ WarnLib-$(GI_APIVERSION).gir \
+ Typedefs-$(GI_APIVERSION).gir \
+ Regress-$(GI_APIVERSION).gir \
+ Bar-$(GI_APIVERSION).gir \
+ Headeronly-$(GI_APIVERSION).gir \
+ Identfilter-$(GI_APIVERSION).gir
+
+built_test_typelibs = \
+ GIMarshallingTests-$(GI_APIVERSION).typelib \
+ Everything-$(GI_APIVERSION).typelib \
+ Offsets-$(GI_APIVERSION).typelib \
+ SLetter-$(GI_APIVERSION).typelib \
+ Utility-$(GI_APIVERSION).typelib \
+ GtkFrob-$(GI_APIVERSION).typelib \
+ GetType-$(GI_APIVERSION).typelib \
+ WarnLib-$(GI_APIVERSION).typelib \
+ Typedefs-$(GI_APIVERSION).typelib \
+ Regress-$(GI_APIVERSION).typelib \
+ Bar-$(GI_APIVERSION).typelib \
+ Headeronly-$(GI_APIVERSION).typelib \
+ Identfilter-$(GI_APIVERSION).typelib
+
+test_programs = \
+ gitestrepo.exe \
+ gitestthrows.exe \
+ giteststructinfo.exe \
+ gitypelibtest.exe \
+ gitestoffsets.exe
+
+built_doc_tests = \
+ Regress-$(GI_APIVERSION)-C \
+ Regress-$(GI_APIVERSION)-Python \
+ Regress-$(GI_APIVERSION)-Gjs \
+ Regress-$(GI_APIVERSION)-sections.txt
+
+!if "$(BUILD_INTROSPECTION)" == "TRUE"
+all: setgirbuildenv $(built_test_girs) $(built_test_typelibs) $(test_programs) $(built_doc_tests) warn_tests_log.txt
+
+!include gi-setenv-msvc.mak
+
+# Rules for building the test DLLs
+gimarshallingtests.dll: $(TOP_SRCDIR)\tests\gimarshallingtests.c
+ $(CC) $(CFLAGS) $(TOP_SRCDIR)\tests\gimarshallingtests.c $(LDFLAGS_DLL)
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
+
+everything.dll: everything.c everything.h
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests everything.c $(LDFLAGS_DLL)
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
+
+offsets.dll: $(TOP_SRCDIR)\tests\offsets\offsets.c
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests /I$(TOP_SRCDIR)\tests\offsets $(TOP_SRCDIR)\tests\offsets\offsets.c $(LDFLAGS_DLL)
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
+
+{$(TOP_SRCDIR)\tests\scanner\}.c{}.dll:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests $< $(LDFLAGS_DLL)
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
+
+regress.dll:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests \
+ $(REGRESS_CFLAGS) \
+ $(TOP_SRCDIR)\tests\scanner\regress.c \
+ $(TOP_SRCDIR)\tests\scanner\annotation.c \
+ $(TOP_SRCDIR)\tests\scanner\foo.c \
+ $(TOP_SRCDIR)\tests\scanner\drawable.c \
+ $(LDFLAGS_DLL) cairo-gobject.lib cairo.lib
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
+
+# Rules for test programs
+{$(TOP_SRCDIR)\tests\repository\}.c{}.exe:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository $< $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
+
+{$(TOP_SRCDIR)\tests\scanner\}.c{}.exe:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository -I$(TOP_SRCDIR)\tests $< $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
+
+gitestoffsets.exe: gitestoffsets.c
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository /I$(TOP_SRCDIR)\tests\offsets /I$(TOP_SRCDIR)\tests $*.c $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+ @-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
+ @set GI_TYPELIB_PATH=.
+ @-$@ offsets.compiled offsets.introspected
+ @-fc offsets.compiled offsets.introspected > gitestoffsets.log
+
+# Rules for building the .gir's
+GIMarshallingTests-$(GI_APIVERSION).gir: gimarshallingtests.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ --namespace=GIMarshallingTests --symbol-prefix=gi_marshalling_tests --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR) \
+ --add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
+ --library=$* --output=$@ \
+ --c-include="tests/gimarshallingtests.h" \
+ $(TOP_SRCDIR)\tests\gimarshallingtests.h $(TOP_SRCDIR)\tests\gimarshallingtests.c
+
+Everything-$(GI_APIVERSION).gir: everything.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ --namespace=Everything --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR) -I$(TOP_SRCDIR)\tests \
+ --add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
+ --library=$* --output=$@ \
+ everything.h everything.c
+
+Offsets-$(GI_APIVERSION).gir: offsets.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ --namespace=Offsets --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR) -I$(TOP_SRCDIR)\tests\offsets -I$(TOP_SRCDIR)\tests \
+ --pkg=gobject-$(GLIB_APIVERSION) --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\offsets\offsets.h $(TOP_SRCDIR)\tests\offsets\offsets.c
+
+SLetter-$(GI_APIVERSION).gir: sletter.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=SLetter --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
+ --add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
+ --identifier-prefix=S --c-include="sletter.h" --warn-error \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\sletter.h $(TOP_SRCDIR)\tests\scanner\sletter.c
+
+Utility-$(GI_APIVERSION).gir: utility.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=Utility --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
+ --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --c-include="utility.h" --warn-error \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\utility.h $(TOP_SRCDIR)\tests\scanner\utility.c
+
+GtkFrob-$(GI_APIVERSION).gir: gtkfrob.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=GtkFrob --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
+ --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\gtkfrob.h $(TOP_SRCDIR)\tests\scanner\gtkfrob.c
+
+GetType-$(GI_APIVERSION).gir: gettype.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=GetType --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
+ --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\gettype.h $(TOP_SRCDIR)\tests\scanner\gettype.c
+
+Typedefs-$(GI_APIVERSION).gir: typedefs.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=Typedefs --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
+ --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\typedefs.h $(TOP_SRCDIR)\tests\scanner\typedefs.c
+
+WarnLib-$(GI_APIVERSION).gir: warnlib.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=WarnLib --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
+ --add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
+ --c-include="warnlib.h" --symbol-prefix=warnlib_ \
+ --library=$* --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\warnlib.h $(TOP_SRCDIR)\tests\scanner\warnlib.c
+
+Regress-$(GI_APIVERSION).gir: Utility-$(GI_APIVERSION).gir regress.dll
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
+ --namespace=Regress --nsversion=$(GI_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
+ --add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
+ --include=Utility-$(GI_APIVERSION) --include=cairo-$(GI_APIVERSION) \
+ --c-include="regress.h" --warn-error \
+ --library=$* --output=$@ \
+ $(REGRESS_CFLAGS) \
+ $(TOP_SRCDIR)\tests\scanner\regress.c $(TOP_SRCDIR)\tests\scanner\regress.h \
+ $(TOP_SRCDIR)\tests\scanner\annotation.c $(TOP_SRCDIR)\tests\scanner\annotation.h \
+ $(TOP_SRCDIR)\tests\scanner\foo.c $(TOP_SRCDIR)\tests\scanner\foo.h \
+ $(TOP_SRCDIR)\tests\scanner\drawable.c $(TOP_SRCDIR)\tests\scanner\drawable.h
+
+Bar-$(GI_APIVERSION).gir: Utility-$(GI_APIVERSION).gir barapp.exe
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
+ --namespace=Bar --nsversion=$(GI_APIVERSION) \
+ --program=barapp \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
+ --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
+ --accept-unprefixed \
+ --output=$@ \
+ $(TOP_SRCDIR)\tests\scanner\barapp.c $(TOP_SRCDIR)\tests\scanner\barapp.h
+
+Headeronly-$(GI_APIVERSION).gir:
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
+ --warn-error --reparse-validate --namespace=Headeronly --nsversion=$(GI_APIVERSION) \
+ --header-only --output=$@ $(TOP_SRCDIR)\tests\scanner\headeronly.h
+
+Identfilter-$(GI_APIVERSION).gir:
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ --namespace=Identfilter --accept-unprefixed --nsversion=1.0 --header-only \
+ --identifier-filter-cmd="$(PYTHON) $(TOP_SRCDIR)\tests\scanner\identfilter.py" \
+ --output=$@ $(TOP_SRCDIR)\tests\scanner\identfilter.h
+
+# Rules for doc (Mallard) tests
+Regress-$(GI_APIVERSION)-C: Regress-$(GI_APIVERSION).gir
+ @-if exist $@ @rmdir /s /q $@
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language C .\Regress-$(GI_APIVERSION).gir -o .\$@\
+
+Regress-$(GI_APIVERSION)-Python: Regress-$(GI_APIVERSION).gir
+ @-if exist $@ @rmdir /s /q $@
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Python .\Regress-$(GI_APIVERSION).gir -o .\$@\
+
+Regress-$(GI_APIVERSION)-Gjs: Regress-$(GI_APIVERSION).gir
+ @-if exist $@ @rmdir /s /q $@
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Gjs .\Regress-$(GI_APIVERSION).gir -o .\$@\
+
+Regress-$(GI_APIVERSION)-sections.txt: Regress-$(GI_APIVERSION).gir
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --write-sections-file .\Regress-$(GI_APIVERSION).gir -o $@
+
+# Run warn tests
+warn_tests_log.txt:
+ @-echo Runinng warn tests...
+ @-copy GObject-$(GLIB_APIVERSION).gir $(TOP_SRCDIR)\gir
+ @-copy GLib-$(GLIB_APIVERSION).gir $(TOP_SRCDIR)\gir
+ @-set TOP_BUILDDIR=..
+ @-for %a in ($(TOP_SRCDIR)\tests\warn\*.h) do if not "%a" == "$(TOP_SRCDIR)\tests\warn\common.h" $(PYTHON) $(TOP_SRCDIR)\tests\warn\warningtester.py %a >> $@
+ @-del $(TOP_SRCDIR)\gir\GObject-$(GLIB_APIVERSION).gir
+ @-del $(TOP_SRCDIR)\gir\GLib-$(GLIB_APIVERSION).gir
+
+# Rules for source code generation
+everything.c everything.h:
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) -I$(TOP_SRCDIR) \
+ --generate-typelib-tests=Everything,everything.h,everything.c \
+ --function-decoration=_GI_TEST_EXTERN \
+ --include-first-in-src=config.h \
+ --include-last-in-header=gitestmacros.h
+
+gitestoffsets.c: Offsets-$(GI_APIVERSION).typelib
+ $(PYTHON) $(TOP_SRCDIR)\tests\offsets\gen-gitestoffsets $(TOP_SRCDIR)\tests\offsets\offsets.h > $@
+
+# Generate .typelib's from generated .gir's
+$(built_test_typelibs): $(built_test_girs)
+ @-echo Compiling $*.typelib...
+ @-$(G_IR_COMPILER_CURRENT) --includedir=. --debug --verbose $*.gir -o $@
+
+!else
+all: install-introspection
+
+install-introspection:
+ @-echo $(ERROR_MSG)
+!endif
+
+clean:
+ @-del /f/q warn_tests_log.txt
+ @-del /f/q gitestoffsets.log
+ @-del /f/q Regress-$(GI_APIVERSION)-sections.txt
+ @-rmdir /s /q Regress-$(GI_APIVERSION)-Gjs
+ @-rmdir /s /q Regress-$(GI_APIVERSION)-Python
+ @-rmdir /s /q Regress-$(GI_APIVERSION)-C
+ @-for %a in ($(built_test_typelibs)) do @del %a
+ @-for %a in ($(built_test_girs)) do @del %a
+ @-del /f/q *.ilk
+ @-del /f/q *.lib
+ @-del /f/q *.exp
+ @-del /f/q *.dll
+ @-del /f/q *.exe
+ @-for %a in (*.manifest) do @del /f/q %a
+ @-del /f/q *.pdb
+ @-del /f/q *.obj
+ @-del /f/q everything.c everything.h gitestoffsets.c
+ @-del offsets.compiled offsets.introspected
+ @-del /f/q *.pyc
diff --git a/win32/gi_msvc_build_utils.py b/win32/gi_msvc_build_utils.py
new file mode 100644
index 00000000..150f66ec
--- /dev/null
+++ b/win32/gi_msvc_build_utils.py
@@ -0,0 +1,8 @@
+import os
+
+def parent_dir(path):
+ if not os.path.isabs(path):
+ path = os.path.abspath(path)
+ if os.path.isfile(path):
+ path = os.path.dirname(path)
+ return os.path.split(path)[0]
diff --git a/win32/gipc.py b/win32/gipc.py
new file mode 100644
index 00000000..9fd066c8
--- /dev/null
+++ b/win32/gipc.py
@@ -0,0 +1,101 @@
+#!/usr/bin/python
+#
+# Utility script to generate .pc files for GLib
+# for Visual Studio builds, to be used for
+# building introspection files
+
+# Author: Fan, Chun-wei
+# Date: March 10, 2016
+
+import os
+import sys
+
+from replace import replace_multi
+from pc_base import BasePCItems
+
+def main(argv):
+ base_pc = BasePCItems()
+
+ base_pc.setup(argv)
+ pkg_replace_items = {'@bindir@': '${exec_prefix}/bin',
+ '@datarootdir@': '${exec_prefix}/share',
+ '@datadir@': '${datarootdir}',
+ '@EXEEXT@': '.exe',
+ '@FFI_PC_CFLAGS@': '',
+ '@FFI_PC_PACKAGES@': '',
+ '@FFI_PC_LIBS@': '',
+ '${bindir}/g-ir-scanner': 'python ${bindir}/g-ir-scanner'}
+
+ pkg_replace_items.update(base_pc.base_replace_items)
+
+ # Generate gobject-introspection-1.0.pc
+ replace_multi(base_pc.top_srcdir + '/gobject-introspection-1.0.pc.in',
+ base_pc.srcdir + '/gobject-introspection-1.0.pc',
+ pkg_replace_items)
+
+ # Generate gobject-introspection-no-export-1.0.pc
+ replace_multi(base_pc.top_srcdir + '/gobject-introspection-no-export-1.0.pc.in',
+ base_pc.srcdir + '/gobject-introspection-no-export-1.0.pc',
+ pkg_replace_items)
+
+ # Generate a generic .pc file for Cairo, that is just sufficient for our purposes
+ cairo_version = '1.14.6' # Use the latest stable version, for now.
+ cairo_pc = open(base_pc.srcdir + '/cairo.pc', 'w')
+ cairo_pc.write('prefix=' + base_pc.prefix + '\n')
+ cairo_pc.write('exec_prefix=${prefix}\n')
+ cairo_pc.write('libdir=${prefix}/lib\n')
+ cairo_pc.write('includedir=${prefix}/include\n\n')
+ cairo_pc.write('Name: cairo\n')
+ cairo_pc.write('Description: generic cairo pkg-config file\n')
+ cairo_pc.write('Version: ' + cairo_version + '\n\n')
+ cairo_pc.write('Requires.private:\n')
+ cairo_pc.write('Libs: -L${libdir} -lcairo\n')
+ cairo_pc.write('Libs.private:\n')
+ cairo_pc.write('Cflags: -I${includedir}\n')
+ cairo_pc.close()
+
+ # Generate a generic .pc file for Cairo-Win32, that is just sufficient for our
+ # purposes
+ # Just make a copy of the cairo.pc we just generated and replace the items as needed
+ cairo_win32_replace_items = \
+ {'generic cairo pkg-config file': 'generic cairo-win32 pkg-config file'}
+ replace_multi(base_pc.srcdir + '/cairo.pc',
+ base_pc.srcdir + '/cairo-win32.pc',
+ cairo_win32_replace_items)
+
+ # Generate a generic .pc file for Cairo-GObject, that is just sufficient for our
+ # purposes
+ # Just make a copy of the cairo.pc we just generated and replace the items as needed
+ cairo_gobject_replace_items = \
+ {'Requires.private:': 'Requires.private: gobject-2.0,glib-2.0',
+ 'generic cairo pkg-config file': 'generic cairo-gobject pkg-config file',
+ '-lcairo': '-lcairo-gobject'}
+ replace_multi(base_pc.srcdir + '/cairo.pc',
+ base_pc.srcdir + '/cairo-gobject.pc',
+ cairo_gobject_replace_items)
+
+ # Generate a generic .pc file for libxml2, that is just sufficient for our purposes
+ libxml2_version = '2.9.3' # Use the latest stable version, for now.
+ libxml2_replace_items = \
+ {'Name: cairo': 'Name: libXML',
+ 'Version: ' + cairo_version: 'Version: ' + libxml2_version,
+ 'generic cairo pkg-config file': 'generic libXML2 pkg-config file',
+ '-lcairo': '-llibxml2',
+ 'Cflags: -I${includedir}': 'Cflags: -I${includedir}/libxml2'}
+ replace_multi(base_pc.srcdir + '/cairo.pc',
+ base_pc.srcdir + '/libxml-2.0.pc',
+ libxml2_replace_items)
+
+ # Generate a generic .pc file for freetype2, that is just sufficient for our purposes
+ ft2_version = '2.6.3' # Use the latest stable version, for now.
+ ft2_replace_items = \
+ {'Name: cairo': 'Name: FreeType 2',
+ 'Version: ' + cairo_version: 'Version: ' + ft2_version,
+ 'generic cairo pkg-config file': 'generic FreeType2 pkg-config file',
+ '-lcairo': '-lfreetype'}
+ replace_multi(base_pc.srcdir + '/cairo.pc',
+ base_pc.srcdir + '/freetype2.pc',
+ ft2_replace_items)
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/win32/introspection-msvc.mak b/win32/introspection-msvc.mak
new file mode 100644
index 00000000..26501f52
--- /dev/null
+++ b/win32/introspection-msvc.mak
@@ -0,0 +1,94 @@
+# Common NMake Makefile module for checking the build environment is sane
+# for building introspection files under MSVC/NMake.
+# This can be copied from $(gi_srcroot)\build\win32 for GNOME items
+# that support MSVC builds and introspection under MSVC.
+
+# Can override with env vars as needed
+# You will need to have built gobject-introspection for this to work.
+# Change or pass in or set the following to suit your environment
+
+!if "$(PREFIX)" == ""
+PREFIX = ..\..\vs$(VSVER)\$(PLAT)
+!endif
+
+!if ![setlocal] && \
+ ![set PFX=$(PREFIX)] && \
+ ![for %P in (%PFX%) do @echo PREFIX_FULL=%~dpnfP > pfx.x]
+!endif
+!include pfx.x
+
+!if "$(PKG_CONFIG_PATH)" == ""
+PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig
+!else
+PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig;$(PKG_CONFIG_PATH)
+!endif
+
+!if ![del $(ERRNUL) /q/f pfx.x]
+!endif
+
+# Note: The PYTHON must be the Python release series that was used to build
+# the GObject-introspection scanner Python module!
+# Either having python.exe your PATH will work or passing in
+# PYTHON=<full path to your Python interpretor> will do
+
+# This is required, and gobject-introspection needs to be built
+# before this can be successfully run.
+!if "$(PYTHON)" == ""
+PYTHON=python
+!endif
+
+# Path to the pkg-config tool, if not already in the PATH
+!if "$(PKG_CONFIG)" == ""
+PKG_CONFIG=pkg-config
+!endif
+
+# Don't change anything following this line!
+
+GIR_SUBDIR = share\gir-1.0
+GIR_TYPELIBDIR = lib\girepository-1.0
+G_IR_SCANNER = $(PREFIX)\bin\g-ir-scanner
+G_IR_COMPILER = $(PREFIX)\bin\g-ir-compiler.exe
+G_IR_INCLUDEDIR = $(PREFIX)\$(GIR_SUBDIR)
+G_IR_TYPELIBDIR = $(PREFIX)\$(GIR_TYPELIBDIR)
+
+VALID_PKG_CONFIG_PATH = FALSE
+
+MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
+MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files
+
+ERROR_MSG =
+
+BUILD_INTROSPECTION = TRUE
+
+!if ![set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)] \
+ && ![$(PKG_CONFIG) --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x] \
+ && ![setlocal] \
+ && ![set file="pkgconfig.x"] \
+ && ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize] \
+ && ![del $(ERRNUL) /q/f pkgconfig.x]
+!endif
+
+!include pkgconfig.chksize
+!if "$(PKG_CHECK_SIZE)" == "0"
+VALID_PKG_CONFIG_PATH = TRUE
+!else
+VALID_PKG_CONFIG_PATH = FALSE
+!endif
+
+!if ![del $(ERRNUL) /q/f pkgconfig.chksize]
+!endif
+
+VALID_CFGSET = FALSE
+!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
+VALID_CFGSET = TRUE
+!endif
+
+!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE"
+BUILD_INTROSPECTION = FALSE
+ERROR_MSG = $(MSG_INVALID_PKGCONFIG)
+!endif
+
+!if "$(VALID_CFGSET)" != "TRUE"
+BUILD_INTROSPECTION = FALSE
+ERROR_MSG = $(MSG_INVALID_CFG)
+!endif
diff --git a/win32/pc_base.py b/win32/pc_base.py
new file mode 100644
index 00000000..285b6cdd
--- /dev/null
+++ b/win32/pc_base.py
@@ -0,0 +1,124 @@
+#!/usr/bin/python
+#
+# Simple utility script to generate the basic info
+# needed in a .pc (pkg-config) file, used especially
+# for introspection purposes
+
+# This can be used in various projects where
+# there is the need to generate .pc files,
+# and is copied from GLib's $(srcroot)/build/win32
+
+# Author: Fan, Chun-wei
+# Date: March 10, 2016
+
+import os
+import sys
+import argparse
+
+class BasePCItems:
+ def __init__(self):
+ self.base_replace_items = {}
+ self.exec_prefix = ''
+ self.includedir = ''
+ self.libdir = ''
+ self.prefix = ''
+ self.srcdir = os.path.dirname(__file__)
+ self.top_srcdir = self.srcdir + '\\..'
+ self.version = ''
+
+ def setup(self, argv, parser=None):
+ if parser is None:
+ parser = argparse.ArgumentParser(description='Setup basic .pc file info')
+ parser.add_argument('--prefix', help='prefix of the installed library',
+ required=True)
+ parser.add_argument('--exec-prefix',
+ help='prefix of the installed programs, \
+ if different from the prefix')
+ parser.add_argument('--includedir',
+ help='includedir of the installed library, \
+ if different from ${prefix}/include')
+ parser.add_argument('--libdir',
+ help='libdir of the installed library, \
+ if different from ${prefix}/lib')
+ parser.add_argument('--version', help='Version of the package',
+ required=True)
+ args = parser.parse_args()
+
+ self.version = args.version
+
+ # check whether the prefix and exec_prefix are valid
+ if not os.path.exists(args.prefix):
+ raise SystemExit('Specified prefix \'%s\' is invalid' % args.prefix)
+
+ # use absolute paths for prefix
+ self.prefix = os.path.abspath(args.prefix).replace('\\','/')
+
+ # check and setup the exec_prefix
+ if getattr(args, 'exec_prefix', None) is None:
+ exec_prefix_use_shorthand = True
+ self.exec_prefix = '${prefix}'
+ else:
+ if args.exec_prefix.startswith('${prefix}'):
+ exec_prefix_use_shorthand = True
+ input_exec_prefix = args.prefix + args.exec_prefix[len('${prefix}'):]
+ else:
+ exec_prefix_use_shorthand = False
+ input_exec_prefix = args.exec_prefix
+ if not os.path.exists(input_exec_prefix):
+ raise SystemExit('Specified exec_prefix \'%s\' is invalid' %
+ args.exec_prefix)
+ if exec_prefix_use_shorthand is True:
+ self.exec_prefix = args.exec_prefix.replace('\\','/')
+ else:
+ self.exec_prefix = os.path.abspath(input_exec_prefix).replace('\\','/')
+
+ # check and setup the includedir
+ if getattr(args, 'includedir', None) is None:
+ self.includedir = '${prefix}/include'
+ else:
+ if args.includedir.startswith('${prefix}'):
+ includedir_use_shorthand = True
+ input_includedir = args.prefix + args.includedir[len('${prefix}'):]
+ else:
+ if args.includedir.startswith('${exec_prefix}'):
+ includedir_use_shorthand = True
+ input_includedir = input_exec_prefix + args.includedir[len('${exec_prefix}'):]
+ else:
+ includedir_use_shorthand = False
+ input_includedir = args.includedir
+ if not os.path.exists(input_includedir):
+ raise SystemExit('Specified includedir \'%s\' is invalid' %
+ args.includedir)
+ if includedir_use_shorthand is True:
+ self.includedir = args.includedir.replace('\\','/')
+ else:
+ self.includedir = os.path.abspath(input_includedir).replace('\\','/')
+
+ # check and setup the libdir
+ if getattr(args, 'libdir', None) is None:
+ self.libdir = '${prefix}/lib'
+ else:
+ if args.libdir.startswith('${prefix}'):
+ libdir_use_shorthand = True
+ input_libdir = args.prefix + args.libdir[len('${prefix}'):]
+ else:
+ if args.libdir.startswith('${exec_prefix}'):
+ libdir_use_shorthand = True
+ input_libdir = input_exec_prefix + args.libdir[len('${exec_prefix}'):]
+ else:
+ libdir_use_shorthand = False
+ input_libdir = args.libdir
+ if not os.path.exists(input_libdir):
+ raise SystemExit('Specified libdir \'%s\' is invalid' %
+ args.libdir)
+ if libdir_use_shorthand is True:
+ self.libdir = args.libdir.replace('\\','/')
+ else:
+ self.libdir = os.path.abspath(input_libdir).replace('\\','/')
+
+ # setup dictionary for replacing items in *.pc.in
+ self.base_replace_items.update({'@VERSION@': self.version})
+ self.base_replace_items.update({'@prefix@': self.prefix})
+ self.base_replace_items.update({'@exec_prefix@': self.exec_prefix})
+ self.base_replace_items.update({'@libdir@': self.libdir})
+ self.base_replace_items.update({'@includedir@': self.includedir})
diff --git a/win32/replace.py b/win32/replace.py
new file mode 100644
index 00000000..a81bab94
--- /dev/null
+++ b/win32/replace.py
@@ -0,0 +1,109 @@
+#!/usr/bin/python
+#
+# Simple utility script to manipulate
+# certain types of strings in a file
+
+# This can be used in various projects where
+# there is the need to replace strings in files,
+# and is copied from GLib's $(srcroot)/build/win32
+
+# Author: Fan, Chun-wei
+# Date: September 03, 2014
+
+import os
+import sys
+import re
+import string
+import argparse
+
+valid_actions = ['remove-prefix',
+ 'replace-var',
+ 'replace-str',
+ 'remove-str']
+
+def replace_multi(src, dest, replace_items):
+ with open(src, 'r') as s:
+ with open(dest, 'w') as d:
+ for line in s:
+ replace_dict = dict((re.escape(key), value) \
+ for key, value in replace_items.items())
+ replace_pattern = re.compile("|".join(replace_dict.keys()))
+ d.write(replace_pattern.sub(lambda m: \
+ replace_dict[re.escape(m.group(0))], line))
+
+def replace(src, dest, instring, outstring):
+ replace_item = {instring: outstring}
+ replace_multi(src, dest, replace_item)
+
+def check_required_args(args, params):
+ for param in params:
+ if getattr(args, param, None) is None:
+ raise SystemExit('%s: error: --%s argument is required' % (__file__, param))
+
+def warn_ignored_args(args, params):
+ for param in params:
+ if getattr(args, param, None) is not None:
+ print('%s: warning: --%s argument is ignored' % (__file__, param))
+
+def main(argv):
+
+ parser = argparse.ArgumentParser(description='Process strings in a file.')
+ parser.add_argument('-a',
+ '--action',
+ help='Action to carry out. Can be one of:\n'
+ 'remove-prefix\n'
+ 'replace-var\n'
+ 'replace-str\n'
+ 'remove-str',
+ choices=valid_actions)
+ parser.add_argument('-i', '--input', help='Input file')
+ parser.add_argument('-o', '--output', help='Output file')
+ parser.add_argument('--instring', help='String to replace or remove')
+ parser.add_argument('--var', help='Autotools variable name to replace')
+ parser.add_argument('--outstring',
+ help='New String to replace specified string or variable')
+ parser.add_argument('--removeprefix', help='Prefix of string to remove')
+
+ args = parser.parse_args()
+
+ input_string = ''
+ output_string = ''
+
+ # We must have action, input, output for all operations
+ check_required_args(args, ['action','input','output'])
+
+ # Build the arguments by the operation that is to be done,
+ # to be fed into replace()
+
+ # Get rid of prefixes from a string
+ if args.action == 'remove-prefix':
+ check_required_args(args, ['instring','removeprefix'])
+ warn_ignored_args(args, ['outstring','var'])
+ input_string = args.removeprefix + args.instring
+ output_string = args.instring
+
+ # Replace an m4-style variable (those surrounded by @...@)
+ if args.action == 'replace-var':
+ check_required_args(args, ['var','outstring'])
+ warn_ignored_args(args, ['instring','removeprefix'])
+ input_string = '@' + args.var + '@'
+ output_string = args.outstring
+
+ # Replace a string
+ if args.action == 'replace-str':
+ check_required_args(args, ['instring','outstring'])
+ warn_ignored_args(args, ['var','removeprefix'])
+ input_string = args.instring
+ output_string = args.outstring
+
+ # Remove a string
+ if args.action == 'remove-str':
+ check_required_args(args, ['instring'])
+ warn_ignored_args(args, ['var','outstring','removeprefix'])
+ input_string = args.instring
+ output_string = ''
+
+ replace(args.input, args.output, input_string, output_string)
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/win32/vs10/Makefile.am b/win32/vs10/Makefile.am
new file mode 100644
index 00000000..70d39778
--- /dev/null
+++ b/win32/vs10/Makefile.am
@@ -0,0 +1,47 @@
+GENERATED_ITEMS = \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ gi-install.props
+
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-gen-srcs.props \
+ gi-install.propsin \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxprojin \
+ girepository.vcxproj.filtersin \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxprojin \
+ cmph.vcxproj.filtersin \
+ g-ir-compiler.vcxprojin \
+ g-ir-compiler.vcxproj.filtersin \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ g-ir-inspect.vcxproj \
+ g-ir-inspect.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ gi-install.vcxproj \
+ gi-install.vcxproj.filters \
+ gi-introspect.vcxproj \
+ README.txt \
+ $(GENERATED_ITEMS)
+
+gi-install.props: $(top_srcdir)/win32/vs10/gi-install.propsin girepository.vs10.headers giscanner.vs10.scripts
+ -$(RM) $(top_builddir)/win32/vs11/gi-install.props
+ -$(RM) $(top_builddir)/win32/vs12/gi-install.props
+ -$(RM) $(top_builddir)/win32/vs14/gi-install.props
+ $(CPP) -P - <$(top_srcdir)/win32/vs10/gi-install.propsin >$@
+ $(RM) girepository.vs10.headers
+ $(RM) giscanner.vs10.scripts
+
+DISTCLEANFILES = $(GENERATED_ITEMS)
diff --git a/win32/vs10/README.txt b/win32/vs10/README.txt
new file mode 100644
index 00000000..d3ff8b48
--- /dev/null
+++ b/win32/vs10/README.txt
@@ -0,0 +1,104 @@
+Please do not compile this package (gobject-introspection) in paths that contain
+spaces in them-as strange problems may occur during compilation or during
+the use of the library.
+
+Please refer to the following GNOME Live! page for more detailed
+instructions on building gobject-introsecption and its dependencies
+with Visual C++:
+
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
+
+This VS10 solution and the projects it includes are intented to be used
+in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
+first need to use some Unix-like environment, which will do the work for you.
+
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2010 to avoid problems cause by
+usage of different CRTs.
+
+Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs10 on how to build
+GLib using Visual C++ 2010
+
+For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
+was added in the 3.0.10 release series. Please see the README file that
+comes with the LibFFI source package for more details on how to build LibFFI
+on Visual C++-please note that the mozilla-build package from Mozilla is needed
+in order to build LibFFI on Windows.
+
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.sdf and
+*.suo files and reopening the project files.
+
+For building the Regress test project, cairo (and possibly cairo-gobject support)
+is needed.
+
+Set up the source tree as follows under some arbitrary top
+folder <root>:
+
+<root>\<this-gobject-introspection-source-tree>
+<root>\vs10\<PlatformName>
+
+*this* file you are now reading is thus located at
+<root>\<this-glib-source-tree>\build\win32\vs10\README.
+
+<PlatformName> is either Win32 or x64, as in VS10 project files.
+
+For LibFFI, one should also put the generated ffi.h and ffitarget.h
+into <root>\vs10\<PlatformName>\include\ and the compiled static libffi.lib
+(or copy libffi-convenience.lib into libffi.lib) into
+<root>\vs10\<PlatformName>\lib\.
+
+The libintl.h that is used for building GLib needs to be in
+<root>\vs10\<PlatformName>\include, if not already done so.
+
+A working pkg-config tool is also required-it may be obtained from
+http://www.gtk.org/download/win32.php [32-bit]
+http://www.gtk.org/download/win64.php [64-bit]
+
+*** Note! ***
+The build of G-I is now done within the project files, although it is still possible to
+do it in two stages by using the NMake Makefiles after building the projects.
+
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)
+ is by default <parent_dir_of_G-I_srcroot>\vs10\<PlatformName>. If searching from
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will
+ precede the set paths.
+-For the Python Path using the project files: check whether the directory settings in
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for
+ the changes to take effect.
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to
+ the NMake Makefile or set it in the environment. The bit-ness of your Python installation
+ must match the configuration that you are building for.
+
+The use of Visual Studio Projects will no longer require the setting of environmental
+variables, but the following environmental variables are needed (either by using "set xxx=yyy"
+or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
+should be done after successfully building the Project Files):
+
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
+"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
+and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
+files to <root>\vs10\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs10\<PlatformName>\lib\girepository-1.0
+(.typelib files)
+
+*** End of Note! ***
+
+The "install" project will copy build results and headers into their
+appropriate location under <root>\vs10\<PlatformName>. For instance,
+built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
+<root>\vs10\<PlatformName>\lib and gobject-introspection headers into
+<root>\vs10\<PlatformName>\include\gobject-introsection-1.0.
+
+This is then from where
+project files higher in the stack are supposed to look for them, not
+from a specific gobject-introspection source tree.
+
+--Tor Lillqvist <tml@iki.fi>
+--Updated by Chun-wei Fan <fanc999@gmail.com>
diff --git a/win32/vs10/_giscanner.vcxproj b/win32/vs10/_giscanner.vcxproj
new file mode 100644
index 00000000..d8cb7f8e
--- /dev/null
+++ b/win32/vs10/_giscanner.vcxproj
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{8311394F-9114-4C97-80F2-51BCABA054C9}</ProjectGuid>
+ <RootNamespace>_giscanner</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\giscanner;$(PythonDir)\include;$(PythonDir)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
+ <PreprocessorDefinitions>_DEBUG;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
+ <AdditionalLibraryDirectories>$(PythonDir)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\giscanner;$(PythonDir)\include;$(PythonDir)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
+ <PreprocessorDefinitions>YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
+ <AdditionalLibraryDirectories>$(PythonDir)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\giscanner;$(PythonDirX64)\include;$(PythonDirX64)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
+ <PreprocessorDefinitions>_DEBUG;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
+ <AdditionalLibraryDirectories>$(PythonDirX64)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\giscanner;$(PythonDirX64)\include;$(PythonDirX64)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
+ <PreprocessorDefinitions>YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
+ <AdditionalLibraryDirectories>$(PythonDirX64)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\giscanner\giscannermodule.c" />
+ <ClCompile Include="..\..\scannerlexer.c" />
+ <ClCompile Include="..\..\scannerparser.c" />
+ <ClCompile Include="..\..\giscanner\sourcescanner.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="gi-prebuild.vcxproj">
+ <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/_giscanner.vcxproj.filters b/win32/vs10/_giscanner.vcxproj.filters
new file mode 100644
index 00000000..1ddc9a24
--- /dev/null
+++ b/win32/vs10/_giscanner.vcxproj.filters
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\giscanner\giscannermodule.c"><Filter>Sources</Filter></ClCompile>
+ <ClCompile Include="..\..\scannerlexer.c"><Filter>Sources</Filter></ClCompile>
+ <ClCompile Include="..\..\scannerparser.c"><Filter>Sources</Filter></ClCompile>
+ <ClCompile Include="..\..\giscanner\sourcescanner.c"><Filter>Sources</Filter></ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/cmph-bdz-test.vcxproj b/win32/vs10/cmph-bdz-test.vcxproj
new file mode 100644
index 00000000..c465fa5b
--- /dev/null
+++ b/win32/vs10/cmph-bdz-test.vcxproj
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}</ProjectGuid>
+ <RootNamespace>cmphbdztest</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\girepository\cmph;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\girepository\cmph;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\girepository\cmph;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\girepository\cmph;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\girepository\cmph-bdz-test.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="cmph.vcxproj">
+ <Project>{442c007e-d901-41da-9706-5db4afb4c06b}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/cmph-bdz-test.vcxproj.filters b/win32/vs10/cmph-bdz-test.vcxproj.filters
new file mode 100644
index 00000000..2720d496
--- /dev/null
+++ b/win32/vs10/cmph-bdz-test.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\girepository\cmph-bdz-test.c">
+ <Filter>Sources</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/cmph.vcxproj.filtersin b/win32/vs10/cmph.vcxproj.filtersin
new file mode 100644
index 00000000..072d32ac
--- /dev/null
+++ b/win32/vs10/cmph.vcxproj.filtersin
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+#include "cmph.vs10.sourcefiles.filters"
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/win32/vs10/cmph.vcxprojin b/win32/vs10/cmph.vcxprojin
new file mode 100644
index 00000000..98d06cc6
--- /dev/null
+++ b/win32/vs10/cmph.vcxprojin
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{442C007E-D901-41DA-9706-5DB4AFB4C06B}</ProjectGuid>
+ <RootNamespace>cmph</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+#include "cmph.vs10.sourcefiles"
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="gi-prebuild.vcxproj">
+ <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/win32/vs10/g-ir-compiler.vcxproj.filtersin b/win32/vs10/g-ir-compiler.vcxproj.filtersin
new file mode 100644
index 00000000..6656d41d
--- /dev/null
+++ b/win32/vs10/g-ir-compiler.vcxproj.filtersin
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+#include "g-ir-compiler.vs10.sourcefiles.filters"
+ <ClCompile Include="..\..\tools\compiler.c"><Filter>Sources</Filter></ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/g-ir-compiler.vcxprojin b/win32/vs10/g-ir-compiler.vcxprojin
new file mode 100644
index 00000000..f7a94f60
--- /dev/null
+++ b/win32/vs10/g-ir-compiler.vcxprojin
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}</ProjectGuid>
+ <RootNamespace>gircompiler</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+#include "g-ir-compiler.vs10.sourcefiles"
+ <ClCompile Include="..\..\tools\compiler.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="cmph.vcxproj">
+ <Project>{442c007e-d901-41da-9706-5db4afb4c06b}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/g-ir-generate.vcxproj b/win32/vs10/g-ir-generate.vcxproj
new file mode 100644
index 00000000..f7ea403d
--- /dev/null
+++ b/win32/vs10/g-ir-generate.vcxproj
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}</ProjectGuid>
+ <RootNamespace>girgenerate</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\tools\generate.c" />
+ <ClCompile Include="..\..\girepository\girwriter.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/g-ir-generate.vcxproj.filters b/win32/vs10/g-ir-generate.vcxproj.filters
new file mode 100644
index 00000000..b3b32ef2
--- /dev/null
+++ b/win32/vs10/g-ir-generate.vcxproj.filters
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\tools\generate.c">
+ <Filter>Sources</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\girepository\girwriter.c">
+ <Filter>Sources</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/g-ir-inspect.vcxproj b/win32/vs10/g-ir-inspect.vcxproj
new file mode 100644
index 00000000..489a230a
--- /dev/null
+++ b/win32/vs10/g-ir-inspect.vcxproj
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}</ProjectGuid>
+ <RootNamespace>girinspect</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\tools\g-ir-inspect.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/g-ir-inspect.vcxproj.filters b/win32/vs10/g-ir-inspect.vcxproj.filters
new file mode 100644
index 00000000..371419ac
--- /dev/null
+++ b/win32/vs10/g-ir-inspect.vcxproj.filters
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\tools\g-ir-inspect.c"><Filter>Sources</Filter></ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gi-build-defines.props b/win32/vs10/gi-build-defines.props
new file mode 100644
index 00000000..0b66dcf3
--- /dev/null
+++ b/win32/vs10/gi-build-defines.props
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="gi-version-paths.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros">
+ <FFIDefines>FFI_BUILDING</FFIDefines>
+ <GIRepositoryBuildDefines>G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT</GIRepositoryBuildDefines>
+ <GIIntrospectNMakeCmd>cd ..
+set VCInstallDir=$(VCInstallDir)
+nmake -f gi-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</GIIntrospectNMakeCmd>
+ <GIIntrospectBuiltFiles>$(SolutionDir)\..\GIRepository-2.0.typelib;$(SolutionDir)\..\cairo-1.0.typelib</GIIntrospectBuiltFiles>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
+ <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
+ <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\..;..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <BuildMacro Include="FFIDefines">
+ <Value>$(FFIDefines)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIRepositoryBuildDefines">
+ <Value>$(GIRepositoryBuildDefines)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIIntrospectNMakeCmd">
+ <Value>$(GIIntrospectNMakeCmd)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIIntrospectBuiltFiles">
+ <Value>$(GIIntrospectBuiltFiles)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gi-gen-srcs.props b/win32/vs10/gi-gen-srcs.props
new file mode 100644
index 00000000..0a5d2c6e
--- /dev/null
+++ b/win32/vs10/gi-gen-srcs.props
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros">
+ <CopyConfigH>copy ..\..\config.h.win32 ..\..\config.h</CopyConfigH>
+ <GenToolsScripts>$(PythonDir)\python ..\gen-win32-g-ir-tools.py</GenToolsScripts>
+ <GenToolsScriptsX64>$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
+ </PropertyGroup>
+ <ItemGroup>
+ <BuildMacro Include="CopyConfigH">
+ <Value>$(CopyConfigH)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GenToolsScripts">
+ <Value>$(GenToolsScripts)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GenToolsScriptsX64">
+ <Value>$(GenToolsScriptsX64)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gi-install.propsin b/win32/vs10/gi-install.propsin
new file mode 100644
index 00000000..8b8f4313
--- /dev/null
+++ b/win32/vs10/gi-install.propsin
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros">
+ <BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
+ <GIDoInstall>
+mkdir $(CopyDir)
+mkdir $(CopyDir)\bin
+
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-compiler.pdb $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-generate.pdb $(CopyDir)\bin
+copy $(BinDir)\g-ir-inspect.exe $(CopyDir)\bin
+copy $(BinDir)\g-ir-inspect.pdb $(CopyDir)\bin
+copy ..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
+copy ..\..\tools\g-ir-doc-tool $(CopyDir)\bin
+copy ..\..\tools\g-ir-scanner $(CopyDir)\bin
+
+copy $(BinDir)\glib-print.exe $(CopyDir)\bin
+copy $(BinDir)\glib-print.pdb $(CopyDir)\bin
+
+mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository
+#include "girepository.vs10.headers"
+#include "giscanner.vs10.scripts"
+
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
+
+copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
+
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+
+copy ..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+
+mkdir $(CopyDir)\lib
+
+copy $(BinDir)\bin\girepository-$(ApiVersion).lib $(CopyDir)\lib
+
+mkdir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\cairo-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\fontconfig-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\freetype2-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\Gio-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\GIRepository-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\GL-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\GLib-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\GModule-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\GObject-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\libxml2-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+copy ..\win32-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)
+
+mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\cairo-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\fontconfig-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\freetype2-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\Gio-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\GIRepository-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\GL-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\GLib-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\GModule-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\GObject-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\libxml2-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+copy ..\win32-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)
+
+mkdir $(CopyDir)\lib\pkgconfig
+copy ..\gobject-introspection-1.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\gobject-introspection-no-export-1.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\cairo.pc $(CopyDir)\lib\pkgconfig
+copy ..\cairo-win32.pc $(CopyDir)\lib\pkgconfig
+copy ..\cairo-gobject.pc $(CopyDir)\lib\pkgconfig
+copy ..\libxml-2.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\freetype2.pc $(CopyDir)\lib\pkgconfig
+ </GIDoInstall>
+ <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.pc;..\cairo.pc;..\cairo-win32.pc;..\cairo-gobject.pc;..\libxml-2.0.pc;..\freetype2.pc</GIPCFiles>
+ <GIGenPC>$(PythonDir)\python.exe ..\gipc.py --version=$(GIVersion) --prefix=$(CopyDir)</GIGenPC>
+ <GIGenPCX64>$(PythonDirX64)\python.exe ..\gipc.py --version=$(GIVersion) --prefix=$(CopyDir)</GIGenPCX64>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_PropertySheetDisplayName>giinstallprops</_PropertySheetDisplayName>
+ </PropertyGroup>
+ <ItemGroup>
+ <BuildMacro Include="BinDir">
+ <Value>$(BinDir)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIDoInstall">
+ <Value>$(GIDoInstall)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIPCFiles">
+ <Value>$(GIPCFiles)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIGenPC">
+ <Value>$(GIGenPC)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIGenPCX64">
+ <Value>$(GIGenPCX64)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gi-install.vcxproj b/win32/vs10/gi-install.vcxproj
new file mode 100644
index 00000000..e9038fc9
--- /dev/null
+++ b/win32/vs10/gi-install.vcxproj
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B10}</ProjectGuid>
+ <RootNamespace>install</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-install.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-install.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-install.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-install.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <OutDir Condition="'$(Configuration)'=='Debug'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)'=='Debug'" />
+ <OutDir Condition="'$(Configuration)'=='Release'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)'=='Release'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\config.h.win32">
+ <Message Condition="'$(Configuration)'=='Debug'">Installing Build Results...</Message>
+ <AdditionalInputs Condition="'$(Configuration)'=='Debug'">$(GIPCFiles)</AdditionalInputs>
+ <Command Condition="'$(Configuration)'=='Debug'">$(GIDoInstall)</Command>
+ <Outputs Condition="'$(Configuration)'=='Debug'">some_random_file;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)'=='Release'">Installing Build Results...</Message>
+ <AdditionalInputs Condition="'$(Configuration)'=='Release'">$(GIPCFiles)</AdditionalInputs>
+ <Command Condition="'$(Configuration)'=='Release'">$(GIDoInstall)</Command>
+ <Outputs Condition="'$(Configuration)'=='Release'">some_random_file;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\gipc.py">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating .pc files...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIGenPC)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIPCFiles);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating .pc files...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIGenPCX64)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIPCFiles);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating .pc files...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIGenPC)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIPCFiles);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating .pc files...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIGenPCX64)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIPCFiles);%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="g-ir-inspect.vcxproj">
+ <Project>{f4e6621f-a7dd-4863-8ccf-ca04dfc601e3}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="g-ir-compiler.vcxproj">
+ <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="g-ir-generate.vcxproj">
+ <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="_giscanner.vcxproj">
+ <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="gi-introspect.vcxproj">
+ <Project>{7a36674c-379d-4989-a978-07124e5f852c}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/gi-install.vcxproj.filters b/win32/vs10/gi-install.vcxproj.filters
new file mode 100644
index 00000000..590ad101
--- /dev/null
+++ b/win32/vs10/gi-install.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\config.h.win32"><Filter>Resource Files</Filter></CustomBuild>
+ <CustomBuild Include="..\gipc.py"><Filter>Resource Files</Filter></CustomBuild>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gi-introspect.vcxproj b/win32/vs10/gi-introspect.vcxproj
new file mode 100644
index 00000000..b634495e
--- /dev/null
+++ b/win32/vs10/gi-introspect.vcxproj
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{7A36674C-379D-4989-A978-07124E5F852C}</ProjectGuid>
+ <RootNamespace>giintrospect</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+ <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
+ <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+ <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>
+ <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectReference Include="g-ir-compiler.vcxproj">
+ <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="g-ir-generate.vcxproj">
+ <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="_giscanner.vcxproj">
+ <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/win32/vs10/gi-prebuild.vcxproj b/win32/vs10/gi-prebuild.vcxproj
new file mode 100644
index 00000000..88cea9a0
--- /dev/null
+++ b/win32/vs10/gi-prebuild.vcxproj
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B11}</ProjectGuid>
+ <RootNamespace>giprebuild</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-gen-srcs.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-gen-srcs.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-gen-srcs.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-gen-srcs.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)'=='Debug'" />
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)'=='Release'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\config.h.win32">
+ <Message Condition="'$(Configuration)'=='Debug'">Copying config.h from config.h.win32...</Message>
+ <Command Condition="'$(Configuration)'=='Debug'">$(CopyConfigH)</Command>
+ <Outputs Condition="'$(Configuration)'=='Debug'">..\..\config.h;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)'=='Release'">Copying config.h from config.h.win32...</Message>
+ <Command Condition="'$(Configuration)'=='Release'">$(CopyConfigH)</Command>
+ <Outputs Condition="'$(Configuration)'=='Release'">..\..\config.h;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\..\tools\g-ir-tool-template.in">
+ <Message Condition="'$(Configuration)'=='Debug'">Generating Tools Scripts...</Message>
+ <Command Condition="'$(Configuration)'=='Debug'">$(GenToolsScripts)</Command>
+ <Message Condition="'$(Configuration)'=='Release'">Generating Tools Scripts...</Message>
+ <Command Condition="'$(Configuration)'=='Release'">$(GenToolsScripts)</Command>
+ <Outputs Condition="'$(Configuration)'=='Release'">..\..\tools\g-ir-scanner;..\..\tools\g-ir-doc-tool;..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/gi-version-paths.props.in b/win32/vs10/gi-version-paths.props.in
new file mode 100644
index 00000000..4936c4e0
--- /dev/null
+++ b/win32/vs10/gi-version-paths.props.in
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="UserMacros">
+ <VSVer>10</VSVer>
+ <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
+ <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <PythonDir>c:\\python34</PythonDir>
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
+ <PythonDirX64>$(PythonDir).x64</PythonDirX64>
+ <IntrospectPythonParam>PYTHON=$(PythonDir)\python.exe</IntrospectPythonParam>
+ <IntrospectPythonParamX64>PYTHON=$(PythonDirX64)\python.exe</IntrospectPythonParamX64>
+ <GIVersion>@PACKAGE_VERSION@</GIVersion>
+ <BASE_GI_DIR>$(SolutionDir)\..\..</BASE_GI_DIR>
+ <ApiVersion>1.0</ApiVersion>
+ <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
+ <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
+ <LibGILibtoolCompatibleDllSuffix>-$(ApiVersion)-0</LibGILibtoolCompatibleDllSuffix>
+ <LibGISeparateVSDllPrefix />
+ <LibGISeparateVSDllSuffix>-1-vs$(VSVer)</LibGISeparateVSDllSuffix>
+ <LibGIDllPrefix>$(LibGISeparateVSDllPrefix)</LibGIDllPrefix>
+ <LibGIDllSuffix>$(LibGISeparateVSDllSuffix)</LibGIDllSuffix>
+ </PropertyGroup>
+ <PropertyGroup>
+ <_PropertySheetDisplayName>giversionpathsprops</_PropertySheetDisplayName>
+ </PropertyGroup>
+ <ItemGroup>
+ <BuildMacro Include="VSVer">
+ <Value>$(VSVer)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GlibEtcInstallRoot">
+ <Value>$(GlibEtcInstallRoot)</Value>
+ </BuildMacro>
+ <BuildMacro Include="CopyDir">
+ <Value>$(CopyDir)</Value>
+ </BuildMacro>
+ <BuildMacro Include="PythonDir">
+ <Value>$(PythonDir)</Value>
+ </BuildMacro>
+ <BuildMacro Include="PythonDirX64">
+ <Value>$(PythonDirX64)</Value>
+ </BuildMacro>
+ <BuildMacro Include="IntrospectPythonParam">
+ <Value>$(IntrospectPythonParam)</Value>
+ </BuildMacro>
+ <BuildMacro Include="IntrospectPythonParamX64">
+ <Value>$(IntrospectPythonParamX64)</Value>
+ </BuildMacro>
+ <BuildMacro Include="GIVersion">
+ <Value>$(GIVersion)</Value>
+ </BuildMacro>
+ <BuildMacro Include="BASE_GI_DIR">
+ <Value>$(BASE_GI_DIR)</Value>
+ </BuildMacro>
+ <BuildMacro Include="ApiVersion">
+ <Value>$(ApiVersion)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
+ <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGILibtoolCompatibleDllSuffix">
+ <Value>$(LibGILibtoolCompatibleDllSuffix)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGISeparateVSDllPrefix">
+ <Value>$(LibGISeparateVSDllPrefix)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGISeparateVSDllSuffix">
+ <Value>$(LibGISeparateVSDllSuffix)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGIDllPrefix">
+ <Value>$(LibGIDllPrefix)</Value>
+ </BuildMacro>
+ <BuildMacro Include="LibGIDllSuffix">
+ <Value>$(LibGIDllSuffix)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/girepository.vcxproj.filtersin b/win32/vs10/girepository.vcxproj.filtersin
new file mode 100644
index 00000000..8e9255d7
--- /dev/null
+++ b/win32/vs10/girepository.vcxproj.filtersin
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+#include "girepository.vs10.sourcefiles.filters"
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/girepository.vcxprojin b/win32/vs10/girepository.vcxprojin
new file mode 100644
index 00000000..4339f779
--- /dev/null
+++ b/win32/vs10/girepository.vcxprojin
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{23E28245-8FC7-4B41-B1C5-8785BD4366A7}</ProjectGuid>
+ <RootNamespace>girepository</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
+ <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
+ <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
+ <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
+ <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+#include "girepository.vs10.sourcefiles"
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="gi-prebuild.vcxproj">
+ <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="cmph.vcxproj">
+ <Project>{442c007e-d901-41da-9706-5db4afb4c06b}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/glib-print.vcxproj b/win32/vs10/glib-print.vcxproj
new file mode 100644
index 00000000..78fe23e6
--- /dev/null
+++ b/win32/vs10/glib-print.vcxproj
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}</ProjectGuid>
+ <RootNamespace>glibprint</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v100</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gi-build-defines.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\examples\glib-print.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="girepository.vcxproj">
+ <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/win32/vs10/glib-print.vcxproj.filters b/win32/vs10/glib-print.vcxproj.filters
new file mode 100644
index 00000000..f77043c1
--- /dev/null
+++ b/win32/vs10/glib-print.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Sources">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\examples\glib-print.c">
+ <Filter>Sources</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
diff --git a/win32/vs10/gobject-introspection.sln b/win32/vs10/gobject-introspection.sln
new file mode 100644
index 00000000..5227c782
--- /dev/null
+++ b/win32/vs10/gobject-introspection.sln
@@ -0,0 +1,126 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-prebuild", "gi-prebuild.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B11}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph", "cmph.vcxproj", "{442C007E-D901-41DA-9706-5DB4AFB4C06B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph-bdz-test", "cmph-bdz-test.vcxproj", "{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "girepository", "girepository.vcxproj", "{23E28245-8FC7-4B41-B1C5-8785BD4366A7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_giscanner", "_giscanner.vcxproj", "{8311394F-9114-4C97-80F2-51BCABA054C9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-print", "glib-print.vcxproj", "{2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-generate.vcxproj", "{F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-inspect", "g-ir-inspect.vcxproj", "{F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcxproj", "{7A36674C-379D-4989-A978-07124E5F852C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.Build.0 = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.ActiveCfg = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.Build.0 = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.ActiveCfg = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.Build.0 = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.ActiveCfg = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.Build.0 = Release|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.Build.0 = Debug|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.ActiveCfg = Debug|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.Build.0 = Debug|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|Win32.ActiveCfg = Release|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|Win32.Build.0 = Release|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|x64.ActiveCfg = Release|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|x64.Build.0 = Release|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|Win32.Build.0 = Debug|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|x64.ActiveCfg = Debug|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|x64.Build.0 = Debug|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|Win32.ActiveCfg = Release|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|Win32.Build.0 = Release|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|x64.ActiveCfg = Release|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|x64.Build.0 = Release|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|Win32.Build.0 = Debug|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|x64.ActiveCfg = Debug|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|x64.Build.0 = Debug|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|Win32.ActiveCfg = Release|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|Win32.Build.0 = Release|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|x64.ActiveCfg = Release|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|x64.Build.0 = Release|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|Win32.Build.0 = Debug|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|x64.ActiveCfg = Debug|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|x64.Build.0 = Debug|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|Win32.ActiveCfg = Release|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|Win32.Build.0 = Release|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|x64.ActiveCfg = Release|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|x64.Build.0 = Release|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|Win32.Build.0 = Debug|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|x64.ActiveCfg = Debug|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|x64.Build.0 = Debug|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|Win32.ActiveCfg = Release|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|Win32.Build.0 = Release|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|x64.ActiveCfg = Release|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|x64.Build.0 = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|Win32.Build.0 = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|x64.ActiveCfg = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|x64.Build.0 = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|Win32.ActiveCfg = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|Win32.Build.0 = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|x64.ActiveCfg = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|x64.Build.0 = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|Win32.Build.0 = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|x64.ActiveCfg = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|x64.Build.0 = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|Win32.ActiveCfg = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|Win32.Build.0 = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|x64.ActiveCfg = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|x64.Build.0 = Release|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|Win32.Build.0 = Debug|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|x64.ActiveCfg = Debug|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|x64.Build.0 = Debug|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.ActiveCfg = Release|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/win32/vs11/Makefile.am b/win32/vs11/Makefile.am
new file mode 100644
index 00000000..532f20c1
--- /dev/null
+++ b/win32/vs11/Makefile.am
@@ -0,0 +1,37 @@
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-gen-srcs.props \
+ gi-install.props \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ g-ir-inspect.vcxproj \
+ g-ir-inspect.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ gi-install.vcxproj \
+ gi-install.vcxproj.filters \
+ gi-introspect.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_BASE_VER = 10
+MSVC_BASE_VER_LONG = 2010
+MSVC_VER = 11
+MSVC_FORMAT_VER = 12
+MSVC_VER_LONG = 2012
+
+include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs12/Makefile.am b/win32/vs12/Makefile.am
new file mode 100644
index 00000000..45e18bd3
--- /dev/null
+++ b/win32/vs12/Makefile.am
@@ -0,0 +1,37 @@
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-gen-srcs.props \
+ gi-install.props \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ g-ir-inspect.vcxproj \
+ g-ir-inspect.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ gi-install.vcxproj \
+ gi-install.vcxproj.filters \
+ gi-introspect.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_BASE_VER = 10
+MSVC_BASE_VER_LONG = 2010
+MSVC_VER = 12
+MSVC_FORMAT_VER = 12
+MSVC_VER_LONG = 2013
+
+include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs14/Makefile.am b/win32/vs14/Makefile.am
new file mode 100644
index 00000000..4f292ec4
--- /dev/null
+++ b/win32/vs14/Makefile.am
@@ -0,0 +1,37 @@
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.props \
+ gi-gen-srcs.props \
+ gi-install.props \
+ gi-version-paths.props \
+ gi-prebuild.vcxproj \
+ girepository.vcxproj \
+ girepository.vcxproj.filters \
+ cmph-bdz-test.vcxproj \
+ cmph-bdz-test.vcxproj.filters \
+ cmph.vcxproj \
+ cmph.vcxproj.filters \
+ g-ir-compiler.vcxproj \
+ g-ir-compiler.vcxproj.filters \
+ g-ir-generate.vcxproj \
+ g-ir-generate.vcxproj.filters \
+ g-ir-inspect.vcxproj \
+ g-ir-inspect.vcxproj.filters \
+ glib-print.vcxproj \
+ glib-print.vcxproj.filters \
+ _giscanner.vcxproj \
+ _giscanner.vcxproj.filters \
+ gi-install.vcxproj \
+ gi-install.vcxproj.filters \
+ gi-introspect.vcxproj \
+ README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_BASE_VER = 10
+MSVC_BASE_VER_LONG = 2010
+MSVC_VER = 14
+MSVC_FORMAT_VER = 12
+MSVC_VER_LONG = 14
+
+include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs9/Makefile.am b/win32/vs9/Makefile.am
new file mode 100644
index 00000000..a92d30c4
--- /dev/null
+++ b/win32/vs9/Makefile.am
@@ -0,0 +1,32 @@
+GENERATED_ITEMS = \
+ cmph.vcproj \
+ girepository.vcproj \
+ g-ir-compiler.vcproj \
+ gi-install.vsprops
+
+EXTRA_DIST = \
+ gobject-introspection.sln \
+ gi-build-defines.vsprops \
+ gi-gen-srcs.vsprops \
+ gi-install.vspropsin \
+ gi-version-paths.vsprops \
+ gi-prebuild.vcproj \
+ girepository.vcprojin \
+ cmph-bdz-test.vcproj \
+ cmph.vcprojin \
+ g-ir-compiler.vcprojin \
+ g-ir-generate.vcproj \
+ g-ir-inspect.vcproj \
+ glib-print.vcproj \
+ gi-install.vcproj \
+ gi-introspect.vcproj \
+ _giscanner.vcproj \
+ README.txt \
+ $(GENERATED_ITEMS)
+
+gi-install.vsprops: $(top_srcdir)/win32/vs9/gi-install.vspropsin girepository.headers giscanner.scripts
+ $(CPP) -P - <$(top_srcdir)/win32/vs9/gi-install.vspropsin >$@
+ rm girepository.headers
+ rm giscanner.scripts
+
+DISTCLEANFILES = $(GENERATED_ITEMS)
diff --git a/win32/vs9/README.txt b/win32/vs9/README.txt
new file mode 100644
index 00000000..05cfc912
--- /dev/null
+++ b/win32/vs9/README.txt
@@ -0,0 +1,104 @@
+Please do not compile this package (gobject-introspection) in paths that contain
+spaces in them-as strange problems may occur during compilation or during
+the use of the library.
+
+Please refer to the following GNOME Live! page for more detailed
+instructions on building gobject-introsecption and its dependencies
+with Visual C++:
+
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
+
+This VS9 solution and the projects it includes are intented to be used
+in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
+first need to use some Unix-like environment, which will do the work for you.
+
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2008 to avoid problems cause by
+usage of different CRTs.
+
+Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs9 on how to build
+GLib using Visual C++ 2008
+
+For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
+was added in the 3.0.10 release series. Please see the README file that
+comes with the LibFFI source package for more details on how to build LibFFI
+on Visual C++-please note that the mozilla-build package from Mozilla is needed
+in order to build LibFFI on Windows.
+
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.ncb and
+*.suo files and reopening the project files.
+
+For building the Regress test project, cairo (and possibly cairo-gobject support)
+is needed.
+
+Set up the source tree as follows under some arbitrary top
+folder <root>:
+
+<root>\<this-gobject-introspection-source-tree>
+<root>\vs9\<PlatformName>
+
+*this* file you are now reading is thus located at
+<root>\<this-glib-source-tree>\build\win32\vs9\README.
+
+<PlatformName> is either Win32 or x64, as in VS9 project files.
+
+For LibFFI, one should also put the generated ffi.h and ffitarget.h
+into <root>\vs9\<PlatformName>\include\ and the compiled static libffi.lib
+(or copy libffi-convenience.lib into libffi.lib) into
+<root>\vs9\<PlatformName>\lib\.
+
+The libintl.h that is used for building GLib needs to be in
+<root>\vs9\<PlatformName>\include, if not already done so
+
+A working pkg-config tool is also required-it may be obtained from
+http://www.gtk.org/download/win32.php [32-bit]
+http://www.gtk.org/download/win64.php [64-bit]
+
+*** Note! ***
+The build of G-I is now done within the project files, although it is still possible to
+do it in two stages by using the NMake Makefiles after building the projects.
+
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)
+ is by default <parent_dir_of_G-I_srcroot>\vs9\<PlatformName>. If searching from
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will
+ precede the set paths.
+-For the Python Path using the project files: check whether the directory settings in
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for
+ the changes to take effect.
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to
+ the NMake Makefile or set it in the environment. The bit-ness of your Python installation
+ must match the configuration that you are building for.
+
+The use of Visual Studio Projects will no longer require the setting of environmental
+variables, but the following environmental variables are needed (either by using "set xxx=yyy"
+or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
+should be done after successfully building the Project Files):
+
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
+"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
+and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
+files to <root>\vs9\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs9\<PlatformName>\lib\girepository-1.0
+(.typelib files)
+
+*** End of Note! ***
+
+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 gobject-introspection headers into
+<root>\vs9\<PlatformName>\include\gobject-introsection-1.0.
+
+This is then from where
+project files higher in the stack are supposed to look for them, not
+from a specific gobject-introspection source tree.
+
+--Tor Lillqvist <tml@iki.fi>
+--Updated by Chun-wei Fan <fanc999@gmail.com>
diff --git a/win32/vs9/_giscanner.vcproj b/win32/vs9/_giscanner.vcproj
new file mode 100644
index 00000000..c6f0a3e4
--- /dev/null
+++ b/win32/vs9/_giscanner.vcproj
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="_giscanner"
+ ProjectGUID="{8311394F-9114-4C97-80F2-51BCABA054C9}"
+ RootNamespace="_giscanner"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\giscanner;;$(PythonDir)\include;$(PythonDir)\PC"
+ ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
+ PreprocessorDefinitions="_DEBUG;YY_NO_UNISTD_H"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).pyd"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="$(PythonDir)\libs"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\giscanner;;$(PythonDir)\include;$(PythonDir)\PC"
+ ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
+ PreprocessorDefinitions="YY_NO_UNISTD_H"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).pyd"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="$(PythonDir)\libs"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\giscanner;;$(PythonDirX64)\include;$(PythonDirX64)\PC"
+ ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
+ PreprocessorDefinitions="_DEBUG;YY_NO_UNISTD_H"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).pyd"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="$(PythonDirX64)\libs"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\giscanner;;$(PythonDirX64)\include;$(PythonDirX64)\PC"
+ ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
+ PreprocessorDefinitions="YY_NO_UNISTD_H"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).pyd"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="$(PythonDirX64)\libs"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File RelativePath="..\..\giscanner\giscannermodule.c" />
+ <File RelativePath="..\..\scannerlexer.c" />
+ <File RelativePath="..\..\scannerparser.c" />
+ <File RelativePath="..\..\giscanner\sourcescanner.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/cmph-bdz-test.vcproj b/win32/vs9/cmph-bdz-test.vcproj
new file mode 100644
index 00000000..a7d3fb3f
--- /dev/null
+++ b/win32/vs9/cmph-bdz-test.vcproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="cmph-bdz-test"
+ ProjectGUID="{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}"
+ RootNamespace="cmphbdztest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\girepository\cmph"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\girepository\cmph"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WholeProgramOptimization="false"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\girepository\cmph"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\girepository\cmph"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File RelativePath="..\..\girepository\cmph-bdz-test.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/cmph.vcprojin b/win32/vs9/cmph.vcprojin
new file mode 100644
index 00000000..5801d739
--- /dev/null
+++ b/win32/vs9/cmph.vcprojin
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="cmph"
+ ProjectGUID="{442C007E-D901-41DA-9706-5DB4AFB4C06B}"
+ RootNamespace="cmph"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG;__x86_64__"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ EnableMinimalRebuild="true"
+ PreprocessorDefinitions="__x86_64__"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+#include "cmph.sourcefiles"
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/g-ir-compiler.vcprojin b/win32/vs9/g-ir-compiler.vcprojin
new file mode 100644
index 00000000..d0850084
--- /dev/null
+++ b/win32/vs9/g-ir-compiler.vcprojin
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="g-ir-compiler"
+ ProjectGUID="{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
+ RootNamespace="gircompiler"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="$(FFIDefines)"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="1"
+ EnableIntrinsicFunctions="true"
+ EnableMinimalRebuild="true"
+ WholeProgramOptimization="false"
+ PreprocessorDefinitions="$(FFIDefines)"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ OptimizeForWindows98="0"
+ LinkTimeCodeGeneration="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+#include "g-ir-compiler.sourcefiles"
+ <File RelativePath="..\..\tools\compiler.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/g-ir-generate.vcproj b/win32/vs9/g-ir-generate.vcproj
new file mode 100644
index 00000000..5e4ee10c
--- /dev/null
+++ b/win32/vs9/g-ir-generate.vcproj
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="g-ir-generate"
+ ProjectGUID="{F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}"
+ RootNamespace="girgenerate"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File RelativePath="..\..\tools\generate.c" />
+ <File RelativePath="..\..\girepository\girwriter.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/g-ir-inspect.vcproj b/win32/vs9/g-ir-inspect.vcproj
new file mode 100644
index 00000000..b7b444a4
--- /dev/null
+++ b/win32/vs9/g-ir-inspect.vcproj
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="g-ir-inspect"
+ ProjectGUID="{F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}"
+ RootNamespace="girinspect"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File RelativePath="..\..\tools\g-ir-inspect.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/gi-build-defines.vsprops b/win32/vs9/gi-build-defines.vsprops
new file mode 100644
index 00000000..61e6e5e7
--- /dev/null
+++ b/win32/vs9/gi-build-defines.vsprops
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gibuilddefinesprops"
+ InheritedPropertySheets=".\gi-version-paths.vsprops"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
+ IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..;..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include"
+ PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
+ ForcedIncludeFiles="msvc_recommended_pragmas.h"
+ AdditionalOptions="/MP"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib"
+ AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
+ />
+ <UserMacro
+ Name="FFIDefines"
+ Value="FFI_BUILDING"
+ />
+ <UserMacro
+ Name="GIRepositoryBuildDefines"
+ Value="G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT"
+ />
+ <UserMacro
+ Name="GIIntrospectNMakeCmd"
+ Value="cd ..&#x0D;&#x0A;set VCInstallDir=$(VCInstallDir)&#x0D;&#x0A;nmake -f gi-introspection-msvc.mak CFG=$(ConfigurationName) PREFIX=$(GlibEtcInstallRoot)"
+ />
+ <UserMacro
+ Name="GIIntrospectBuiltFiles"
+ Value="$(SolutionDir)\..\GLib-2.0.gir;$(SolutionDir)\..\GObject-2.0.gir;$(SolutionDir)\..\GModule-2.0.gir;$(SolutionDir)\..\Gio-2.0.gir;$(SolutionDir)\..\GIRepository-2.0.gir;$(SolutionDir)\..\cairo-1.0.gir;$(SolutionDir)\..\win32-1.0.gir;$(SolutionDir)\..\fontconfig-2.0.gir;$(SolutionDir)\..\freetype-2.0.gir;$(SolutionDir)\..\libxml2-2.0.gir;$(SolutionDir)\..\GL-1.0.gir;$(SolutionDir)\..\GLib-2.0.typelib;$(SolutionDir)\..\GObject-2.0.typelib;$(SolutionDir)\..\GModule-2.0.typelib;$(SolutionDir)\..\Gio-2.0.typelib;$(SolutionDir)\..\GIRepository-2.0.typelib;$(SolutionDir)\..\cairo-1.0.typelib;$(SolutionDir)\..\win32-1.0.typelib;$(SolutionDir)\..\fontconfig-2.0.typelib;$(SolutionDir)\..\freetype-2.0.typelib;$(SolutionDir)\..\libxml2-2.0.typelib;$(SolutionDir)\..\GL-1.0.typelib"
+ />
+</VisualStudioPropertySheet>
diff --git a/win32/vs9/gi-gen-srcs.vsprops b/win32/vs9/gi-gen-srcs.vsprops
new file mode 100644
index 00000000..124b0d0b
--- /dev/null
+++ b/win32/vs9/gi-gen-srcs.vsprops
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gigensrcsprops"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ >
+ <UserMacro
+ Name="CopyConfigH"
+ Value="copy ..\..\config.h.win32 ..\..\config.h"
+ />
+ <UserMacro
+ Name="GenToolsScripts"
+ Value="$(PythonDir)\python ..\gen-win32-g-ir-tools.py"
+ />
+ <UserMacro
+ Name="GenToolsScriptsX64"
+ Value="$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py"
+ />
+</VisualStudioPropertySheet>
diff --git a/win32/vs9/gi-install.vcproj b/win32/vs9/gi-install.vcproj
new file mode 100644
index 00000000..5fd191c1
--- /dev/null
+++ b/win32/vs9/gi-install.vcproj
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="install"
+ ProjectGUID="{2093D218-190E-4194-9421-3BA7CBF33B10}"
+ RootNamespace="install"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ InheritedPropertySheets=".\gi-install.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(GIDoInstall)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ InheritedPropertySheets=".\gi-install.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(GIDoInstall)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ InheritedPropertySheets=".\gi-install.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(GIDoInstall)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ InheritedPropertySheets=".\gi-install.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="$(GIDoInstall)"
+ />
+ </Configuration>
+ </Configurations>
+ <Files>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File RelativePath="..\gipc.py">
+ <FileConfiguration Name="Debug|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating .pc files..."
+ CommandLine="$(GIGenPC)"
+ Outputs="..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.pc;..\cairo.pc;..\cairo-win32.pc;..\cairo-gobject.pc;..\libxml-2.0.pc;..\freetype2.pc"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating .pc files..."
+ CommandLine="$(GIGenPC)"
+ Outputs="..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.pc;..\cairo.pc;..\cairo-win32.pc;..\cairo-gobject.pc;..\libxml-2.0.pc;..\freetype2.pc"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating .pc files..."
+ CommandLine="$(GIGenPCX64)"
+ Outputs="..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.pc;..\cairo.pc;..\cairo-win32.pc;..\cairo-gobject.pc;..\libxml-2.0.pc;..\freetype2.pc"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating .pc files..."
+ CommandLine="$(GIGenPCX64)"
+ Outputs="..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.pc;..\cairo.pc;..\cairo-win32.pc;..\cairo-gobject.pc;..\libxml-2.0.pc;..\freetype2.pc"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Files>
+</VisualStudioProject>
diff --git a/win32/vs9/gi-install.vspropsin b/win32/vs9/gi-install.vspropsin
new file mode 100644
index 00000000..17506954
--- /dev/null
+++ b/win32/vs9/gi-install.vspropsin
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="giinstallprops"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ >
+ <UserMacro
+ Name="GIDoInstall"
+ Value="
+mkdir $(CopyDir)&#x0D;&#x0A;
+mkdir $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.pdb $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.pdb $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-inspect.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-inspect.pdb $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-print.pdb $(CopyDir)\bin&#x0D;&#x0A;
+
+mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository&#x0D;&#x0A;
+#include "girepository.headers"
+#include "giscanner.scripts"
+
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
+
+
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+
+copy ..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib&#x0D;&#x0A;
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
+
+mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\cairo-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\fontconfig-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\freetype2-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\Gio-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GIRepository-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GL-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GLib-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GModule-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GObject-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\libxml2-2.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+copy ..\win32-1.0.gir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\cairo-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\fontconfig-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\freetype2-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\Gio-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GIRepository-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GL-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GLib-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GModule-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\GObject-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\libxml2-2.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+copy ..\win32-1.0.typelib $(CopyDir)\lib\girepository-$(ApiVersion)&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\gobject-introspection-1.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\gobject-introspection-no-export-1.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\cairo.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\cairo-win32.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\cairo-gobject.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\libxml-2.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+copy ..\freetype2.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+ "
+ />
+ <UserMacro
+ Name="GIGenPc"
+ Value="$(PythonDir)\python ..\gipc.py --version=$(GIVersion) --prefix=$(CopyDir)"
+ />
+ <UserMacro
+ Name="GIGenPcX64"
+ Value="$(PythonDirX64)\python ..\gipc.py --version=$(GIVersion) --prefix=$(CopyDir)"
+ />
+</VisualStudioPropertySheet>
diff --git a/win32/vs9/gi-introspect.vcproj b/win32/vs9/gi-introspect.vcproj
new file mode 100644
index 00000000..661c2d5d
--- /dev/null
+++ b/win32/vs9/gi-introspect.vcproj
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="gi-introspect"
+ ProjectGUID="{7A36674C-379D-4989-A978-07124E5F852C}"
+ Keyword="MakeFileProj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)"
+ ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"
+ CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+ Output="$(GIIntrospectBuiltFiles)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
+ ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"
+ CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+ Output="$(GIIntrospectBuiltFiles)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)"
+ ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"
+ CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
+ Output="$(GIIntrospectBuiltFiles)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
+ ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"
+ CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
+ Output="$(GIIntrospectBuiltFiles)"
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioProject>
diff --git a/win32/vs9/gi-prebuild.vcproj b/win32/vs9/gi-prebuild.vcproj
new file mode 100644
index 00000000..b0451327
--- /dev/null
+++ b/win32/vs9/gi-prebuild.vcproj
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="gi-prebuild"
+ ProjectGUID="{2093D218-190E-4194-9421-3BA7CBF33B11}"
+ RootNamespace="giprebuild"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ </Configuration>
+ </Configurations>
+ <Files>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File RelativePath="..\..\config.h.win32">
+ <FileConfiguration Name="Debug|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Copying config.h from config.h.win32..."
+ CommandLine="$(CopyConfigH)"
+ Outputs="..\..\config.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Copying config.h from config.h.win32..."
+ CommandLine="$(CopyConfigH)"
+ Outputs="..\..\config.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Copying config.h from config.h.win32..."
+ CommandLine="$(CopyConfigH)"
+ Outputs="..\..\config.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Copying config.h from config.h.win32..."
+ CommandLine="$(CopyConfigH)"
+ Outputs="..\..\config.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\tools\g-ir-tool-template.in">
+ <FileConfiguration Name="Debug|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating Tools Scripts..."
+ CommandLine="$(GenToolsScripts)"
+ Outputs="..\..\tools\g-ir-scanner;..\..\tools\g-ir-doc-tool;..\..\tools\g-ir-annotation-tool"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating Tools Scripts..."
+ CommandLine="$(GenToolsScripts)"
+ Outputs="..\..\tools\g-ir-scanner;..\..\tools\g-ir-doc-tool;..\..\tools\g-ir-annotation-tool"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating Tools Scripts..."
+ CommandLine="$(GenToolsScriptsX64)"
+ Outputs="..\..\tools\g-ir-scanner;..\..\tools\g-ir-doc-tool;..\..\tools\g-ir-annotation-tool"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating Tools Scripts..."
+ CommandLine="$(GenToolsScriptsX64)"
+ Outputs="..\..\tools\g-ir-scanner;..\..\tools\g-ir-doc-tool;..\..\tools\g-ir-annotation-tool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Files>
+</VisualStudioProject>
diff --git a/win32/vs9/gi-version-paths.vsprops.in b/win32/vs9/gi-version-paths.vsprops.in
new file mode 100644
index 00000000..2375809e
--- /dev/null
+++ b/win32/vs9/gi-version-paths.vsprops.in
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="giversionpaths"
+ >
+ <UserMacro
+ Name="VSVer"
+ Value="9"
+ />
+ <UserMacro
+ Name="GlibEtcInstallRoot"
+ Value="$(SolutionDir)\..\..\..\vs$(VSVer)\$(PlatformName)"
+ />
+ <UserMacro
+ Name="CopyDir"
+ Value="$(GlibEtcInstallRoot)"
+ />
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <UserMacro
+ Name="PythonDir"
+ Value="c:\\python27"
+ />
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
+ <UserMacro
+ Name="PythonDirX64"
+ Value="$(PythonDir).x64"
+ />
+ <UserMacro
+ Name="IntrospectPythonParam"
+ Value="PYTHON=$(PythonDir)\python.exe"
+ />
+ <UserMacro
+ Name="IntrospectPythonParamX64"
+ Value="PYTHON=$(PythonDirX64)\python.exe"
+ />
+ <UserMacro
+ Name="GIVersion"
+ Value="@PACKAGE_VERSION@"
+ />
+ <UserMacro
+ Name="BASE_GI_DIR"
+ Value="$(SolutionDir)\..\.."
+ />
+ <UserMacro
+ Name="ApiVersion"
+ Value="1.0"
+ />
+ <UserMacro
+ Name="LibGILibtoolCompatibleDllPrefix"
+ Value="lib"
+ />
+ <UserMacro
+ Name="LibGILibtoolCompatibleDllSuffix"
+ Value="-$(ApiVersion)-0"
+ />
+ <UserMacro
+ Name="LibGISeparateVSDllPrefix"
+ Value=""
+ />
+ <UserMacro
+ Name="LibGISeparateVSDllSuffix"
+ Value="-1-vs$(VSVer)"
+ />
+ <!-- Change these two to LibGILibtoolCompatibleDllPrefix and
+ LibGILibtoolCompatibleDllSuffix if that is what you want -->
+ <UserMacro
+ Name="LibGIDllPrefix"
+ Value="$(LibGISeparateVSDllPrefix)"
+ />
+ <UserMacro
+ Name="LibGIDllSuffix"
+ Value="$(LibGISeparateVSDllSuffix)"
+ />
+</VisualStudioPropertySheet>
diff --git a/win32/vs9/girepository.vcprojin b/win32/vs9/girepository.vcprojin
new file mode 100644
index 00000000..681bbe92
--- /dev/null
+++ b/win32/vs9/girepository.vcprojin
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="girepository"
+ ProjectGUID="{23E28245-8FC7-4B41-B1C5-8785BD4366A7}"
+ RootNamespace="girepository"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\girepository"
+ PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\girepository"
+ PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\girepository"
+ PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\girepository"
+ PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libffi.lib"
+ OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+#include "girepository.sourcefiles"
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/glib-print.vcproj b/win32/vs9/glib-print.vcproj
new file mode 100644
index 00000000..e6aa2d92
--- /dev/null
+++ b/win32/vs9/glib-print.vcproj
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="glib-print"
+ ProjectGUID="{2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}"
+ RootNamespace="glibprint"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="_DEBUG"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions=""
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Sources"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File RelativePath="..\..\examples\glib-print.c" />
+ </Filter>
+ <Filter
+ Name="Headers"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win32/vs9/gobject-introspection.sln b/win32/vs9/gobject-introspection.sln
new file mode 100644
index 00000000..80826ac3
--- /dev/null
+++ b/win32/vs9/gobject-introspection.sln
@@ -0,0 +1,166 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-prebuild", "gi-prebuild.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B11}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph", "cmph.vcproj", "{442C007E-D901-41DA-9706-5DB4AFB4C06B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}
+ EndProjectSection
+EndProject
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph-bdz-test", "cmph-bdz-test.vcproj", "{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B} = {442C007E-D901-41DA-9706-5DB4AFB4C06B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "girepository", "girepository.vcproj", "{23E28245-8FC7-4B41-B1C5-8785BD4366A7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B} = {442C007E-D901-41DA-9706-5DB4AFB4C06B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_giscanner", "_giscanner.vcproj", "{8311394F-9114-4C97-80F2-51BCABA054C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-print", "glib-print.vcproj", "{2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-generate.vcproj", "{F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
+ ProjectSection(ProjectDependencies) = postProject
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B} = {442C007E-D901-41DA-9706-5DB4AFB4C06B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-inspect", "g-ir-inspect.vcproj", "{F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcproj", "{7A36674C-379D-4989-A978-07124E5F852C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+ ProjectSection(ProjectDependencies) = postProject
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
+ {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}
+ {7A36674C-379D-4989-A978-07124E5F852C} = {7A36674C-379D-4989-A978-07124E5F852C}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.Build.0 = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.ActiveCfg = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.Build.0 = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.ActiveCfg = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.Build.0 = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.ActiveCfg = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.Build.0 = Release|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.Build.0 = Debug|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.ActiveCfg = Debug|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.Build.0 = Debug|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|Win32.ActiveCfg = Release|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|Win32.Build.0 = Release|Win32
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|x64.ActiveCfg = Release|x64
+ {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Release|x64.Build.0 = Release|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|Win32.Build.0 = Debug|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|x64.ActiveCfg = Debug|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Debug|x64.Build.0 = Debug|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|Win32.ActiveCfg = Release|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|Win32.Build.0 = Release|Win32
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|x64.ActiveCfg = Release|x64
+ {E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}.Release|x64.Build.0 = Release|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|Win32.Build.0 = Debug|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|x64.ActiveCfg = Debug|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Debug|x64.Build.0 = Debug|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|Win32.ActiveCfg = Release|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|Win32.Build.0 = Release|Win32
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|x64.ActiveCfg = Release|x64
+ {23E28245-8FC7-4B41-B1C5-8785BD4366A7}.Release|x64.Build.0 = Release|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|Win32.Build.0 = Debug|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|x64.ActiveCfg = Debug|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Debug|x64.Build.0 = Debug|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|Win32.ActiveCfg = Release|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|Win32.Build.0 = Release|Win32
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|x64.ActiveCfg = Release|x64
+ {8311394F-9114-4C97-80F2-51BCABA054C9}.Release|x64.Build.0 = Release|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|Win32.Build.0 = Debug|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|x64.ActiveCfg = Debug|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Debug|x64.Build.0 = Debug|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|Win32.ActiveCfg = Release|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|Win32.Build.0 = Release|Win32
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|x64.ActiveCfg = Release|x64
+ {2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}.Release|x64.Build.0 = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|Win32.Build.0 = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|x64.ActiveCfg = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Debug|x64.Build.0 = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|Win32.ActiveCfg = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|Win32.Build.0 = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|x64.ActiveCfg = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}.Release|x64.Build.0 = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|Win32.Build.0 = Debug|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|x64.ActiveCfg = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Debug|x64.Build.0 = Debug|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|Win32.ActiveCfg = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|Win32.Build.0 = Release|Win32
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|x64.ActiveCfg = Release|x64
+ {F4E6621F-A7DD-4863-8CCF-CA04DFC601E3}.Release|x64.Build.0 = Release|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|Win32.Build.0 = Debug|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|x64.ActiveCfg = Debug|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Debug|x64.Build.0 = Debug|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.ActiveCfg = Release|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64
+ {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
+ {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64
+ {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal