Author: rhuijben
Date: Fri Dec 4 16:58:57 2009
New Revision: 887266
URL: http://svn.apache.org/viewvc?rev=887266&view=rev
Log:
As small step for adding Visual Studio 2010 support, switch some internal
defaults to prefer the newer solution formats over the 2002/2003 formats.
Also move the solution templates to the recently introduced templates
directory.
* build/generator/gen_vcnet_vcproj.py
(Generator.write_project): Update property user
(Generator.write): Pass solution and studio versions and information on
where to generate dependencies. Use the old template for 2002 and 2003
versions and the new template for all newer versions.
* build/generator/gen_win.py
(GeneratorBase.parse_options): Rename Visual Studio/C++ variables to match
their usage and to help further processing. Add studio version and
project extension variables. Stop using version numbers
(WinGeneratorBase.__init__): Write the stored version instead of
determining the version from the project version. Choose the supported
targets based on the VC version
* build/generator/templates/vcnet_sln.ezt
Copied from build/generator/vc2005_sln.ezt. Write passed Visual Studio
version and only write dependencies if the dependency storage location
is the solution.
* build/generator/templates/vcnet_vc7_sln.ezt
Copied from build/generator/vcnet_sln.ezt
* build/generator/vc2005_sln.ezt
* build/generator/vcnet_sln.ezt
Deleted
Added:
subversion/trunk/build/generator/templates/vcnet_sln.ezt
- copied, changed from r887231,
subversion/trunk/build/generator/vc2005_sln.ezt
subversion/trunk/build/generator/templates/vcnet_vc7_sln.ezt
- copied unchanged from r887231,
subversion/trunk/build/generator/vcnet_sln.ezt
Removed:
subversion/trunk/build/generator/vc2005_sln.ezt
subversion/trunk/build/generator/vcnet_sln.ezt
Modified:
subversion/trunk/build/generator/gen_vcnet_vcproj.py
subversion/trunk/build/generator/gen_win.py
Modified: subversion/trunk/build/generator/gen_vcnet_vcproj.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_vcnet_vcproj.py?rev=887266&r1=887265&r2=887266&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_vcnet_vcproj.py (original)
+++ subversion/trunk/build/generator/gen_vcnet_vcproj.py Fri Dec 4 16:58:57
2009
@@ -99,7 +99,7 @@
gen_base.TargetProject)),
'instrument_apr_pools' : self.instrument_apr_pools,
'instrument_purify_quantify' : self.instrument_purify_quantify,
- 'version' : self.vsnet_proj_ver,
+ 'version' : self.vcproj_version,
}
self.write_with_template(fname, 'vcnet_vcproj.ezt', data)
@@ -251,14 +251,16 @@
guidvals = sorted(guids.values())
data = {
- 'version': self.vsnet_version,
+ 'version': self.sln_version,
+ 'vs_version' : self.vs_version,
+ 'dependency_location' : 'solution',
'targets' : targets,
'configs' : configs,
'platforms' : self.platforms,
'guids' : guidvals,
}
- if self.vsnet_version == '10.00' or self.vsnet_version == '9.00':
- self.write_with_template('subversion_vcnet.sln', 'vc2005_sln.ezt', data)
+ if self.vs_version == '2002' or self.vs_version == '2003':
+ self.write_with_template('subversion_vcnet.sln',
'templates/vcnet_vc7_sln.ezt', data)
else:
- self.write_with_template('subversion_vcnet.sln', 'vcnet_sln.ezt', data)
+ self.write_with_template('subversion_vcnet.sln',
'templates/vcnet_sln.ezt', data)
Modified: subversion/trunk/build/generator/gen_win.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win.py?rev=887266&r1=887265&r2=887266&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win.py (original)
+++ subversion/trunk/build/generator/gen_win.py Fri Dec 4 16:58:57 2009
@@ -81,8 +81,10 @@
self.openssl_path = None
self.junit_path = None
self.swig_path = None
- self.vsnet_version = '7.00'
- self.vsnet_proj_ver = '7.00'
+ self.vs_version = '2002'
+ self.sln_version = '7.00'
+ self.vcproj_version = '7.00'
+ self.vcproj_extension = '.vcproj'
self.sqlite_path = 'sqlite-amalgamation'
self.skip_sections = { 'mod_dav_svn': None,
'mod_authz_svn': None,
@@ -153,19 +155,34 @@
self.disable_shared = 1
elif opt == '--vsnet-version':
if val == '2002' or re.match('7(\.\d+)?', val):
- self.vsnet_version = '7.00'
- self.vsnet_proj_ver = '7.00'
+ self.vs_version = '2002'
+ self.sln_version = '7.00'
+ self.vcproj_version = '7.00'
+ self.vcproj_extension = '.vcproj'
elif val == '2003' or re.match('8(\.\d+)?', val):
- self.vsnet_version = '8.00'
- self.vsnet_proj_ver = '7.10'
+ self.vs_version = '2003'
+ self.sln_version = '8.00'
+ self.vcproj_version = '7.10'
+ self.vcproj_extension = '.vcproj'
elif val == '2005' or re.match('9(\.\d+)?', val):
- self.vsnet_version = '9.00'
- self.vsnet_proj_ver = '8.00'
+ self.vs_version = '2005'
+ self.sln_version = '9.00'
+ self.vcproj_version = '8.00'
+ self.vcproj_extension = '.vcproj'
elif val == '2008' or re.match('10(\.\d+)?', val):
- self.vsnet_version = '10.00'
- self.vsnet_proj_ver = '9.00'
+ self.vs_version = '2008'
+ self.sln_version = '10.00'
+ self.vcproj_version = '9.00'
+ self.vcproj_extension = '.vcproj'
+ elif val == '2010':
+ self.vs_version = '2010'
+ self.sln_version = '11.00'
+ self.vcproj_version = '10.0'
+ self.vcproj_extension = '.vcxproj'
else:
- self.vsnet_version = val
+ sys.stderr.write('WARNING: Unknown VS.NET version "%s",'
+ ' assuming "%s"\n' % (val, '7.00'))
+
def __init__(self, fname, verfname, options):
@@ -209,19 +226,7 @@
sys.stderr.write("BDB not found, BDB fs will not be built\n")
if subdir == 'vcnet-vcproj':
- if self.vsnet_version == '7.00':
- sys.stderr.write('Generating for VS.NET 2002\n')
- elif self.vsnet_version == '8.00':
- sys.stderr.write('Generating for VS.NET 2003\n')
- elif self.vsnet_version == '9.00':
- sys.stderr.write('Generating for VS.NET 2005\n')
- elif self.vsnet_version == '10.00':
- sys.stderr.write('Generating for VS.NET 2008\n')
- else:
- sys.stderr.write('WARNING: Unknown VS.NET version "%s",'
- ' assuming "%s"\n' % (self.vsnet_version, '7.00'))
- self.vsnet_version = '7.00'
- self.vsnet_proj_ver = '7.00'
+ sys.stderr.write('Generating for Visual Studio %s\n' % self.vs_version)
# Find the right Ruby include and libraries dirs and
# library name to link SWIG bindings with
@@ -303,9 +308,9 @@
#Here we can add additional platforms to compile for
self.platforms = ['Win32']
- # VS2002 and VS2003 only allow a single platform per project file
+ # VC 2002 and VC 2003 only allow a single platform per project file
if subdir == 'vcnet-vcproj':
- if self.vsnet_version != '7.00' and self.vsnet_version != '8.00':
+ if self.vcproj_version != '7.00' and self.vcproj_version != '7.10':
self.platforms = ['Win32','x64']
#Here we can add additional modes to compile for
@@ -1149,12 +1154,12 @@
def move_proj_file(self, path, name, params=()):
### Move our slightly templatized pre-built project files into place --
- ### these projects include apr, zlib, neon, locale, config, etc.
+ ### these projects include zlib, neon, serf, locale, config, etc.
dest_file = os.path.join(path, name)
source_template = name + '.ezt'
data = {
- 'version' : self.vsnet_proj_ver,
+ 'version' : self.vcproj_version,
'configs' : self.configs,
'platforms' : self.platforms
}
Copied: subversion/trunk/build/generator/templates/vcnet_sln.ezt (from r887231,
subversion/trunk/build/generator/vc2005_sln.ezt)
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/templates/vcnet_sln.ezt?p2=subversion/trunk/build/generator/templates/vcnet_sln.ezt&p1=subversion/trunk/build/generator/vc2005_sln.ezt&r1=887231&r2=887266&rev=887266&view=diff
==============================================================================
--- subversion/trunk/build/generator/vc2005_sln.ezt (original)
+++ subversion/trunk/build/generator/templates/vcnet_sln.ezt Fri Dec 4
16:58:57 2009
@@ -1,9 +1,9 @@
Microsoft Visual Studio Solution File, Format Version [version]
-# Visual Studio [is version "10.00"]2008[else]2005[end]
+# Visual Studio [vs_version]
[for targets]Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") =
"[targets.name]", "[targets.path]", "[targets.guid]"
- ProjectSection(ProjectDependencies) = postProject
+[is dependency_location "solution"] ProjectSection(ProjectDependencies) =
postProject
[for targets.depends] [targets.depends.guid] = [targets.depends.guid]
-[end] EndProjectSection
+[end][end] EndProjectSection
EndProject
[end]Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries",
"Libraries", "{F6BDBE6F-7C7B-458B-8801-0B351C85ED6E}"
EndProject