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


Reply via email to