From: Igor Maravic <[email protected]>

Added this option, so the created fea.tp would be without click code, when 
click is not compiled
in to the Xorp. This code works when click code starts with "click {". That's 
the case for now.

Signed-off-by: Igor Maravic <[email protected]>
---
 xorp/etc/templates/SConscript |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/xorp/etc/templates/SConscript b/xorp/etc/templates/SConscript
index 62aa501..fcab12e 100644
--- a/xorp/etc/templates/SConscript
+++ b/xorp/etc/templates/SConscript
@@ -96,9 +96,13 @@ if env['enable_xorpsh']:
 def BuildXrlTemplate(target, source, env):
     #    base = tp[:-len('.raw')]
     skip_fw = False
+    skip_click = True
     if (env.has_key('disable_fw') and env['disable_fw']):
         skip_fw = True
 
+    if (env.has_key('enable_click') and env['enable_click']):
+        skip_click = False
+
     sfname = str(source[0])
     
     print "source: ", sfname
@@ -109,11 +113,27 @@ def BuildXrlTemplate(target, source, env):
     
     if sfname == 'etc/templates/fea.tp.raw':
         ignore_ln = re.compile(".*firewall.*")
+
+        opened_brackets = 0
+        opened_bracket_ln = re.compile(".*{.*")
+        closed_bracket_ln = re.compile(".*}.*")
+        click_ln = re.compile(".*click.*")
+
         for line in ifile.readlines():
-            if not (skip_fw and ignore_ln.match(line)):
-                if line[-1] == "\n":
-                    # trim trailing newline
-                    line = line[0 : -1]
+            if opened_brackets > 0:
+                if opened_bracket_ln.match(line):
+                    opened_brackets += 1
+                if closed_bracket_ln.match(line):
+                    opened_brackets -= 1
+                continue
+            if (skip_fw and ignore_ln.match(line)):
+                continue
+            if (skip_click and click_ln.match(line)):
+                opened_brackets = 1
+                continue
+            if line[-1] == "\n":
+                # trim trailing newline
+                line = line[0 : -1]
                 print >>ofile, "%s" % line
     else:
         return -1 # error
-- 
1.7.5.4

_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to