You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2011/05/26 11:42:33 UTC

svn commit: r1127847 - in /subversion/trunk/build/generator: gen_base.py gen_vcnet_vcproj.py templates/svn_config.vcxproj.ezt

Author: rhuijben
Date: Thu May 26 09:42:32 2011
New Revision: 1127847

URL: http://svn.apache.org/viewvc?rev=1127847&view=rev
Log:
Properly detect sql include files during gen-make. Also forward this
knowledge to the VS2010 build.

* build/generator/gen_vcnet_vcproj.py
  (Generator.write): Forward sql dependencies to svn_config project.
  
* build/generator/gen_base.py
  (write_sqlite_headers): Remove now invalid assertion.
  (TargetSQLHeader.add_dependencies): Scan for includes.
  
* build/generator/templates/svn_config.vcxproj.ezt
  Use $(SolutionDir) instead of a magic ..\..\.. and add dependencies
  to the .sql files.

Modified:
    subversion/trunk/build/generator/gen_base.py
    subversion/trunk/build/generator/gen_vcnet_vcproj.py
    subversion/trunk/build/generator/templates/svn_config.vcxproj.ezt

Modified: subversion/trunk/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_base.py?rev=1127847&r1=1127846&r2=1127847&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_base.py (original)
+++ subversion/trunk/build/generator/gen_base.py Thu May 26 09:42:32 2011
@@ -215,7 +215,6 @@ class GeneratorBase:
 
     import transform_sql
     for hdrfile, sqlfile in self.graph.get_deps(DT_SQLHDR):
-      assert len(sqlfile) == 1
       transform_sql.main(sqlfile[0], open(hdrfile, 'w'))
 
 
@@ -764,6 +763,7 @@ class TargetSQLHeader(Target):
     Target.__init__(self, name, options, gen_obj)
     self.sources = options.get('sources')
 
+  _re_sql_include = re.compile('-- *include: *([-a-z]+)')
   def add_dependencies(self):
 
     sources = _collect_paths(self.sources, self.path)
@@ -777,6 +777,13 @@ class TargetSQLHeader(Target):
 
     self.gen_obj.graph.add(DT_SQLHDR, output, source)
 
+    for line in fileinput.input(source):
+      match = self._re_sql_include.match(line)
+      if not match:
+        continue
+      file = match.group(1)
+      self.gen_obj.graph.add(DT_SQLHDR, output,
+                             os.path.join(os.path.dirname(source), file + '.sql'))
 
 _build_types = {
   'exe' : TargetExe,

Modified: subversion/trunk/build/generator/gen_vcnet_vcproj.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_vcnet_vcproj.py?rev=1127847&r1=1127846&r2=1127847&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_vcnet_vcproj.py (original)
+++ subversion/trunk/build/generator/gen_vcnet_vcproj.py Thu May 26 09:42:32 2011
@@ -137,6 +137,7 @@ class Generator(gen_win.WinGeneratorBase
                                    key=lambda t: t[0]):
       sql.append(_eztdata(header=hdrfile.replace('/', '\\'),
                           source=sqlfile[0].replace('/', '\\'),
+                          dependencies=[x.replace('/', '\\') for x in sqlfile[1:]],
                           svn_python=sys.executable))
 
     # apr doesn't supply vcproj files, the user must convert them

Modified: subversion/trunk/build/generator/templates/svn_config.vcxproj.ezt
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/templates/svn_config.vcxproj.ezt?rev=1127847&r1=1127846&r2=1127847&view=diff
==============================================================================
--- subversion/trunk/build/generator/templates/svn_config.vcxproj.ezt (original)
+++ subversion/trunk/build/generator/templates/svn_config.vcxproj.ezt Thu May 26 09:42:32 2011
@@ -46,22 +46,23 @@
     <IntDir Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">.\</IntDir>
 [end][end]  </PropertyGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\subversion\svn_private_config.h">
+    <CustomBuild Include="$(SolutionDir)\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">
+    <CustomBuild Include="$(SolutionDir)\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 &gt; nul:</Command>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">..\..\..\subversion\svn_private_config.h;%(Outputs)</Outputs>
+      <Command Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">copy $(SolutionDir)\subversion\svn_private_config.hw $(SolutionDir)\subversion\svn_private_config.h &gt; nul:</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">$(SolutionDir)\subversion\svn_private_config.h;%(Outputs)</Outputs>
 [end][end]    </CustomBuild>
-[for sql]    <CustomBuild Include="..\..\..\[sql.source]">
+[for sql]    <CustomBuild Include="$(SolutionDir)\[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>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'">[for sql.dependencies]$(SolutionDir)\[sql.dependencies];[end]%(AdditionalInputs)</AdditionalInputs>
 [end][end]
     </CustomBuild>
 [end]  </ItemGroup>