You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2008/09/15 23:45:01 UTC

svn commit: r695646 - in /incubator/qpid/trunk/qpid/cpp/managementgen/qmf: generate.py templates/Makefile.mk

Author: tross
Date: Mon Sep 15 14:45:01 2008
New Revision: 695646

URL: http://svn.apache.org/viewvc?rev=695646&view=rev
Log:
An improved way of dealing with installed headers

Modified:
    incubator/qpid/trunk/qpid/cpp/managementgen/qmf/generate.py
    incubator/qpid/trunk/qpid/cpp/managementgen/qmf/templates/Makefile.mk

Modified: incubator/qpid/trunk/qpid/cpp/managementgen/qmf/generate.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/managementgen/qmf/generate.py?rev=695646&r1=695645&r2=695646&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/managementgen/qmf/generate.py (original)
+++ incubator/qpid/trunk/qpid/cpp/managementgen/qmf/generate.py Mon Sep 15 14:45:01 2008
@@ -100,9 +100,10 @@
 
 class Makefile:
   """ Object representing a makefile fragment """
-  def __init__ (self, filelists, templateFiles):
+  def __init__ (self, filelists, templateFiles, packagelist):
     self.filelists     = filelists
     self.templateFiles = templateFiles
+    self.packagelist   = packagelist
 
   def genGenSources (self, stream, variables):
     mdir = variables["mgenDir"]
@@ -139,6 +140,21 @@
         stream.write (" \\\n    ")
       stream.write (file)
 
+  def genHeaderInstalls (self, stream, variables):
+    for package in self.packagelist:
+      name = "_".join(package.split("/"))
+      stream.write(name + "dir = $(includedir)/qmf/" + package + "\n")
+      stream.write("dist_" + name + "_HEADERS = ")
+      first = True
+      for file in self.filelists["h"]:
+        if file.find("gen/qmf/" + package) == 0:
+          if first:
+            first = False
+          else:
+            stream.write (" \\\n    ")
+          stream.write(file)
+      stream.write("\n\n")
+
 
 class Generator:
   """
@@ -175,11 +191,13 @@
     self.filelists["h"]   = []
     self.filelists["cpp"] = []
     self.filelists["mk"]  = []
+    self.packagelist      = []
     self.templateFiles    = []
     self.variables        = {}
 
   def setPackage (self, packageName):
     path = "/".join(packageName.split("."))
+    self.packagelist.append(path)
     self.packagePath = self.normalize(self.dest + path)
 
   def genDisclaimer (self, stream, variables):
@@ -298,7 +316,7 @@
 
   def makeSingleFile (self, templateFile, target, force=False):
     """ Generate a single expanded template """
-    makefile = Makefile (self.filelists, self.templateFiles)
+    makefile = Makefile (self.filelists, self.templateFiles, self.packagelist)
     template = Template (self.input + templateFile, self)
     self.templateFiles.append (templateFile)
     stream = template.expand (makefile)

Modified: incubator/qpid/trunk/qpid/cpp/managementgen/qmf/templates/Makefile.mk
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/managementgen/qmf/templates/Makefile.mk?rev=695646&r1=695645&r2=695646&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/managementgen/qmf/templates/Makefile.mk (original)
+++ incubator/qpid/trunk/qpid/cpp/managementgen/qmf/templates/Makefile.mk Mon Sep 15 14:45:01 2008
@@ -26,9 +26,7 @@
 mgen_broker_cpp=/*MGEN:Makefile.GenCppFiles*/
 
 # Header file install rules.
-qpid_managementdir = $(includedir)/qmf
-nobase_dist_qpid_management_HEADERS = /*MGEN:Makefile.GenHFiles*/
-
+/*MGEN:Makefile.HeaderInstalls*/
 if GENERATE
 $(srcdir)/managementgen.mk: $(mgen_generator)
 	$(mgen_cmd)