summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2013-02-21 13:23:49 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2013-03-06 12:57:12 +0800
commit2d8cef3cc82e8f99af9e7cb470ee3541de10f1bc (patch)
treef2e9c7fd5b99ac5e6828b2f3c722c406fa7ea881
parenta065d8eea3653fa8adaa6086b3d3ec91ebc32f77 (diff)
downloadgdk-pixbuf-2d8cef3cc82e8f99af9e7cb470ee3541de10f1bc.tar.gz
Add Windows .bat to build the introspection files
This adds a Windows .bat utility to build the introspection files for GDK-Pixbuf, which also makes use of Python REGEX abilities to read the autotools files to determine the sources that need to be placed in the filelist file for giscanner (which is itself a Python 2.6+ module) to consume. This will enable one to build the introspection files for Visual Studio builds without the need of using a shell such as MSYS. Utility Visual Studio projects are also included so that one may be able to use them and build the introspection files from the Visual Studio 2008/2010 IDE.
-rw-r--r--build/win32/Makefile.am4
-rw-r--r--build/win32/gen-file-list-gdkpixbuf.py109
-rw-r--r--build/win32/gengir_gdkpixbuf.bat135
-rw-r--r--build/win32/vs10/Makefile.am3
-rw-r--r--build/win32/vs10/gengir.vcxproj104
-rw-r--r--build/win32/vs9/Makefile.am3
-rw-r--r--build/win32/vs9/gengir.vcproj77
7 files changed, 433 insertions, 2 deletions
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index 8e316cfda..c5817714e 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -4,4 +4,8 @@ SUBDIRS = \
vs9 \
vs10
+EXTRA_DIST += \
+ gengir_gdkpixbuf.bat \
+ gen-file-list-gdkpixbuf.py
+
-include $(top_srcdir)/git.mk
diff --git a/build/win32/gen-file-list-gdkpixbuf.py b/build/win32/gen-file-list-gdkpixbuf.py
new file mode 100644
index 000000000..c3ddfa6b2
--- /dev/null
+++ b/build/win32/gen-file-list-gdkpixbuf.py
@@ -0,0 +1,109 @@
+#!/usr/bin/python
+# vim: encoding=utf-8
+# Generate the file lists for processing with g-ir-scanner
+import os
+import sys
+import re
+import string
+import subprocess
+import optparse
+
+def gen_gdkpixbuf_filelist(srcroot, subdir, dest):
+ vars = read_vars_from_AM(os.path.join(srcroot, subdir, 'Makefile.am'),
+ vars = {},
+ conds = {'HAVE_INTROSPECTION':True},
+ filters = ['GdkPixbuf_2_0_gir_FILES'])
+
+ files = vars['GdkPixbuf_2_0_gir_FILES'].split()
+
+ with open(dest, 'w') as d:
+ for i in files:
+ d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n')
+
+def read_vars_from_AM(path, vars = {}, conds = {}, filters = None):
+ '''
+ path: path to the Makefile.am
+ vars: predefined variables
+ conds: condition variables for Makefile
+ filters: if None, all variables defined are returned,
+ otherwise, it is a list contains that variables should be returned
+ '''
+ cur_vars = vars.copy()
+ RE_AM_VAR_REF = re.compile(r'\$\((\w+?)\)')
+ RE_AM_VAR = re.compile(r'^\s*(\w+)\s*=(.*)$')
+ RE_AM_INCLUDE = re.compile(r'^\s*include\s+(\w+)')
+ RE_AM_CONTINUING = re.compile(r'\\\s*$')
+ RE_AM_IF = re.compile(r'^\s*if\s+(\w+)')
+ RE_AM_ELSE = re.compile(r'^\s*else')
+ RE_AM_ENDIF = re.compile(r'^\s*endif')
+ def am_eval(cont):
+ return RE_AM_VAR_REF.sub(lambda x: cur_vars.get(x.group(1), ''), cont)
+ with open(path, 'r') as f:
+ contents = f.readlines()
+ #combine continuing lines
+ i = 0
+ ncont = []
+ while i < len(contents):
+ line = contents[i]
+ if RE_AM_CONTINUING.search(line):
+ line = RE_AM_CONTINUING.sub('', line)
+ j = i + 1
+ while j < len(contents) and RE_AM_CONTINUING.search(contents[j]):
+ line += RE_AM_CONTINUING.sub('', contents[j])
+ j += 1
+ else:
+ if j < len(contents):
+ line += contents[j]
+ i = j
+ else:
+ i += 1
+ ncont.append(line)
+
+ #include, var define, var evaluation
+ i = -1
+ skip = False
+ oldskip = []
+ while i < len(ncont) - 1:
+ i += 1
+ line = ncont[i]
+ mo = RE_AM_IF.search(line)
+ if mo:
+ oldskip.append(skip)
+ skip = False if mo.group(1) in conds and conds[mo.group(1)] \
+ else True
+ continue
+ mo = RE_AM_ELSE.search(line)
+ if mo:
+ skip = not skip
+ continue
+ mo = RE_AM_ENDIF.search(line)
+ if mo:
+ skip = oldskip.pop()
+ continue
+ if not skip:
+ mo = RE_AM_INCLUDE.search(line)
+ if mo:
+ cur_vars.update(read_vars_from_AM(am_eval(mo.group(1)), cur_vars, conds, None))
+ continue
+ mo = RE_AM_VAR.search(line)
+ if mo:
+ cur_vars[mo.group(1)] = am_eval(mo.group(2).strip())
+ continue
+
+ #filter:
+ if filters != None:
+ ret = {}
+ for i in filters:
+ ret[i] = cur_vars.get(i, '')
+ return ret
+ else:
+ return cur_vars
+
+def main(argv):
+ srcroot = '..\\..'
+ subdir = 'gdk-pixbuf'
+ gen_gdkpixbuf_filelist(srcroot, subdir, 'gdkpixbuf_list')
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/build/win32/gengir_gdkpixbuf.bat b/build/win32/gengir_gdkpixbuf.bat
new file mode 100644
index 000000000..d579e0609
--- /dev/null
+++ b/build/win32/gengir_gdkpixbuf.bat
@@ -0,0 +1,135 @@
+@echo off
+
+setlocal EnableDelayedExpansion
+
+rem Needed environmental variables:
+rem PLAT: Windows platform-Win32 (i.e. x86) or x64 (i.e. x86-64)
+rem CONF: Configuration Type, Release or Debug
+rem VSVER: Visual C++ version used [9, 10 or 11]
+rem BASEDIR: Where the dependent libraries/headers are located
+rem PKG_CONFIG_PATH: Where the GLib and its dependent pkg-config .pc files can be found
+rem MINGWDIR: Installation path of MINGW GCC, so gcc.exe can be found in %MINGWDIR%\bin.
+
+rem Note that the Python executable/installation and all the runtime dependencies of the
+rem library/libraries need to be in your PATH or %BASEBIN%\bin.
+
+rem Check the environemental variables...
+if /i "%PLAT%" == "Win32" goto PLAT_OK
+if /i "%PLAT%" == "x64" goto PLAT_OK
+if /i "%PLAT%" == "x86" (
+ set PLAT=Win32
+ goto PLAT_OK
+)
+if /i "%PLAT%" == "x86-64" (
+ set PLAT=x64
+ goto PLAT_OK
+)
+goto ERR_PLAT
+
+:PLAT_OK
+if "%VSVER%" == "9" goto VSVER_OK
+if "%VSVER%" == "10" goto VSVER_OK
+if "%VSVER%" == "11" goto VSVER_OK
+goto ERR_VSVER
+:VSVER_OK
+if /i "%CONF%" == "Release" goto CONF_OK
+if /i "%CONF%" == "Debug" goto CONF_OK
+goto ERR_CONF
+:CONF_OK
+if "%BASEDIR%" == "" goto ERR_BASEDIR
+if not exist %BASEDIR% goto ERR_BASEDIR
+
+if "%PKG_CONFIG_PATH%" == "" goto ERR_PKGCONFIG
+if not exist %PKG_CONFIG_PATH%\gobject-2.0.pc goto ERR_PKGCONFIG
+
+if "%MINGWDIR%" == "" goto ERR_MINGWDIR
+if not exist %MINGWDIR%\bin\gcc.exe goto ERR_MINGWDIR
+
+set CC=cl
+set BINDIR=%CD%\vs%VSVER%\%CONF%\%PLAT%\bin
+set INCLUDE=%BASEDIR%\include\glib-2.0;%BASEDIR%\lib\glib-2.0\include;%INCLUDE%
+set LIB=%BINDIR%;%BASEDIR%\lib;%LIB%
+set PATH=%BINDIR%;%BASEDIR%\bin;%PATH%;%MINGWDIR%\bin
+set PYTHONPATH=%BASEDIR%\lib\gobject-introspection;%BINDIR%
+
+echo Setup filelist for generating GdkPixbuf .gir's...
+
+call python gen-file-list-gdkpixbuf.py
+
+echo Setup .bat for generating GdkPixbuf .gir's...
+
+rem ===============================================================================
+rem Begin setup of gdkpixbuf_gir.bat to create GdkPixbuf-2.0.gir
+rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!)
+rem ===============================================================================
+
+echo echo Generating GdkPixbuf-2.0.gir...> gdkpixbuf_gir.bat
+echo @echo off>> gdkpixbuf_gir.bat
+echo.>> gdkpixbuf_gir.bat
+echo copy /b %BINDIR%\gdk_pixbuf-2.0.lib %BINDIR%\gdkpixbuf-2.0.lib>> gdkpixbuf_gir.bat
+echo.>> gdkpixbuf_gir.bat
+rem =====================================================================
+rem Setup the command line flags to g-ir-scanner for GdkPixbuf-2.0.gir...
+rem =====================================================================
+echo python %BASEDIR%\bin\g-ir-scanner --verbose -I..\.. -I..\..\gdk-pixbuf ^^>> gdkpixbuf_gir.bat
+echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include ^^>> gdkpixbuf_gir.bat
+echo --namespace=GdkPixbuf --nsversion=2.0 ^^>> gdkpixbuf_gir.bat
+echo --include=GModule-2.0 --include=Gio-2.0 ^^>> gdkpixbuf_gir.bat
+echo --no-libtool --library=gdk_pixbuf-2-vs%VSVER% ^^>> gdkpixbuf_gir.bat
+echo --reparse-validate --add-include-path=%BASEDIR%\share\gir-1.0 --add-include-path=. ^^>> gdkpixbuf_gir.bat
+echo --pkg-export gdk-pixbuf-2.0 --warn-all --strip-prefix=Gdk --c-include="gdk-pixbuf/gdk-pixbuf.h" ^^>> gdkpixbuf_gir.bat
+echo -I..\.. -DGDK_PIXBUF_COMPILATION ^^>> gdkpixbuf_gir.bat
+echo --filelist=gdkpixbuf_list ^^>> gdkpixbuf_gir.bat
+echo -o GdkPixbuf-2.0.gir>> gdkpixbuf_gir.bat
+echo.>> gdkpixbuf_gir.bat
+
+echo del %BINDIR%\gdkpixbuf-2.0.lib>> gdkpixbuf_gir.bat
+echo.>> gdkpixbuf_gir.bat
+echo Completed setup of .bat for generating GdkPixbuf-2.0.gir.
+echo.>> gdkpixbuf_gir.bat
+
+rem =============================================================
+rem Finish setup of gdkpixbuf_gir.bat to create GdkPixbuf-2.0.gir
+rem =============================================================
+
+rem =======================
+rem Now generate the .gir's
+rem =======================
+CALL gdkpixbuf_gir.bat
+
+rem Clean up the .bat and the filelist for generating the .gir files...
+del gdkpixbuf_gir.bat
+del gdkpixbuf_list
+
+rem Now compile the generated .gir files
+%BASEDIR%\bin\g-ir-compiler --includedir=. --debug --verbose GdkPixbuf-2.0.gir -o GdkPixbuf-2.0.typelib
+rem Copy the generated .girs and .typelibs to their appropriate places
+
+mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0
+move /y *.gir %BASEDIR%\share\gir-1.0\
+
+mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0
+move /y *.typelib %BASEDIR%\lib\girepository-1.0\
+
+goto DONE
+
+:ERR_PLAT
+echo You need to specify a valid Platform [set PLAT=Win32 or PLAT=x64]
+goto DONE
+:ERR_VSVER
+echo You need to specify your Visual Studio version [set VSVER=9 or VSVER=10 or VSVER=11]
+goto DONE
+:ERR_CONF
+echo You need to specify a valid Configuration [set CONF=Release or CONF=Debug]
+goto DONE
+:ERR_BASEDIR
+echo You need to specify a valid BASEDIR.
+goto DONE
+:ERR_PKGCONFIG
+echo You need to specify a valid PKG_CONFIG_PATH
+goto DONE
+:ERR_MINGWDIR
+echo You need to specify a valid MINGWDIR, where a valid gcc installation can be found.
+goto DONE
+:DONE
+
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index 5648e5a35..b84963607 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -14,6 +14,7 @@ EXTRA_DIST += \
gdk-pixbuf-query-loaders.vcxproj.filters \
gdk-pixbuf-pixdata.vcxproj \
gdk-pixbuf-pixdata.vcxproj.filters \
- install.vcxproj
+ install.vcxproj \
+ gengir.vcxproj
-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs10/gengir.vcxproj b/build/win32/vs10/gengir.vcxproj
new file mode 100644
index 000000000..415b451ef
--- /dev/null
+++ b/build/win32/vs10/gengir.vcxproj
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B15}</ProjectGuid>
+ <RootNamespace>gengir</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="gdk-pixbuf.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="gdk-pixbuf.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="gdk-pixbuf.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="gdk-pixbuf.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
+ <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PreBuildEvent>
+ <Command>$(DoGenGir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PreBuildEvent>
+ <Command>$(DoGenGir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PreBuildEvent>
+ <Command>$(DoGenGir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <PreBuildEvent>
+ <Command>$(DoGenGir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectReference Include="gdk-pixbuf.vcxproj">
+ <Project>{01ade22d-f6ec-4d09-8fe1-b9a97dec2ba3}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index 62711b06c..3215f7c17 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -9,6 +9,7 @@ EXTRA_DIST += \
gdk-pixbuf-csource.vcproj \
gdk-pixbuf-query-loaders.vcproj \
gdk-pixbuf-pixdata.vcproj \
- install.vcproj
+ install.vcproj \
+ gengir.vcproj
-include $(top_srcdir)/git.mk
diff --git a/build/win32/vs9/gengir.vcproj b/build/win32/vs9/gengir.vcproj
new file mode 100644
index 000000000..ac6c0368a
--- /dev/null
+++ b/build/win32/vs9/gengir.vcproj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="gengir"
+ ProjectGUID="{2093D218-190E-4194-9421-3BA7CBF33B15}"
+ RootNamespace="gengir"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ InheritedPropertySheets=".\gdk-pixbuf.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ CommandLine="$(DoGenGir)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ InheritedPropertySheets=".\gdk-pixbuf.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ CommandLine="$(DoGenGir)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ InheritedPropertySheets=".\gdk-pixbuf.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ CommandLine="$(DoGenGir)"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ InheritedPropertySheets=".\gdk-pixbuf.vsprops"
+ OutputDirectory="$(GlibEtcInstallRoot)"
+ ConfigurationType="10"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ DeleteExtensionsOnClean=""
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ CommandLine="$(DoGenGir)"
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioProject>