Author: rhuijben
Date: Tue Dec 8 17:07:26 2009
New Revision: 888486
URL: http://svn.apache.org/viewvc?rev=888486&view=rev
Log:
Enable generating Visual Studio/C++ 2010 projects with the project file
generator. This will need some further tweaking, but after this commit
you can get working binaries with VS 2010 Beta 2.
* build/generator/svn_locale.vcxproj.ezt
New template.
* build/generator/gen_vcnet_vcproj.py
(write_project):
Declare config types for new projects. Replace commonly used variable
reference with its MSBuild version. Pass more variables to the ezt file.
Write .vcxproj and .vcxproj.filters files for VS 2010.
(write): Pass explicit project guid to templates to make sure they are
stable even when generating for the first time. Retrieve valid
project extension. Remove _vcnet suffix from project file names, to make
the project names match the file name (MSBuild requirement). Move
dependency generation a bit to allow passing it to the project files.
Remove obsolete quoting and unquoting code inherited from the old VS
6.0 generator.
* build/generator/svn_config.vcxproj.ezt
* build/generator/serf.vcxproj.ezt
* build/generator/neon.vcxproj.ezt
* build/generator/zlib.vcxproj.ezt
New template. Have to be in the generator dir (limitation in python code)
* build/generator/templates/vcnet_vcproj.ezt
Moved to the template directory
* build/generator/templates/vcnet_vcxproj_filters.ezt
* build/generator/templates/vcnet_vcxproj.ezt
New templates
* build/generator/templates/vcnet_sln.ezt
Remove unneeded block close.
* build/generator/svn_config.vcproj.ezt
* build/generator/serf.vcproj.ezt
* build/generator/neon.vcproj.ezt
Use passed project guid.
* build/generator/vcnet_vcproj.ezt
Moved to templates directory
* build/generator/zlib.vcproj.ezt
Use passed project guid.
* build/generator/gen_win.py
Pass project guids
* build/win32
Add *.vcxproj to svn:ignore
Added:
subversion/trunk/build/generator/neon.vcxproj.ezt
subversion/trunk/build/generator/serf.vcxproj.ezt
subversion/trunk/build/generator/svn_config.vcxproj.ezt
subversion/trunk/build/generator/svn_locale.vcxproj.ezt
subversion/trunk/build/generator/templates/vcnet_vcproj.ezt
- copied unchanged from r888378,
subversion/trunk/build/generator/vcnet_vcproj.ezt
subversion/trunk/build/generator/templates/vcnet_vcxproj.ezt
subversion/trunk/build/generator/templates/vcnet_vcxproj_filters.ezt
subversion/trunk/build/generator/zlib.vcxproj.ezt
Removed:
subversion/trunk/build/generator/vcnet_vcproj.ezt
Modified:
subversion/trunk/build/generator/gen_vcnet_vcproj.py
subversion/trunk/build/generator/gen_win.py
subversion/trunk/build/generator/neon.vcproj.ezt
subversion/trunk/build/generator/serf.vcproj.ezt
subversion/trunk/build/generator/svn_config.vcproj.ezt
subversion/trunk/build/generator/templates/vcnet_sln.ezt
subversion/trunk/build/generator/zlib.vcproj.ezt
Modified: subversion/trunk/build/generator/gen_vcnet_vcproj.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_vcnet_vcproj.py?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_vcnet_vcproj.py (original)
+++ subversion/trunk/build/generator/gen_vcnet_vcproj.py Tue Dec 8 17:07:26
2009
@@ -50,22 +50,27 @@
return vcproj
- def write_project(self, target, fname):
- "Write a Project (.vcproj)"
+ def write_project(self, target, fname, depends):
+ "Write a Project (.vcproj/.vcxproj)"
if isinstance(target, gen_base.TargetProject):
+ config_type='Utility'
target_type=10
elif isinstance(target, gen_base.TargetExe):
- #EXE
+ config_type='Application'
target_type=1
elif isinstance(target, gen_base.TargetJava):
+ config_type='Utility'
target_type=10
elif isinstance(target, gen_base.TargetLib):
if target.msvc_static:
+ config_type='StaticLibrary'
target_type=4
else:
+ config_type='DynamicLibrary'
target_type=2
elif isinstance(target, gen_base.TargetI18N):
+ config_type='Makefile'
target_type=4
else:
raise gen_base.GenError("Cannot create project for %s" % target.name)
@@ -78,6 +83,10 @@
configs = self.get_configs(target)
sources = self.get_proj_sources(False, target)
+
+ for src in sources:
+ if src.custom_build is not None:
+ src.custom_build = src.custom_build.replace('$(InputPath)',
'%(FullPath)')
data = {
'target' : target,
@@ -85,12 +94,14 @@
'project_guid' : target.project_guid,
'rootpath' : self.rootpath,
'platforms' : self.platforms,
+ 'config_type' : config_type,
'configs' : configs,
'includes' : self.get_win_includes(target),
'sources' : sources,
'default_platform' : self.platforms[0],
'default_config' : configs[0].name,
'def_file' : self.get_def_file(target),
+ 'depends' : depends,
'is_exe' : ezt.boolean(isinstance(target, gen_base.TargetExe)),
'is_external' : ezt.boolean((isinstance(target, gen_base.TargetProject)
or isinstance(target, gen_base.TargetI18N))
@@ -102,23 +113,11 @@
'version' : self.vcproj_version,
}
- self.write_with_template(fname, 'vcnet_vcproj.ezt', data)
-
- def getguid(self, path):
- "Try to get a project's guid from its project file"
- try:
- proj = open(path)
- line = proj.readline()
- while len(line) > 0:
- l = line.lower()
- pos = l.find('projectguid="{')
- if pos >= 0:
- guid = line[pos+13:pos+13+38]
- return guid
- line = proj.readline()
- proj.close()
- except IOError:
- return None
+ if self.vcproj_extension == '.vcproj':
+ self.write_with_template(fname, 'templates/vcnet_vcproj.ezt', data)
+ else:
+ self.write_with_template(fname, 'templates/vcnet_vcxproj.ezt', data)
+ self.write_with_template(fname + '.filters',
'templates/vcnet_vcxproj_filters.ezt', data)
def write(self):
"Write a Solution (.sln)"
@@ -138,15 +137,21 @@
# apr doesn't supply vcproj files, the user must convert them
# manually before loading the generated solution
- self.move_proj_file(os.path.join('build', 'win32'), 'svn_config.vcproj',
+ self.move_proj_file(os.path.join('build', 'win32'),
+ 'svn_config' + self.vcproj_extension,
(
('sql', sql),
+ ('project_guid', self.makeguid('__CONFIG__')),
)
)
- self.move_proj_file(os.path.join('build', 'win32'), 'svn_locale.vcproj')
- self.write_zlib_project_file('zlib.vcproj')
- self.write_neon_project_file('neon.vcproj')
- self.write_serf_project_file('serf.vcproj')
+ self.move_proj_file(os.path.join('build', 'win32'),
+ 'svn_locale' + self.vcproj_extension,
+ (
+ ('project_guid', self.makeguid('svn_locale')),
+ ))
+ self.write_zlib_project_file('zlib' + self.vcproj_extension)
+ self.write_neon_project_file('neon' + self.vcproj_extension)
+ self.write_serf_project_file('serf' + self.vcproj_extension)
install_targets = self.get_install_targets()
@@ -154,39 +159,30 @@
guids = { }
- # VC.NET uses GUIDs to refer to projects. Get them up front
+ # Visual Studio uses GUIDs to refer to projects. Get them up front
# because we need them already assigned on the dependencies for
# each target we work with.
for target in install_targets:
- # These aren't working yet
- if isinstance(target, gen_base.TargetProject) and target.cmd:
- continue
# If there is a GUID in an external project, then use it
# rather than generating our own that won't match and will
# cause dependency failures.
- guid = None
- proj_path = self.get_external_project(target, 'vcproj')
+ proj_path = self.get_external_project(target, self.vcproj_extension[1:])
if proj_path is not None:
- target.project_guid = self.getguid(proj_path)
+ target.project_guid = self.makeguid(target.name)
guids[target.name] = target.project_guid
self.gen_proj_names(install_targets)
- # Traverse the targets and generate the project files
for target in install_targets:
- name = target.name
- # These aren't working yet
- if isinstance(target, gen_base.TargetProject) and target.cmd:
- continue
-
- fname = self.get_external_project(target, 'vcproj')
+ fname = self.get_external_project(target, self.vcproj_extension[1:])
if fname is None:
- fname = os.path.join(self.projfilesdir,
- "%s_vcnet.vcproj" % target.proj_name)
- self.write_project(target, fname)
+ fname = os.path.join(self.projfilesdir, "%s%s" %
+ (target.proj_name, self.vcproj_extension))
+ target.fname = fname
- if '-' in fname:
- fname = '"%s"' % fname
+ # Traverse the targets and generate the project files
+ for target in install_targets:
+ name = target.name
depends = [ ]
if not isinstance(target, gen_base.TargetI18N):
@@ -194,10 +190,20 @@
deplist = [ ]
for i in range(len(depends)):
+ if depends[i].fname.startswith(self.projfilesdir):
+ path = depends[i].fname[len(self.projfilesdir) + 1:]
+ else:
+ path = '..\\..\\..\\' + depends[i].fname
deplist.append(gen_win.ProjectItem(guid=guids[depends[i].name],
index=i,
+ path=path,
))
+ fname = self.get_external_project(target, self.vcproj_extension[1:])
+ if fname is None:
+ fname = target.fname
+ self.write_project(target, fname, deplist)
+
groupname = ''
if target.name.startswith('__'):
@@ -234,12 +240,6 @@
group=groupname,
))
- # the path name in the .sln template is already enclosed with ""
- # therefore, remove them from the path itself
- for target in targets:
- target.path = target.path.rstrip('"')
- target.path = target.path.lstrip('"')
-
targets.sort(key = lambda x: x.name)
configs = [ ]
@@ -250,10 +250,16 @@
# sort the values for output stability.
guidvals = sorted(guids.values())
+ # Before VS2010 dependencies are managed at the solution level
+ if self.vcproj_extension == '.vcproj':
+ dependency_location = 'solution'
+ else:
+ dependency_location = 'project'
+
data = {
'version': self.sln_version,
'vs_version' : self.vs_version,
- 'dependency_location' : 'solution',
+ 'dependency_location' : dependency_location,
'targets' : targets,
'configs' : configs,
'platforms' : self.platforms,
Modified: subversion/trunk/build/generator/gen_win.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win.py?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win.py (original)
+++ subversion/trunk/build/generator/gen_win.py Tue Dec 8 17:07:26 2009
@@ -1107,6 +1107,7 @@
'contrib/masmx86/*.asm'))),
('zlib_headers',
glob.glob(os.path.join(zlib_path, '*.h'))),
+ ('project_guid', self.makeguid('zlib')),
))
def write_neon_project_file(self, name):
@@ -1127,6 +1128,7 @@
('openssl_path',
self.openssl_path
and os.path.abspath(self.openssl_path)),
+ ('project_guid', self.makeguid('neon')),
))
def write_serf_project_file(self, name):
@@ -1150,6 +1152,7 @@
and os.path.abspath(self.openssl_path)),
('apr_path', os.path.abspath(self.apr_path)),
('apr_util_path',
os.path.abspath(self.apr_util_path)),
+ ('project_guid', self.makeguid('serf')),
))
def move_proj_file(self, path, name, params=()):
Modified: subversion/trunk/build/generator/neon.vcproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/neon.vcproj.ezt?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/neon.vcproj.ezt (original)
+++ subversion/trunk/build/generator/neon.vcproj.ezt Tue Dec 8 17:07:26 2009
@@ -22,7 +22,7 @@
ProjectType="Visual C++"
Version="[version]"
Name="neon"
- ProjectGUID="{5BA0C76C-0CE4-4858-A206-22C5C45E4648}"
+ ProjectGUID="[project_guid]"
Keyword="MakeFileProj">
<Platforms>
[for platforms] <Platform
Added: subversion/trunk/build/generator/neon.vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/neon.vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/neon.vcxproj.ezt (added)
+++ subversion/trunk/build/generator/neon.vcxproj.ezt Tue Dec 8 17:07:26 2009
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs]|[platforms]">
+ <Configuration>[configs]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>neon</ProjectName>
+ <ProjectGuid>[project_guid]</ProjectGuid>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</IntDir>
+ <NMakeBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs]</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] rebuild</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] clean</NMakeCleanCommandLine>
+ <NMakeOutput
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">[zlib_path]\[is
configs "Release"]zlibstat.lib[else]zlibstatD.lib[end]</NMakeOutput>
+[end][end] </PropertyGroup>
+ <ItemDefinitionGroup>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+[for neon_sources] <ClCompile Include="[neon_sources]" />
+[end] </ItemGroup>
+ <ItemGroup>
+[for neon_headers] <ClInclude Include="[neon_headers]" />
+[end] </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
Modified: subversion/trunk/build/generator/serf.vcproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/serf.vcproj.ezt?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/serf.vcproj.ezt (original)
+++ subversion/trunk/build/generator/serf.vcproj.ezt Tue Dec 8 17:07:26 2009
@@ -22,7 +22,7 @@
ProjectType="Visual C++"
Version="[version]"
Name="serf"
- ProjectGUID="{F1EC01C7-C056-410B-A564-777D73A9AEE8}"
+ ProjectGUID="[project_guid]"
Keyword="MakeFileProj">
<Platforms>
[for platforms] <Platform
Added: subversion/trunk/build/generator/serf.vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/serf.vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/serf.vcxproj.ezt (added)
+++ subversion/trunk/build/generator/serf.vcxproj.ezt Tue Dec 8 17:07:26 2009
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs]|[platforms]">
+ <Configuration>[configs]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>serf</ProjectName>
+ <ProjectGuid>[project_guid]</ProjectGuid>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</IntDir>
+ <NMakeBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs]</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] rebuild</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] clean</NMakeCleanCommandLine>
+ <NMakeOutput
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">[zlib_path]\[is
configs "Release"]zlibstat.lib[else]zlibstatD.lib[end]</NMakeOutput>
+[end][end] </PropertyGroup>
+ <ItemDefinitionGroup>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+[for serf_sources] <ClCompile Include="[serf_sources]" />
+[end] </ItemGroup>
+ <ItemGroup>
+[for serf_headers] <ClInclude Include="[serf_headers]" />
+[end] </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
Modified: subversion/trunk/build/generator/svn_config.vcproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/svn_config.vcproj.ezt?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/svn_config.vcproj.ezt (original)
+++ subversion/trunk/build/generator/svn_config.vcproj.ezt Tue Dec 8 17:07:26
2009
@@ -22,7 +22,7 @@
ProjectType="Visual C++"
Version="[version]"
Name="__CONFIG__"
- ProjectGUID="{638FEA9B-E592-4B88-93B7-08B8A32CAD1F}"
+ ProjectGUID="[project_guid]"
Keyword="MakeFileProj">
<Platforms>
[for platforms] <Platform
Added: subversion/trunk/build/generator/svn_config.vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/svn_config.vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/svn_config.vcxproj.ezt (added)
+++ subversion/trunk/build/generator/svn_config.vcxproj.ezt Tue Dec 8 17:07:26
2009
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs]|[platforms]">
+ <Configuration>[configs]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>__CONFIG__</ProjectName>
+ <ProjectGuid>[project_guid]</ProjectGuid>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</IntDir>
+[end][end] </PropertyGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\subversion\svn_private_config.h">
+[for configs][for platforms] <ExcludedFromBuild
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">true</ExcludedFromBuild>
+[end][end] </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\subversion\svn_private_config.hw">
+ <FileType>Document</FileType>
+[for configs][for platforms] <Message
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">Creating
svn_private_config.h from svn_private_config.hw.</Message>
+ <Command
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">copy
..\..\subversion\svn_private_config.hw ..\..\subversion\svn_private_config.h
> nul
+</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">..\..\subversion\svn_private_config.h;%(Outputs)</Outputs>
+[end][end] </CustomBuild>
+[for sql] <CustomBuild Include="..\..\[sql.source]">
+ <FileType>Document</FileType>
+[for configs][for platforms] <Message
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">Generating
[sql.header].</Message>
+ <Command
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">"[sql.svn_python]"
"$(SolutionDir)\build\transform_sql.py" "%(FullPath)"
"$(SolutionDir)\[sql.header]"</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">$(SolutionDir)\[sql.header];%(Outputs)</Outputs>
+[end][end]
+ </CustomBuild>
+[end] </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
Added: subversion/trunk/build/generator/svn_locale.vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/svn_locale.vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/svn_locale.vcxproj.ezt (added)
+++ subversion/trunk/build/generator/svn_locale.vcxproj.ezt Tue Dec 8 17:07:26
2009
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs]|[platforms]">
+ <Configuration>[configs]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>locale</ProjectName>
+ <ProjectGuid>{18FA6D17-1EE7-43A2-BC2A-C2AF819CEEFB}</ProjectGuid>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>Utility</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">..\..\[configs]\mo\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">..\..\[configs]\mo\</IntDir>
+ <NMakeBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_locale.bat [configs]</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_locale.bat [configs]</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c del
$(OutDir)*.mo</NMakeCleanCommandLine>
+[end][end] </PropertyGroup>
+ <ItemGroup>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
Modified: subversion/trunk/build/generator/templates/vcnet_sln.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/templates/vcnet_sln.ezt?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/templates/vcnet_sln.ezt (original)
+++ subversion/trunk/build/generator/templates/vcnet_sln.ezt Tue Dec 8
17:07:26 2009
@@ -24,8 +24,8 @@
[for targets]Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") =
"[targets.name]", "[targets.path]", "[targets.guid]"
[is dependency_location "solution"] ProjectSection(ProjectDependencies) =
postProject
[for targets.depends] [targets.depends.guid] = [targets.depends.guid]
-[end][end] EndProjectSection
-EndProject
+[end] EndProjectSection
+[end]EndProject
[end]Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries",
"Libraries", "{F6BDBE6F-7C7B-458B-8801-0B351C85ED6E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dlls", "Dlls",
"{2F13BEE6-AA51-4882-9015-DCE38AB8E474}"
Added: subversion/trunk/build/generator/templates/vcnet_vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/templates/vcnet_vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/templates/vcnet_vcxproj.ezt (added)
+++ subversion/trunk/build/generator/templates/vcnet_vcxproj.ezt Tue Dec 8
17:07:26 2009
@@ -0,0 +1,109 @@
+[define COPYRIGHT]
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+[end]<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs.name]|[platforms]">
+ <Configuration>[configs.name]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>[target.proj_name]</ProjectName>
+ <ProjectGuid>[project_guid]</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>[config_type]</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">..\..\..\[configs.name]\[target.output_dir]\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">..\..\..\[configs.name]\[target.intermediate_dir]\</IntDir>
+[end][end] </PropertyGroup>
+[for configs][for platforms] <ItemDefinitionGroup
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">
+ <ClCompile>
+[is configs.name "Debug"] <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+[else] <Optimization>Full</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <StringPooling>true</StringPooling>
+[end] <AdditionalIncludeDirectories>[for includes][includes][if-index
includes last][else];[end][end]</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>[if-any
instrument_apr_pools]APR_POOL_DEBUG=[instrument_apr_pools];[end][for
configs.defines][configs.defines];[end]_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+
<ProgramDataBaseFileName>$(IntDir)[target.output_pdb]</ProgramDataBaseFileName>
+
<DisableSpecificWarnings>4100;4127;4204;4206;4701;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+
<TreatSpecificWarningsAsErrors>4002;4003;4013;4020;4022;4024;4028;4029;4030;4031;4047;4089;4115</TreatSpecificWarningsAsErrors>
+ </ClCompile>
+[is config_type "Application"] <Link>
+ <OutputFile>$(OutDir)[target.output_name]</OutputFile>
+ <AdditionalDependencies>[for
configs.libs][configs.libs];[end];%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>[for
configs.libdirs][configs.libdirs];[end]%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Link>
+[else][is config_type "DynamicLibrary"] <Link>
+ <OutputFile>$(OutDir)[target.output_name]</OutputFile>
+ <AdditionalDependencies>[for
configs.libs][configs.libs];[end];%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>[for
configs.libdirs][configs.libdirs];[end]%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+[if-any def_file] <ModuleDefinitionFile>[def_file]</ModuleDefinitionFile>
+[end] </Link>
+[else][is config_type "StaticLibrary"] <Lib>[is platforms "X64"]
+ <AdditionalOptions>/MACHINE:X64
%(AdditionalOptions)</AdditionalOptions>[end]
+ </Lib>
+[end][end][end] </ItemDefinitionGroup>
+[end][end][if-any target.desc] <ItemGroup>
+ <ResourceCompile Include="..\svn.rc">
+[for configs][for platforms] <AdditionalIncludeDirectories
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">[for
includes][includes][if-index includes
last][else];[end][end];%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">SVN_FILE_NAME=[target.output_name];SVN_FILE_DESCRIPTION=[target.desc];[is
configs.name
"Debug"]_DEBUG[else]NDEBUG[end];%(PreprocessorDefinitions)</PreprocessorDefinitions>
+[end][end] </ResourceCompile>
+ </ItemGroup>
+[end] <ItemGroup>
+[for sources][is sources.extension ".h"][else][if-any sources.custom_build]
<CustomBuild Include="[sources.path]">
+ <FileType>Document</FileType>
+[for configs][for platforms] <Command
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">[sources.custom_build]</Command>
+ <AdditionalInputs
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">[for
sources.user_deps][sources.user_deps];[end]%(AdditionalInputs)</AdditionalInputs>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='[configs.name]|[platforms]'">[sources.custom_target];%(Outputs)</Outputs>
+[end][end] </CustomBuild>
+[else][is sources.extension ".c"] <ClCompile Include="[sources.path]" />
+[else][is sources.extension ".cpp"] <ClCompile Include="[sources.path]" />
+[else] <None Include="[sources.path]" />
+[end][end][end][end][end] </ItemGroup>
+ <ItemGroup>
+[for sources][is sources.extension ".h"] <ClInclude
Include="[sources.path]" />
+[end][end] </ItemGroup>
+ <ItemGroup>
+[for depends] <ProjectReference Include="[depends.path]">
+ <Project>[depends.guid]</Project>
+ </ProjectReference>
+[end] </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
Added: subversion/trunk/build/generator/templates/vcnet_vcxproj_filters.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/templates/vcnet_vcxproj_filters.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/templates/vcnet_vcxproj_filters.ezt (added)
+++ subversion/trunk/build/generator/templates/vcnet_vcxproj_filters.ezt Tue
Dec 8 17:07:26 2009
@@ -0,0 +1,47 @@
+[define COPYRIGHT]
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+[end]<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Header Files">
+
<UniqueIdentifier>{b21a2522-2044-4342-af26-ca29509f90e7}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Source Files">
+
<UniqueIdentifier>{fd3e9c7d-dd0a-4af5-94aa-d9744db18efe}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ </ItemGroup>
+[if-any target.desc] <ItemGroup>
+ <ResourceCompile Include="..\svn.rc">
+ <Filter>Source Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+[end] <ItemGroup>
+[for sources][is sources.extension ".h"][else] <ClCompile
Include="[sources.path]">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+[end][end] </ItemGroup>
+ <ItemGroup>
+[for sources][is sources.extension ".h"] <ClInclude
Include="[sources.path]">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+[end][end] </ItemGroup>
+</Project>
\ No newline at end of file
Modified: subversion/trunk/build/generator/zlib.vcproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/zlib.vcproj.ezt?rev=888486&r1=888485&r2=888486&view=diff
==============================================================================
--- subversion/trunk/build/generator/zlib.vcproj.ezt (original)
+++ subversion/trunk/build/generator/zlib.vcproj.ezt Tue Dec 8 17:07:26 2009
@@ -22,7 +22,7 @@
ProjectType="Visual C++"
Version="[version]"
Name="zlib"
- ProjectGUID="{41FE336A-F191-4F4E-A17C-602C627EA1E1}"
+ ProjectGUID="[project_guid]"
Keyword="MakeFileProj">
<Platforms>
[for platforms] <Platform
Added: subversion/trunk/build/generator/zlib.vcxproj.ezt
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/zlib.vcxproj.ezt?rev=888486&view=auto
==============================================================================
--- subversion/trunk/build/generator/zlib.vcxproj.ezt (added)
+++ subversion/trunk/build/generator/zlib.vcxproj.ezt Tue Dec 8 17:07:26 2009
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+[for configs][for platforms] <ProjectConfiguration
Include="[configs]|[platforms]">
+ <Configuration>[configs]</Configuration>
+ <Platform>[platforms]</Platform>
+ </ProjectConfiguration>
+[end][end] </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>zlib</ProjectName>
+ <ProjectGuid>[project_guid]</ProjectGuid>
+ <Keyword>MakeFileProj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+[for platforms][for configs] <PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <CLRSupport>false</CLRSupport>
+ </PropertyGroup>
+[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+[for platforms][for configs] <ImportGroup
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'"
Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
+[end][end] <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+[for configs][for platforms] <OutDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</OutDir>
+ <IntDir
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</IntDir>
+ <NMakeBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs]</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] rebuild</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">cmd /c
build_zlib.bat [configs] clean</NMakeCleanCommandLine>
+ <NMakeOutput
Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">[zlib_path]\[is
configs "Release"]zlibstat.lib[else]zlibstatD.lib[end]</NMakeOutput>
+[end][end] </PropertyGroup>
+ <ItemDefinitionGroup>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+[for zlib_sources] <ClCompile Include="[zlib_sources]" />
+[end] </ItemGroup>
+ <ItemGroup>
+[for zlib_headers] <ClInclude Include="[zlib_headers]" />
+[end] </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>