Imported Upstream version 1.48.0 93/94093/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:34:20 +0000 (14:34 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:34:30 +0000 (14:34 +0900)
Change-Id: I25f0e9c82f0c4f325f57e480215c603a8a8dbb25
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
87 files changed:
build/win32/Makefile.am
build/win32/Makefile.in
build/win32/detectenv-msvc.mak
build/win32/gi-build-common-msvc.mak
build/win32/gi-setenv-msvc.mak
build/win32/gipc.py [new file with mode: 0644]
build/win32/introspection-msvc.mak
build/win32/pc_base.py [new file with mode: 0644]
build/win32/vs10/Makefile.am
build/win32/vs10/Makefile.in
build/win32/vs10/README.txt
build/win32/vs10/_giscanner.vcxproj
build/win32/vs10/gi-build-defines.props
build/win32/vs10/gi-extra-paths.props [deleted file]
build/win32/vs10/gi-gen-srcs.props
build/win32/vs10/gi-install.props
build/win32/vs10/gi-install.propsin
build/win32/vs10/gi-install.vcxproj
build/win32/vs10/gi-install.vcxproj.filters [new file with mode: 0644]
build/win32/vs10/gi-introspect.vcxproj [new file with mode: 0644]
build/win32/vs10/gi-version-paths.props
build/win32/vs10/gi-version-paths.props.in [new file with mode: 0644]
build/win32/vs10/gobject-introspection.sln
build/win32/vs11/Makefile.am
build/win32/vs11/Makefile.in
build/win32/vs11/README.txt
build/win32/vs11/_giscanner.vcxproj
build/win32/vs11/gi-build-defines.props
build/win32/vs11/gi-extra-paths.props [deleted file]
build/win32/vs11/gi-gen-srcs.props
build/win32/vs11/gi-install.props
build/win32/vs11/gi-install.vcxproj
build/win32/vs11/gi-install.vcxproj.filters [new file with mode: 0644]
build/win32/vs11/gi-introspect.vcxproj [new file with mode: 0644]
build/win32/vs11/gi-version-paths.props
build/win32/vs11/gobject-introspection.sln
build/win32/vs12/Makefile.am
build/win32/vs12/Makefile.in
build/win32/vs12/README.txt
build/win32/vs12/_giscanner.vcxproj
build/win32/vs12/gi-build-defines.props
build/win32/vs12/gi-extra-paths.props [deleted file]
build/win32/vs12/gi-gen-srcs.props
build/win32/vs12/gi-install.props
build/win32/vs12/gi-install.vcxproj
build/win32/vs12/gi-install.vcxproj.filters [new file with mode: 0644]
build/win32/vs12/gi-introspect.vcxproj [new file with mode: 0644]
build/win32/vs12/gi-version-paths.props
build/win32/vs12/gobject-introspection.sln
build/win32/vs14/Makefile.am
build/win32/vs14/Makefile.in
build/win32/vs14/README.txt
build/win32/vs14/_giscanner.vcxproj
build/win32/vs14/gi-build-defines.props
build/win32/vs14/gi-extra-paths.props [deleted file]
build/win32/vs14/gi-gen-srcs.props
build/win32/vs14/gi-install.props
build/win32/vs14/gi-install.vcxproj
build/win32/vs14/gi-install.vcxproj.filters [new file with mode: 0644]
build/win32/vs14/gi-introspect.vcxproj [new file with mode: 0644]
build/win32/vs14/gi-version-paths.props
build/win32/vs14/gobject-introspection.sln
build/win32/vs9/Makefile.am
build/win32/vs9/Makefile.in
build/win32/vs9/README.txt
build/win32/vs9/_giscanner.vcproj
build/win32/vs9/gi-build-defines.vsprops
build/win32/vs9/gi-extra-paths.vsprops [deleted file]
build/win32/vs9/gi-gen-srcs.vsprops
build/win32/vs9/gi-install.vcproj
build/win32/vs9/gi-install.vsprops
build/win32/vs9/gi-install.vspropsin
build/win32/vs9/gi-introspect.vcproj [new file with mode: 0644]
build/win32/vs9/gi-version-paths.vsprops
build/win32/vs9/gi-version-paths.vsprops.in [new file with mode: 0644]
build/win32/vs9/gobject-introspection.sln
config.h.win32
configure
configure.ac
docs/reference/html/index.html
docs/reference/version.xml
gir/gio-2.0.c
gir/glib-2.0.c
girepository/cmph/bdz.c
giscanner/ccompiler.py
gobject-introspection-1.0.pc
gobject-introspection-no-export-1.0.pc

index 6e4e593..756df3a 100644 (file)
@@ -14,6 +14,8 @@ EXTRA_DIST =  \
        gi_msvc_build_utils.py          \
        gi-setenv-msvc.mak              \
        gi-tests-msvc.mak               \
+       gipc.py                         \
        introspection-msvc.mak          \
+       pc_base.py                      \
        replace.py
 
index f05821b..75a6a65 100644 (file)
@@ -378,7 +378,9 @@ EXTRA_DIST = \
        gi_msvc_build_utils.py          \
        gi-setenv-msvc.mak              \
        gi-tests-msvc.mak               \
+       gipc.py                         \
        introspection-msvc.mak          \
+       pc_base.py                      \
        replace.py
 
 all: all-recursive
index c23e444..61f979d 100644 (file)
@@ -55,7 +55,7 @@ version is not supported.
 !endif
 
 VALID_CFGSET = FALSE
-!if "$(CFG)" == "release" || "$(CFG)" == "debug"
+!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
 VALID_CFGSET = TRUE
 !endif
 
@@ -63,7 +63,7 @@ VALID_CFGSET = TRUE
 # using .pdb files for release builds
 CFLAGS_BASE = /Zi
 
-!if "$(CFG)" == "release"
+!if "$(CFG)" == "release" || "$(CFG)" == "Release"
 CFLAGS_ADD = /MD /O2 $(CFLAGS_BASE)
 !else
 CFLAGS_ADD = /MDd /Od $(CFLAGS_BASE)
index 6d108ea..e122003 100644 (file)
@@ -12,7 +12,8 @@ CHECK_PACKAGE = gio-$(GLIB_APIVERSION)
 !include introspection-msvc.mak
 
 BINDIR = vs$(VSVER)\$(CFG)\$(PLAT)\bin
-G_IR_SCANNER_CURRENT = ..\..\tools\g-ir-scanner
-G_IR_DOC_TOOL_CURRENT = ..\..\tools\g-ir-doc-tool
-G_IR_COMPILER_CURRENT = $(BINDIR)\g-ir-compiler.exe
 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
index 4db6f3f..6cfae3a 100644 (file)
@@ -4,9 +4,9 @@
 # Please do not change anything after this line
 
 setgirbuildenv:
-       @set UNINSTALLED_INTROSPECTION_SRCDIR=..\..
-       @set UNINSTALLED_INTROSPECTION_BUILDDIR=..\..
-       @set PYTHONPATH=..\..;$(BINDIR)
+       @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=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(PREFIX)\lib;$(LIB)
diff --git a/build/win32/gipc.py b/build/win32/gipc.py
new file mode 100644 (file)
index 0000000..281f07f
--- /dev/null
@@ -0,0 +1,42 @@
+#!/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)
+
+if __name__ == '__main__':
+    sys.exit(main(sys.argv))
index 6b58293..f6fff49 100644 (file)
@@ -74,7 +74,7 @@ VALID_PKG_CONFIG_PATH = FALSE
 !endif
 
 VALID_CFGSET = FALSE
-!if "$(CFG)" == "release" || "$(CFG)" == "debug"
+!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
 VALID_CFGSET = TRUE
 !endif
 
diff --git a/build/win32/pc_base.py b/build/win32/pc_base.py
new file mode 100644 (file)
index 0000000..80f9884
--- /dev/null
@@ -0,0 +1,107 @@
+#!/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 = 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)
+
+        # check and setup the exec_prefix
+        if getattr(args, 'exec_prefix', None) is None:
+            input_exec_prefix = args.prefix
+        else:
+            input_exec_prefix = args.exec_prefix
+        if not os.path.exists(input_exec_prefix):
+            raise SystemExit('Specified exec-prefix \'%s\' is invalid' %
+                             input_exec_prefix)
+
+
+        # 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:
+                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:
+                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('\\','/')
+
+        # use absolute paths for prefix and exec_prefix
+        self.prefix = os.path.abspath(args.prefix).replace('\\','/')
+        self.exec_prefix = os.path.abspath(input_exec_prefix).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})
index c22e86c..95f6e13 100644 (file)
@@ -10,7 +10,6 @@ GENERATED_ITEMS = \
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.propsin      \
        gi-version-paths.props  \
@@ -30,6 +29,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt      \
        $(GENERATED_ITEMS)
 
index dea496a..88dcdf2 100644 (file)
@@ -99,7 +99,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = gi-version-paths.props
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -121,7 +121,8 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(srcdir)/gi-version-paths.props.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -314,7 +315,6 @@ GENERATED_ITEMS = \
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.propsin      \
        gi-version-paths.props  \
@@ -334,6 +334,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt      \
        $(GENERATED_ITEMS)
 
@@ -370,6 +372,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+gi-version-paths.props: $(top_builddir)/config.status $(srcdir)/gi-version-paths.props.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 mostlyclean-libtool:
        -rm -f *.lo
index 54afd99..d3ff8b4 100644 (file)
@@ -59,30 +59,34 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,\r
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
-will build the libraries, tools, Python Module and test DLLs (except for the everything\r
-test), and the other one with NMake Makefiles for building the introspection files.\r
-Please note that if one needs to change the installation location\r
-of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
-PythonDirX64 (for x64 builds) in gi-extra-paths.props\r
+The build of G-I is now done within the project files, although it is still possible to\r
+do it in two stages by using the NMake Makefiles after building the projects.\r
+\r
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:\r
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)\r
+ is by default <parent_dir_of_G-I_srcroot>\vs10\<PlatformName>.  If searching from\r
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using\r
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will\r
+ precede the set paths.\r
+-For the Python Path using the project files: check whether the directory settings in\r
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.\r
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.\r
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for\r
+ the changes to take effect.\r
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to\r
+ the NMake Makefile or set it in the environment.  The bit-ness of your Python installation\r
+ must match the configuration that you are building for.\r
 \r
 The use of Visual Studio Projects will no longer require the setting of environmental\r
 variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
 or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
 should be done after successfully building the Project Files):\r
 \r
-PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is\r
-        not in your PATH.  Please note that only 2.7.x and 3.3.x and later works.\r
-        You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
-        version of Python for Win32/x86 builds\r
-PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
-\r
 Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details.  Doing\r
 "nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
 and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
-files to <root>\vs10\<PlatformName>\share\gir-1.0 (.gir files) and\r
-<root>\vs10\<PlatformName>\lib\girepository-1.0 (.typelib files)\r
+files to <root>\vs10\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs10\<PlatformName>\lib\girepository-1.0\r
+(.typelib files)\r
 \r
 *** End of Note! ***\r
 \r
index 9543bc7..d6894e7 100644 (file)
   </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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index 2d60f33..686cd4d 100644 (file)
@@ -6,6 +6,10 @@
   <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)\..\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</GIIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
     <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/build/win32/vs10/gi-extra-paths.props b/build/win32/vs10/gi-extra-paths.props
deleted file mode 100644 (file)
index d499647..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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">
-    <!-- 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>
-  </PropertyGroup>
-  <PropertyGroup>
-    <_PropertySheetDisplayName>giextrapathsprops</_PropertySheetDisplayName>
-  </PropertyGroup>
-  <ItemGroup>
-    <BuildMacro Include="PythonDir">
-      <Value>$(PythonDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="PythonDirX64">
-      <Value>$(PythonDirX64)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
index 37a06c1..8f7ab6e 100644 (file)
@@ -1,7 +1,7 @@
 <?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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
index d9ff63e..ef39814 100644 (file)
@@ -129,15 +129,41 @@ copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+mkdir $(CopyDir)\lib
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\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 $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
-</GIDoInstall>
+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
+    </GIDoInstall>
+    <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.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>
@@ -149,5 +175,14 @@ echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspectio
     <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>
index ae32fc2..1b11298 100644 (file)
@@ -36,17 +36,47 @@ copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0
 copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
 copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
 
-mkdir $(CopyDir)\share\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 
+mkdir $(CopyDir)\lib
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\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 $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
+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)
 
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
-</GIDoInstall>
+mkdir $(CopyDir)\lib\pkgconfig
+copy ..\gobject-introspection-1.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\gobject-introspection-no-export-1.0.pc $(CopyDir)\lib\pkgconfig
+    </GIDoInstall>
+    <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.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>
@@ -58,5 +88,14 @@ echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspectio
     <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>
index fbb757f..b9ac72c 100644 (file)
   <ItemGroup>
     <CustomBuild Include="..\..\..\config.h.win32">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">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-compiler.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">
diff --git a/build/win32/vs10/gi-install.vcxproj.filters b/build/win32/vs10/gi-install.vcxproj.filters
new file mode 100644 (file)
index 0000000..6725a63
--- /dev/null
@@ -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/build/win32/vs10/gi-introspect.vcxproj b/build/win32/vs10/gi-introspect.vcxproj
new file mode 100644 (file)
index 0000000..b634495
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{7A36674C-379D-4989-A978-07124E5F852C}</ProjectGuid>\r
+    <RootNamespace>giintrospect</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <PlatformToolset>v100</PlatformToolset>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="g-ir-compiler.vcxproj">\r
+      <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="g-ir-generate.vcxproj">\r
+      <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="girepository.vcxproj">\r
+      <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="_giscanner.vcxproj">\r
+      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
index bcf31f1..69a101b 100644 (file)
@@ -3,8 +3,15 @@
   <PropertyGroup Label="UserMacros">
     <VSVer>10</VSVer>
     <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <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>1.48.0</GIVersion>
+    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <ApiVersion>1.0</ApiVersion>
     <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
     <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
     <BuildMacro Include="GlibEtcInstallRoot">
       <Value>$(GlibEtcInstallRoot)</Value>
     </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</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="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
     <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
       <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
     </BuildMacro>
diff --git a/build/win32/vs10/gi-version-paths.props.in b/build/win32/vs10/gi-version-paths.props.in
new file mode 100644 (file)
index 0000000..bdb0dd9
--- /dev/null
@@ -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>
index 25bb921..57673e0 100644 (file)
@@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcxproj", "{7A36674C-379D-4989-A978-07124E5F852C}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
 EndProject\r
 Global\r
@@ -91,6 +93,14 @@ Global
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index 9c19974..2e9d02a 100644 (file)
@@ -1,7 +1,6 @@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -21,6 +20,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index 2701568..41015fc 100644 (file)
@@ -321,7 +321,6 @@ top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -341,6 +340,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index 0e0efa5..546725e 100644 (file)
@@ -59,30 +59,34 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,\r
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
-will build the libraries, tools, Python Module and test DLLs (except for the everything\r
-test), and the other one with NMake Makefiles for building the introspection files.\r
-Please note that if one needs to change the installation location\r
-of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
-PythonDirX64 (for x64 builds) in gi-extra-paths.props\r
+The build of G-I is now done within the project files, although it is still possible to\r
+do it in two stages by using the NMake Makefiles after building the projects.\r
+\r
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:\r
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)\r
+ is by default <parent_dir_of_G-I_srcroot>\vs11\<PlatformName>.  If searching from\r
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using\r
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will\r
+ precede the set paths.\r
+-For the Python Path using the project files: check whether the directory settings in\r
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.\r
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.\r
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for\r
+ the changes to take effect.\r
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to\r
+ the NMake Makefile or set it in the environment.  The bit-ness of your Python installation\r
+ must match the configuration that you are building for.\r
 \r
 The use of Visual Studio Projects will no longer require the setting of environmental\r
 variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
 or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
 should be done after successfully building the Project Files):\r
 \r
-PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is\r
-        not in your PATH.  Please note that only 2.7.x and 3.3.x and later works.\r
-        You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
-        version of Python for Win32/x86 builds\r
-PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
-\r
 Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details.  Doing\r
 "nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
 and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
-files to <root>\vs11\<PlatformName>\share\gir-1.0 (.gir files) and\r
-<root>\vs11\<PlatformName>\lib\girepository-1.0 (.typelib files)\r
+files to <root>\vs11\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs11\<PlatformName>\lib\girepository-1.0\r
+(.typelib files)\r
 \r
 *** End of Note! ***\r
 \r
index 4ebe1e9..a9fb8f4 100644 (file)
   </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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index 2d60f33..686cd4d 100644 (file)
@@ -6,6 +6,10 @@
   <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)\..\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</GIIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
     <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/build/win32/vs11/gi-extra-paths.props b/build/win32/vs11/gi-extra-paths.props
deleted file mode 100644 (file)
index d499647..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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">
-    <!-- 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>
-  </PropertyGroup>
-  <PropertyGroup>
-    <_PropertySheetDisplayName>giextrapathsprops</_PropertySheetDisplayName>
-  </PropertyGroup>
-  <ItemGroup>
-    <BuildMacro Include="PythonDir">
-      <Value>$(PythonDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="PythonDirX64">
-      <Value>$(PythonDirX64)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
index 37a06c1..8f7ab6e 100644 (file)
@@ -1,7 +1,7 @@
 <?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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
index d9ff63e..ef39814 100644 (file)
@@ -129,15 +129,41 @@ copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+mkdir $(CopyDir)\lib
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\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 $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
-</GIDoInstall>
+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
+    </GIDoInstall>
+    <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.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>
@@ -149,5 +175,14 @@ echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspectio
     <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>
index 310873c..e0db7a0 100644 (file)
   <ItemGroup>
     <CustomBuild Include="..\..\..\config.h.win32">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">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-compiler.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">
diff --git a/build/win32/vs11/gi-install.vcxproj.filters b/build/win32/vs11/gi-install.vcxproj.filters
new file mode 100644 (file)
index 0000000..6725a63
--- /dev/null
@@ -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/build/win32/vs11/gi-introspect.vcxproj b/build/win32/vs11/gi-introspect.vcxproj
new file mode 100644 (file)
index 0000000..1d58fcd
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{7A36674C-379D-4989-A978-07124E5F852C}</ProjectGuid>\r
+    <RootNamespace>giintrospect</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <PlatformToolset>v110</PlatformToolset>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="g-ir-compiler.vcxproj">\r
+      <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="g-ir-generate.vcxproj">\r
+      <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="girepository.vcxproj">\r
+      <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="_giscanner.vcxproj">\r
+      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
index 12688c4..a725ceb 100644 (file)
@@ -3,8 +3,15 @@
   <PropertyGroup Label="UserMacros">
     <VSVer>11</VSVer>
     <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <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>1.48.0</GIVersion>
+    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <ApiVersion>1.0</ApiVersion>
     <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
     <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
     <BuildMacro Include="GlibEtcInstallRoot">
       <Value>$(GlibEtcInstallRoot)</Value>
     </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</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="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
     <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
       <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
     </BuildMacro>
index 2833b3d..2615353 100644 (file)
@@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcxproj", "{7A36674C-379D-4989-A978-07124E5F852C}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
 EndProject\r
 Global\r
@@ -91,6 +93,14 @@ Global
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index 2ec8bd1..eaff979 100644 (file)
@@ -1,7 +1,6 @@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -21,6 +20,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index 8b82afa..2e865a8 100644 (file)
@@ -321,7 +321,6 @@ top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -341,6 +340,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index b717ea3..9de754c 100644 (file)
@@ -59,30 +59,34 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,\r
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
-will build the libraries, tools, Python Module and test DLLs (except for the everything\r
-test), and the other one with NMake Makefiles for building the introspection files.\r
-Please note that if one needs to change the installation location\r
-of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
-PythonDirX64 (for x64 builds) in gi-extra-paths.props\r
+The build of G-I is now done within the project files, although it is still possible to\r
+do it in two stages by using the NMake Makefiles after building the projects.\r
+\r
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:\r
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)\r
+ is by default <parent_dir_of_G-I_srcroot>\vs12\<PlatformName>.  If searching from\r
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using\r
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will\r
+ precede the set paths.\r
+-For the Python Path using the project files: check whether the directory settings in\r
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.\r
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.\r
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for\r
+ the changes to take effect.\r
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to\r
+ the NMake Makefile or set it in the environment.  The bit-ness of your Python installation\r
+ must match the configuration that you are building for.\r
 \r
 The use of Visual Studio Projects will no longer require the setting of environmental\r
 variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
 or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
 should be done after successfully building the Project Files):\r
 \r
-PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is\r
-        not in your PATH.  Please note that only 2.7.x and 3.3.x and later works.\r
-        You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
-        version of Python for Win32/x86 builds\r
-PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
-\r
 Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details.  Doing\r
 "nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
 and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
-files to <root>\vs12\<PlatformName>\share\gir-1.0 (.gir files) and\r
-<root>\vs12\<PlatformName>\lib\girepository-1.0 (.typelib files)\r
+files to <root>\vs12\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs12\<PlatformName>\lib\girepository-1.0\r
+(.typelib files)\r
 \r
 *** End of Note! ***\r
 \r
index 356e912..8db0a24 100644 (file)
   </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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index 2d60f33..686cd4d 100644 (file)
@@ -6,6 +6,10 @@
   <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)\..\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</GIIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
     <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/build/win32/vs12/gi-extra-paths.props b/build/win32/vs12/gi-extra-paths.props
deleted file mode 100644 (file)
index d499647..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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">
-    <!-- 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>
-  </PropertyGroup>
-  <PropertyGroup>
-    <_PropertySheetDisplayName>giextrapathsprops</_PropertySheetDisplayName>
-  </PropertyGroup>
-  <ItemGroup>
-    <BuildMacro Include="PythonDir">
-      <Value>$(PythonDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="PythonDirX64">
-      <Value>$(PythonDirX64)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
index 37a06c1..8f7ab6e 100644 (file)
@@ -1,7 +1,7 @@
 <?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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
index d9ff63e..ef39814 100644 (file)
@@ -129,15 +129,41 @@ copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+mkdir $(CopyDir)\lib
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\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 $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
-</GIDoInstall>
+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
+    </GIDoInstall>
+    <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.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>
@@ -149,5 +175,14 @@ echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspectio
     <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>
index 34bc42f..5026b9e 100644 (file)
   <ItemGroup>
     <CustomBuild Include="..\..\..\config.h.win32">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">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-compiler.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">
diff --git a/build/win32/vs12/gi-install.vcxproj.filters b/build/win32/vs12/gi-install.vcxproj.filters
new file mode 100644 (file)
index 0000000..6725a63
--- /dev/null
@@ -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/build/win32/vs12/gi-introspect.vcxproj b/build/win32/vs12/gi-introspect.vcxproj
new file mode 100644 (file)
index 0000000..1571909
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{7A36674C-379D-4989-A978-07124E5F852C}</ProjectGuid>\r
+    <RootNamespace>giintrospect</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <PlatformToolset>v120</PlatformToolset>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="g-ir-compiler.vcxproj">\r
+      <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="g-ir-generate.vcxproj">\r
+      <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="girepository.vcxproj">\r
+      <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="_giscanner.vcxproj">\r
+      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
index 2e60d73..977d97e 100644 (file)
@@ -3,8 +3,15 @@
   <PropertyGroup Label="UserMacros">
     <VSVer>12</VSVer>
     <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <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>1.48.0</GIVersion>
+    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <ApiVersion>1.0</ApiVersion>
     <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
     <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
     <BuildMacro Include="GlibEtcInstallRoot">
       <Value>$(GlibEtcInstallRoot)</Value>
     </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</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="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
     <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
       <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
     </BuildMacro>
index 7ee76e6..4f9c728 100644 (file)
@@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcxproj", "{7A36674C-379D-4989-A978-07124E5F852C}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
 EndProject\r
 Global\r
@@ -91,6 +93,14 @@ Global
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index cc95831..7ed9397 100644 (file)
@@ -1,7 +1,6 @@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -21,6 +20,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index 650dfd8..df6fa0a 100644 (file)
@@ -321,7 +321,6 @@ top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.props  \
-       gi-extra-paths.props    \
        gi-gen-srcs.props       \
        gi-install.props        \
        gi-version-paths.props  \
@@ -341,6 +340,8 @@ EXTRA_DIST = \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
        gi-install.vcxproj      \
+       gi-install.vcxproj.filters      \
+       gi-introspect.vcxproj   \
        README.txt
 
 DISTCLEANFILES = $(EXTRA_DIST)
index 7cc3c57..0d3133d 100644 (file)
@@ -59,30 +59,34 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,\r
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
-will build the libraries, tools, Python Module and test DLLs (except for the everything\r
-test), and the other one with NMake Makefiles for building the introspection files.\r
-Please note that if one needs to change the installation location\r
-of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
-PythonDirX64 (for x64 builds) in gi-extra-paths.props\r
+The build of G-I is now done within the project files, although it is still possible to\r
+do it in two stages by using the NMake Makefiles after building the projects.\r
+\r
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:\r
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)\r
+ is by default <parent_dir_of_G-I_srcroot>\vs14\<PlatformName>.  If searching from\r
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using\r
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will\r
+ precede the set paths.\r
+-For the Python Path using the project files: check whether the directory settings in\r
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.\r
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.\r
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for\r
+ the changes to take effect.\r
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to\r
+ the NMake Makefile or set it in the environment.  The bit-ness of your Python installation\r
+ must match the configuration that you are building for.\r
 \r
 The use of Visual Studio Projects will no longer require the setting of environmental\r
 variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
 or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
 should be done after successfully building the Project Files):\r
 \r
-PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is\r
-        not in your PATH.  Please note that only 2.7.x and 3.3.x and later works.\r
-        You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
-        version of Python for Win32/x86 builds\r
-PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
-\r
 Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details.  Doing\r
 "nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
 and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
-files to <root>\vs14\<PlatformName>\share\gir-1.0 (.gir files) and\r
-<root>\vs14\<PlatformName>\lib\girepository-1.0 (.typelib files)\r
+files to <root>\vs14\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs14\<PlatformName>\lib\girepository-1.0\r
+(.typelib files)\r
 \r
 *** End of Note! ***\r
 \r
index 7d5b541..3c5c3b1 100644 (file)
   </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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index 2d60f33..686cd4d 100644 (file)
@@ -6,6 +6,10 @@
   <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)\..\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</GIIntrospectBuiltFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
     <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/build/win32/vs14/gi-extra-paths.props b/build/win32/vs14/gi-extra-paths.props
deleted file mode 100644 (file)
index d499647..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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">
-    <!-- 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>
-  </PropertyGroup>
-  <PropertyGroup>
-    <_PropertySheetDisplayName>giextrapathsprops</_PropertySheetDisplayName>
-  </PropertyGroup>
-  <ItemGroup>
-    <BuildMacro Include="PythonDir">
-      <Value>$(PythonDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="PythonDirX64">
-      <Value>$(PythonDirX64)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
index 37a06c1..8f7ab6e 100644 (file)
@@ -1,7 +1,7 @@
 <?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-extra-paths.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
index d9ff63e..ef39814 100644 (file)
@@ -129,15 +129,41 @@ copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
 copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+mkdir $(CopyDir)\lib
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\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 $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
-</GIDoInstall>
+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
+    </GIDoInstall>
+    <GIPCFiles>..\gobject-introspection-1.0.pc;..\gobject-introspection-no-export-1.0.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>
@@ -149,5 +175,14 @@ echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspectio
     <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>
index 78e7605..ff91c48 100644 (file)
   <ItemGroup>
     <CustomBuild Include="..\..\..\config.h.win32">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIPCFiles)</AdditionalInputs>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">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-compiler.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">
diff --git a/build/win32/vs14/gi-install.vcxproj.filters b/build/win32/vs14/gi-install.vcxproj.filters
new file mode 100644 (file)
index 0000000..6725a63
--- /dev/null
@@ -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/build/win32/vs14/gi-introspect.vcxproj b/build/win32/vs14/gi-introspect.vcxproj
new file mode 100644 (file)
index 0000000..d72d9bc
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{7A36674C-379D-4989-A978-07124E5F852C}</ProjectGuid>\r
+    <RootNamespace>giintrospect</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Makefile</ConfigurationType>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+    <Import Project="gi-build-defines.props" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <NMakeBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)</NMakeBuildCommandLine>\r
+    <NMakeReBuildCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all</NMakeReBuildCommandLine>\r
+    <NMakeCleanCommandLine>$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean</NMakeCleanCommandLine>\r
+    <NMakeOutput>$(GIIntrospectBuiltFiles)</NMakeOutput>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="g-ir-compiler.vcxproj">\r
+      <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="g-ir-generate.vcxproj">\r
+      <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="girepository.vcxproj">\r
+      <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+    <ProjectReference Include="_giscanner.vcxproj">\r
+      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>\r
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
index 7d007cf..938ea65 100644 (file)
@@ -3,8 +3,15 @@
   <PropertyGroup Label="UserMacros">
     <VSVer>14</VSVer>
     <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <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>1.48.0</GIVersion>
+    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
     <ApiVersion>1.0</ApiVersion>
     <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
     <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
     <BuildMacro Include="GlibEtcInstallRoot">
       <Value>$(GlibEtcInstallRoot)</Value>
     </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</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="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
     <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
       <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
     </BuildMacro>
index c49a067..68e9174 100644 (file)
@@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcxproj", "{7A36674C-379D-4989-A978-07124E5F852C}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
 EndProject\r
 Global\r
@@ -91,6 +93,14 @@ Global
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|Win32.Build.0 = Release|Win32\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.ActiveCfg = Release|x64\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}.Release|x64.Build.0 = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index 725a18a..3ddf180 100644 (file)
@@ -7,7 +7,6 @@ GENERATED_ITEMS = \
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.vsprops        \
-       gi-extra-paths.vsprops  \
        gi-gen-srcs.vsprops     \
        gi-install.vspropsin    \
        gi-version-paths.vsprops        \
@@ -19,6 +18,7 @@ EXTRA_DIST = \
        g-ir-generate.vcproj    \
        glib-print.vcproj       \
        gi-install.vcproj       \
+       gi-introspect.vcproj    \
        _giscanner.vcproj       \
        README.txt      \
        $(GENERATED_ITEMS)
index 39080a8..a5c4729 100644 (file)
@@ -99,7 +99,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = gi-version-paths.vsprops
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -121,7 +121,8 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(srcdir)/gi-version-paths.vsprops.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -311,7 +312,6 @@ GENERATED_ITEMS = \
 EXTRA_DIST = \
        gobject-introspection.sln       \
        gi-build-defines.vsprops        \
-       gi-extra-paths.vsprops  \
        gi-gen-srcs.vsprops     \
        gi-install.vspropsin    \
        gi-version-paths.vsprops        \
@@ -323,6 +323,7 @@ EXTRA_DIST = \
        g-ir-generate.vcproj    \
        glib-print.vcproj       \
        gi-install.vcproj       \
+       gi-introspect.vcproj    \
        _giscanner.vcproj       \
        README.txt      \
        $(GENERATED_ITEMS)
@@ -360,6 +361,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+gi-version-paths.vsprops: $(top_builddir)/config.status $(srcdir)/gi-version-paths.vsprops.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 mostlyclean-libtool:
        -rm -f *.lo
index 2911fc1..05cfc91 100644 (file)
@@ -59,25 +59,29 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python and PKG_CONFIG_PATH,\r
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
-will build the libraries, tools, Python Module and test DLLs (except for the everything\r
-test), and the other one with NMake Makefiles for building the introspection files.\r
-Please note that if one needs to change the installation location\r
-of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
-PythonDirX64 (for x64 builds) in gi-extra-paths.vsprops\r
+The build of G-I is now done within the project files, although it is still possible to\r
+do it in two stages by using the NMake Makefiles after building the projects.\r
+\r
+As there are numerous possible configurations on Python and PKG_CONFIG_PATH, note that:\r
+-For both methods PKG_CONFIG_PATH is by default $(PREFIX)\lib\pkgconfig, where $(PREFIX)\r
+ is by default <parent_dir_of_G-I_srcroot>\vs9\<PlatformName>.  If searching from\r
+ more directories is desired, set the PKG_CONFIG_PATH environment variable before using\r
+ the NMake Makefile or opening the projects, but note that $(PREFIX)\lib\pkgconfig will\r
+ precede the set paths.\r
+-For the Python Path using the project files: check whether the directory settings in\r
+ gi-version-paths.vsprops under PythonDir (32-bit) or PythonDirX64 (x64) is correct.\r
+ If the projects have been loaded by Visual Studio, close the projects and re-open them.\r
+ You may need to delete all the *.suo, *.user and *.ncb files in this directory for\r
+ the changes to take effect.\r
+-For the Python Path using the NMake Makefiles: pass in PYTHON=<full_path_to_python> to\r
+ the NMake Makefile or set it in the environment.  The bit-ness of your Python installation\r
+ must match the configuration that you are building for.\r
 \r
 The use of Visual Studio Projects will no longer require the setting of environmental\r
 variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
 or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
 should be done after successfully building the Project Files):\r
 \r
-PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is\r
-        not in your PATH.  Please note that only 2.7.x and 3.3.x and later works.\r
-        You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
-        version of Python for Win32/x86 builds\r
-PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
-\r
 Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details.  Doing\r
 "nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
 and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
index 8f1e2a6..c19faf7 100644 (file)
@@ -22,7 +22,7 @@
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
@@ -51,7 +51,7 @@
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
@@ -83,7 +83,7 @@
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
index efc2852..7fbf93e 100644 (file)
                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/build/win32/vs9/gi-extra-paths.vsprops b/build/win32/vs9/gi-extra-paths.vsprops
deleted file mode 100644 (file)
index ba7c4a6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="giextrapaths"
-       InheritedPropertySheets=".\gi-build-defines.vsprops"
-       >
-       <!-- 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"
-       />
-</VisualStudioPropertySheet>
index cd83b45..8a24978 100644 (file)
@@ -3,7 +3,7 @@
        ProjectType="Visual C++"
        Version="8.00"
        Name="gigensrcsprops"
-       InheritedPropertySheets=".\gi-extra-paths.vsprops"
+       InheritedPropertySheets=".\gi-build-defines.vsprops"
        >
        <UserMacro
                Name="CopyConfigH"
index 58ad177..212bf54 100644 (file)
@@ -28,7 +28,7 @@
                        DeleteExtensionsOnClean=""
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
+                               Name="VCPostBuildEventTool"
                                CommandLine="$(GIDoInstall)"
                        />
                </Configuration>
@@ -41,7 +41,7 @@
                        DeleteExtensionsOnClean=""
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
+                               Name="VCPostBuildEventTool"
                                CommandLine="$(GIDoInstall)"
                        />
                </Configuration>
@@ -55,7 +55,7 @@
                        DeleteExtensionsOnClean=""
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
+                               Name="VCPostBuildEventTool"
                                CommandLine="$(GIDoInstall)"
                        />
                </Configuration>
                        DeleteExtensionsOnClean=""
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
+                               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"
+                                       />
+                               </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"
+                                       />
+                               </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"
+                                       />
+                               </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"
+                                       />
+                               </FileConfiguration>
+                       </File>
+               </Filter>
+       </Files>
 </VisualStudioProject>
index cda3c9c..39ac7be 100644 (file)
@@ -131,14 +131,45 @@ copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)&#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;
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process&#x0D;&#x0A;
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile&#x0D;&#x0A;
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files&#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;
   "
  />
+ <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>
index a30f3e3..b67b20a 100644 (file)
@@ -37,7 +37,6 @@ copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0
 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\gir-$(ApiVersion)&#x0D;&#x0A;
 
 mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
 
@@ -47,9 +46,43 @@ mkdir $(CopyDir)\lib&#x0D;&#x0A;
 
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
 
-echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process&#x0D;&#x0A;
-echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile&#x0D;&#x0A;
-echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files&#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;
                "
        />
+       <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/build/win32/vs9/gi-introspect.vcproj b/build/win32/vs9/gi-introspect.vcproj
new file mode 100644 (file)
index 0000000..661c2d5
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="gi-introspect"\r
+       ProjectGUID="{7A36674C-379D-4989-A978-07124E5F852C}"\r
+       Keyword="MakeFileProj"\r
+       TargetFrameworkVersion="196613"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+               <Platform\r
+                       Name="x64"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)"\r
+                               ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"\r
+                               CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean"\r
+                               Output="$(GIIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|x64"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)"\r
+                               ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"\r
+                               CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"\r
+                               Output="$(GIIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"\r
+                       CharacterSet="2"\r
+                       DeleteExtensionsOnClean=""\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam)"\r
+                               ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"\r
+                               CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParam) clean"\r
+                               Output="$(GIIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|x64"\r
+                       ConfigurationType="0"\r
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64)"\r
+                               ReBuildCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"\r
+                               CleanCommandLine="$(GIIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"\r
+                               Output="$(GIIntrospectBuiltFiles)"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+</VisualStudioProject>\r
index ae0ef09..dc4c68a 100644 (file)
                Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
        />
        <UserMacro
-               Name="BASE_GI_DIR"
-               Value="$(SolutionDir)\..\..\.."
-       />
-       <UserMacro
                Name="CopyDir"
                Value="$(GlibEtcInstallRoot)"
        />
+       <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
        <UserMacro
-               Name="ApiVersion"
-               Value="1.0"
+               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="DefDir"
-               Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+               Name="IntrospectPythonParamX64"
+               Value="PYTHON=$(PythonDirX64)\python.exe"
+       />
+       <UserMacro
+               Name="GIVersion"
+               Value="1.48.0"
+       />
+       <UserMacro
+               Name="BASE_GI_DIR"
+               Value="$(SolutionDir)\..\..\.."
+       />
+       <UserMacro
+               Name="ApiVersion"
+               Value="1.0"
        />
        <UserMacro
                Name="LibGILibtoolCompatibleDllPrefix"
diff --git a/build/win32/vs9/gi-version-paths.vsprops.in b/build/win32/vs9/gi-version-paths.vsprops.in
new file mode 100644 (file)
index 0000000..8e2f858
--- /dev/null
@@ -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>
index d6d4e54..a7dc0b5 100644 (file)
@@ -40,12 +40,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compi
                {442C007E-D901-41DA-9706-5DB4AFB4C06B} = {442C007E-D901-41DA-9706-5DB4AFB4C06B}\r
        EndProjectSection\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-introspect", "gi-introspect.vcproj", "{7A36674C-379D-4989-A978-07124E5F852C}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}\r
+               {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}\r
+               {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}\r
+               {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}\r
+       EndProjectSection\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}\r
                {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}\r
                {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}\r
+               {7A36674C-379D-4989-A978-07124E5F852C} = {7A36674C-379D-4989-A978-07124E5F852C}\r
        EndProjectSection\r
 EndProject\r
 Global\r
@@ -128,6 +137,14 @@ Global
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|Win32.Build.0 = Debug|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.ActiveCfg = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Debug|x64.Build.0 = Debug|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|Win32.Build.0 = Release|Win32\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.ActiveCfg = Release|x64\r
+               {7A36674C-379D-4989-A978-07124E5F852C}.Release|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 6f6b297..278fddc 100644 (file)
@@ -96,7 +96,7 @@
 #define PACKAGE_NAME "gobject-introspection"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gojbect-introspection 1.47.92"
+#define PACKAGE_STRING "gojbect-introspection 1.48.0"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gobject-introspection"
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.47.92"
+#define PACKAGE_VERSION "1.48.0"
 
 /* Define to the platform's shared library suffix */
 #define SHLIB_SUFFIX ".dll"
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "1.47.92"
+#define VERSION "1.48.0"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
index 37645ab..ff3a725 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gobject-introspection 1.47.92.
+# Generated by GNU Autoconf 2.69 for gobject-introspection 1.48.0.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gobject-introspection'
 PACKAGE_TARNAME='gobject-introspection'
-PACKAGE_VERSION='1.47.92'
-PACKAGE_STRING='gobject-introspection 1.47.92'
+PACKAGE_VERSION='1.48.0'
+PACKAGE_STRING='gobject-introspection 1.48.0'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection'
 PACKAGE_URL=''
 
@@ -1445,7 +1445,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gobject-introspection 1.47.92 to adapt to many kinds of systems.
+\`configure' configures gobject-introspection 1.48.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1517,7 +1517,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gobject-introspection 1.47.92:";;
+     short | recursive ) echo "Configuration of gobject-introspection 1.48.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1679,7 +1679,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gobject-introspection configure 1.47.92
+gobject-introspection configure 1.48.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2231,7 +2231,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gobject-introspection $as_me 1.47.92, which was
+It was created by gobject-introspection $as_me 1.48.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3099,7 +3099,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gobject-introspection'
- VERSION='1.47.92'
+ VERSION='1.48.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3373,7 +3373,7 @@ AM_BACKSLASH='\'
 
 
 # Used in docs/reference/version.xml
-GI_VERSION=1.47.92
+GI_VERSION=1.48.0
 
 
 # Check for Win32
@@ -13156,12 +13156,12 @@ if test -n "$GLIB_CFLAGS"; then
     pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.47.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.47.6") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.48.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.48.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.47.6" 2>/dev/null`
+  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.48.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13173,12 +13173,12 @@ if test -n "$GLIB_LIBS"; then
     pkg_cv_GLIB_LIBS="$GLIB_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.47.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.47.6") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.48.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.48.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.47.6" 2>/dev/null`
+  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.48.0" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13199,14 +13199,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.47.6" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.48.0" 2>&1`
         else
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.47.6" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.48.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GLIB_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (glib-2.0 >= 2.47.6) were not met:
+       as_fn_error $? "Package requirements (glib-2.0 >= 2.48.0) were not met:
 
 $GLIB_PKG_ERRORS
 
@@ -15466,7 +15466,7 @@ fi
 
 
 
-ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/scanner/annotationparser/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc config.h.win32 build/Makefile build/win32/Makefile build/win32/vs9/Makefile build/win32/vs10/Makefile build/win32/vs11/Makefile build/win32/vs12/Makefile build/win32/vs14/Makefile"
+ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/scanner/annotationparser/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc config.h.win32 build/Makefile build/win32/Makefile build/win32/vs9/Makefile build/win32/vs9/gi-version-paths.vsprops build/win32/vs10/Makefile build/win32/vs10/gi-version-paths.props build/win32/vs11/Makefile build/win32/vs12/Makefile build/win32/vs14/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -16046,7 +16046,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gobject-introspection $as_me 1.47.92, which was
+This file was extended by gobject-introspection $as_me 1.48.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16112,7 +16112,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gobject-introspection config.status 1.47.92
+gobject-introspection config.status 1.48.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -16543,7 +16543,9 @@ do
     "build/Makefile") CONFIG_FILES="$CONFIG_FILES build/Makefile" ;;
     "build/win32/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/Makefile" ;;
     "build/win32/vs9/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/vs9/Makefile" ;;
+    "build/win32/vs9/gi-version-paths.vsprops") CONFIG_FILES="$CONFIG_FILES build/win32/vs9/gi-version-paths.vsprops" ;;
     "build/win32/vs10/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/vs10/Makefile" ;;
+    "build/win32/vs10/gi-version-paths.props") CONFIG_FILES="$CONFIG_FILES build/win32/vs10/gi-version-paths.props" ;;
     "build/win32/vs11/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/vs11/Makefile" ;;
     "build/win32/vs12/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/vs12/Makefile" ;;
     "build/win32/vs14/Makefile") CONFIG_FILES="$CONFIG_FILES build/win32/vs14/Makefile" ;;
index 0c35f6d..6c91fa5 100644 (file)
@@ -3,8 +3,8 @@
 
 dnl the gi version number
 m4_define(gi_major_version, 1)
-m4_define(gi_minor_version, 47)
-m4_define(gi_micro_version, 92)
+m4_define(gi_minor_version, 48)
+m4_define(gi_micro_version, 0)
 m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
 
 AC_PREREQ([2.63])
@@ -128,7 +128,7 @@ GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
 AC_SUBST(GIR_DIR)
 AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
 
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.47.6])
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.48.0])
 PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
 PKG_CHECK_MODULES(GIO, [gio-2.0])
@@ -377,7 +377,9 @@ config.h.win32
 build/Makefile
 build/win32/Makefile
 build/win32/vs9/Makefile
+build/win32/vs9/gi-version-paths.vsprops
 build/win32/vs10/Makefile
+build/win32/vs10/gi-version-paths.props
 build/win32/vs11/Makefile
 build/win32/vs12/Makefile
 build/win32/vs14/Makefile])
index c9aebe4..44ac587 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GObject Introspection Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      This document is for GObject Introspection version 1.47.92
+      This document is for GObject Introspection version 1.48.0
 .
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://developer.gnome.org/gi/unstable/" target="_top">http://developer.gnome.org/gi/unstable/</a>.
index e8d740a..fc47538 100644 (file)
  * it is no longer required.
  *
  * Returns: (transfer full): a %NULL-terminated array of the names of the
- * actions in the groupb
+ * actions in the group
  * Since: 2.28
  */
 
index b423ccf..c91dddd 100644 (file)
  * @G_LOG_FLAG_FATAL: internal flag
  * @G_LOG_LEVEL_ERROR: log level for errors, see g_error().
  *     This level is also used for messages produced by g_assert().
- * @G_LOG_LEVEL_CRITICAL: log level for critical messages, see g_critical().
+ * @G_LOG_LEVEL_CRITICAL: log level for critical warning messages, see
+ *     g_critical().
  *     This level is also used for messages produced by g_return_if_fail()
  *     and g_return_val_if_fail().
  * @G_LOG_LEVEL_WARNING: log level for warnings, see g_warning()
index 81cd715..34898ad 100644 (file)
@@ -455,6 +455,14 @@ static void assigning(bdz_config_data_t *bdz, bdz_graph3_t* graph3, bdz_queue_t
                        SETBIT(marked_vertices, v2);
                }               
                DEBUGP("A:%u %u %u -- %u %u %u\n", v0, v1, v2, GETVALUE(bdz->g, v0), GETVALUE(bdz->g, v1), GETVALUE(bdz->g, v2));
+
+#if (_MSC_VER > 1699 && _MSC_VER < 1800)
+               /* This is bad, MSVC 2012 X64 getting confused with the value of i... */
+               /* an obvious MSVC 2012 X64 compiler bug :| */
+               if (i <= 0)
+                       break;
+#endif
+
        };
        free(marked_vertices);
 }
index c83bd7e..57df9d6 100644 (file)
@@ -20,6 +20,7 @@
 
 import os
 import subprocess
+import tempfile
 
 import sys
 import distutils
@@ -269,7 +270,11 @@ class CCompiler(object):
 
             # Use the dumpbin utility that's included in
             # every Visual C++ installation to find out which
-            # DLL the library gets linked to
+            # DLL the .lib gets linked to.
+            # dumpbin -symbols something.lib gives the
+            # filename of DLL without the '.dll' extension that something.lib
+            # links to, in the line that contains
+            # __IMPORT_DESCRIPTOR_<dll_filename_that_something.lib_links_to>
             args.append('dumpbin.exe')
             args.append('-symbols')
 
@@ -310,26 +315,36 @@ class CCompiler(object):
                         break
                     implib = os.path.join(l, c)
                     if os.path.exists(implib):
-                        proc = subprocess.Popen(args + [implib],
-                                                stdout=subprocess.PIPE)
-                        o, e = proc.communicate()
-                        for line in o.decode('ascii').splitlines():
-                            if self.check_is_msvc():
-                                # On Visual Studio, dumpbin -symbols something.lib gives the
-                                # filename of DLL without the '.dll' extension that something.lib
-                                # links to, in the line that contains
-                                # __IMPORT_DESCRIPTOR_<dll_filename_that_something.lib_links_to>
-
-                                if '__IMPORT_DESCRIPTOR_' in line:
-                                    line_tokens = line.split()
-                                    for item in line_tokens:
-                                        if item.startswith('__IMPORT_DESCRIPTOR_'):
-                                            shlibs.append(item[20:] + '.dll')
-                                            found = True
-                                            break
-                                if found:
-                                    break
-                            else:
+                        if self.check_is_msvc():
+                            tmp_fd, tmp_filename = \
+                                tempfile.mkstemp(prefix='g-ir-win32-resolve-lib-')
+
+                            # This is dumb, but it is life... Windows does not like one
+                            # trying to write to a file when its FD is not closed first,
+                            # when we use a flag in a program to do so.  So, close,
+                            # write to temp file with dumpbin and *then* re-open the
+                            # file for reading.
+                            os.close(tmp_fd)
+                            output_flag = ['-out:' + tmp_filename]
+                            proc = subprocess.call(args + [implib] + output_flag,
+                                                   stdout=subprocess.PIPE)
+                            with open(tmp_filename, 'r') as tmp_fileobj:
+                                for line in tmp_fileobj.read().splitlines():
+
+                                    if '__IMPORT_DESCRIPTOR_' in line:
+                                        line_tokens = line.split()
+                                        for item in line_tokens:
+                                            if item.startswith('__IMPORT_DESCRIPTOR_'):
+                                                shlibs.append(item[20:] + '.dll')
+                                                found = True
+                                                break
+                            tmp_fileobj.close()
+                            os.unlink(tmp_filename)
+                        else:
+                            proc = subprocess.Popen(args + [implib],
+                                                    stdout=subprocess.PIPE)
+                            o, e = proc.communicate()
+                            for line in o.decode('ascii').splitlines():
                                 shlibs.append(line)
                                 found = True
                                 break
index 53dfd46..32ef393 100644 (file)
@@ -21,4 +21,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.47.92
+Version: 1.48.0
index f7002f6..74d7cbb 100644 (file)
@@ -20,4 +20,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.47.92
+Version: 1.48.0