build.py
changeset 136 4faf1726e8ff
parent 128 b48c310f4e24
child 137 9ce51e526b80
--- a/build.py	Sat Oct 21 11:35:34 2006 +0200
+++ b/build.py	Mon Oct 23 09:24:36 2006 +0200
@@ -39,7 +39,7 @@
     COMMAND_LINE_TARGETS = CommandLineTargets
 
 class Ns3Module:
-    def __init__ (self, name, dir):
+    def __init__(self, name, dir):
         self.sources = []
         self.inst_headers = []
         self.headers = []
@@ -51,71 +51,71 @@
         self.dir = dir
         self.executable = False
         self.library = True
-    def set_library (self):
+    def set_library(self):
         self.library = True
         self.executable = False
-    def set_executable (self):
+    def set_executable(self):
         self.library = False
         self.executable = True
-    def add_config (self, config_fn):
-        self.config.append (config_fn)
-    def add_extra_dist (self, dist):
-        self.extra_dist.append (dist)
-    def add_external_dep (self, dep):
-        self.external_deps.append (dep)
-    def add_dep (self, dep):
-        self.deps.append (dep)
-    def add_deps (self, deps):
-        self.deps.extend (deps)
-    def add_source (self, source):
-        self.sources.append (source)
-    def add_sources (self, sources):
-        self.sources.extend (sources)
-    def add_header (self, header):
-        self.headers.append (header)
-    def add_headers (self, headers):
-        self.headers.extend (headers)
-    def add_inst_header (self, header):
-        self.inst_headers.append (header)
-    def add_inst_headers (self, headers):
-        self.inst_headers.extend (headers)
+    def add_config(self, config_fn):
+        self.config.append(config_fn)
+    def add_extra_dist(self, dist):
+        self.extra_dist.append(dist)
+    def add_external_dep(self, dep):
+        self.external_deps.append(dep)
+    def add_dep(self, dep):
+        self.deps.append(dep)
+    def add_deps(self, deps):
+        self.deps.extend(deps)
+    def add_source(self, source):
+        self.sources.append(source)
+    def add_sources(self, sources):
+        self.sources.extend(sources)
+    def add_header(self, header):
+        self.headers.append(header)
+    def add_headers(self, headers):
+        self.headers.extend(headers)
+    def add_inst_header(self, header):
+        self.inst_headers.append(header)
+    def add_inst_headers(self, headers):
+        self.inst_headers.extend(headers)
 
-def MyCopyAction (target, source, env):
+def MyCopyAction(target, source, env):
     try:
-        if len (target) == len (source):
-            for i in range (len(target)):
-                shutil.copy (source[i].path, target[i].path)
+        if len(target) == len(source):
+            for i in range(len(target)):
+                shutil.copy(source[i].path, target[i].path)
             return 0
         else:
             return 'invalid target/source match'
     except:
         print
         return 'exception'
-def MyCopyActionPrint (target, source, env):
-    if len (target) == len (source):
+def MyCopyActionPrint(target, source, env):
+    if len(target) == len(source):
         output = ''
-        for i in range (len(target)):
-            output = output + 'copy \'' + source[i].path + '\' to \'' + target[i].path  + '\''
-            if i < len (target) - 1:
+        for i in range(len(target)):
+            output = output + 'copy \'' + source[i].path + '\' to \'' + target[i].path + '\''
+            if i < len(target) - 1:
                 output = output + '\n'
         return output
     else:
         return 'error in copy'
-def GcxxEmitter (target, source, env):
-    if os.path.exists (source[0].path):
+def GcxxEmitter(target, source, env):
+    if os.path.exists(source[0].path):
         return [target, source]
     else:
         return [[], []]
-def MyRmTree (target, source, env):
-    shutil.rmtree (env['RM_DIR'])
+def MyRmTree(target, source, env):
+    shutil.rmtree(env['RM_DIR'])
     return 0
-def MyRmTreePrint (target, source, env):
+def MyRmTreePrint(target, source, env):
     return ''
 def print_cmd_line(s, target, src, env):
     print 'Building ' + (' and '.join([str(x) for x in target])) + '...'
 
 class Ns3BuildVariant:
-    def __init__ (self):
+    def __init__(self):
         self.static = False
         self.gcxx_deps = False
         self.gcxx_root = ''
@@ -123,27 +123,27 @@
         self.env = None
 
 class Ns3:
-    def __init__ (self):
+    def __init__(self):
         self.__modules = []
         self.extra_dist = []
         self.build_dir = 'build'
         self.version = '0.0.1'
         self.name = 'noname'
         self.doxygen_config = ''
-    def add (self, module):
-        self.__modules.append (module)
-    def add_extra_dist (self, dist):
-        self.extra_dist.append (dist)
-    def __get_module (self, name):
+    def add(self, module):
+        self.__modules.append(module)
+    def add_extra_dist(self, dist):
+        self.extra_dist.append(dist)
+    def __get_module(self, name):
         for module in self.__modules:
             if module.name == name:
                 return module
         return None
-    def get_mod_output (self, module, variant):
+    def get_mod_output(self, module, variant):
         if module.executable:
-            suffix = variant.env.subst (variant.env['PROGSUFFIX'])
-            filename = os.path.join (variant.build_root, 'bin',
-                                     module.name + suffix)
+            suffix = variant.env.subst(variant.env['PROGSUFFIX'])
+            filename = os.path.join(variant.build_root, 'bin', 
+                                    module.name + suffix)
         else:
             if variant.static:
                 prefix = variant.env['LIBPREFIX']
@@ -151,78 +151,78 @@
             else:
                 prefix = variant.env['SHLIBPREFIX']
                 suffix = variant.env['SHLIBSUFFIX']
-            prefix = variant.env.subst (prefix)
-            suffix = variant.env.subst (suffix)
-            filename = os.path.join (variant.build_root, 'lib',
+            prefix = variant.env.subst(prefix)
+            suffix = variant.env.subst(suffix)
+            filename = os.path.join(variant.build_root, 'lib', 
                                      prefix + module.name + suffix)
         return filename
-    def get_obj_builders (self, variant, module):
+    def get_obj_builders(self, variant, module):
         env = variant.env
         objects = []
-        if len (module.config) > 0:
-            src_config_file = os.path.join (self.build_dir, 'config', module.name + '-config.h')
-            tgt_config_file = os.path.join (variant.build_root, 'include',
-                                            'ns3', module.name + '-config.h')
+        if len(module.config) > 0:
+            src_config_file = os.path.join(self.build_dir, 'config', module.name + '-config.h')
+            tgt_config_file = os.path.join(variant.build_root, 'include', 
+                                           'ns3', module.name + '-config.h')
 
         for source in module.sources:
-            obj_file = os.path.splitext (source)[0] + '.o'
-            tgt = os.path.join (variant.build_root, module.dir, obj_file)
-            src = os.path.join (module.dir, source)
+            obj_file = os.path.splitext(source)[0] + '.o'
+            tgt = os.path.join(variant.build_root, module.dir, obj_file)
+            src = os.path.join(module.dir, source)
             if variant.static:
-                obj_builder = env.StaticObject (target = tgt, source = src)
+                obj_builder = env.StaticObject(target = tgt, source = src)
             else:
-                obj_builder = env.SharedObject (target = tgt, source = src)
-            if len (module.config) > 0:
-                config_file = env.MyCopyBuilder (target = [tgt_config_file],
+                obj_builder = env.SharedObject(target = tgt, source = src)
+            if len(module.config) > 0:
+                config_file = env.MyCopyBuilder(target = [tgt_config_file], 
                                                  source = [src_config_file])
-                env.Depends (obj_builder, config_file)
+                env.Depends(obj_builder, config_file)
             if variant.gcxx_deps:
-                gcno_tgt = os.path.join (variant.build_root, module.dir,
-                                         os.path.splitext (source)[0] + '.gcno')
-                gcda_tgt = os.path.join (variant.build_root, module.dir,
-                                         os.path.splitext (source)[0] + '.gcda')
-                gcda_src = os.path.join (variant.gcxx_root, module.dir,
-                                         os.path.splitext (source)[0] + '.gcda')
-                gcno_src = os.path.join (variant.gcxx_root, module.dir,
-                                         os.path.splitext (source)[0] + '.gcno')
-                gcno_builder = env.CopyGcxxBuilder (target = gcno_tgt, source = gcno_src)
-                gcda_builder = env.CopyGcxxBuilder (target = gcda_tgt, source = gcda_src)
-                env.Depends (obj_builder, gcda_builder)
-                env.Depends (obj_builder, gcno_builder)
-            objects.append (obj_builder)
+                gcno_tgt = os.path.join(variant.build_root, module.dir, 
+                                        os.path.splitext(source)[0] + '.gcno')
+                gcda_tgt = os.path.join(variant.build_root, module.dir, 
+                                        os.path.splitext(source)[0] + '.gcda')
+                gcda_src = os.path.join(variant.gcxx_root, module.dir, 
+                                        os.path.splitext(source)[0] + '.gcda')
+                gcno_src = os.path.join(variant.gcxx_root, module.dir, 
+                                        os.path.splitext(source)[0] + '.gcno')
+                gcno_builder = env.CopyGcxxBuilder(target = gcno_tgt, source = gcno_src)
+                gcda_builder = env.CopyGcxxBuilder(target = gcda_tgt, source = gcda_src)
+                env.Depends(obj_builder, gcda_builder)
+                env.Depends(obj_builder, gcno_builder)
+            objects.append(obj_builder)
         return objects
-    def get_internal_deps (self, module, hash):
+    def get_internal_deps(self, module, hash):
         for dep_name in module.deps:
-            dep = self.__get_module (dep_name)
+            dep = self.__get_module(dep_name)
             hash[dep_name] = dep
-            self.get_internal_deps (dep, hash)
-    def get_external_deps (self, module):
+            self.get_internal_deps(dep, hash)
+    def get_external_deps(self, module):
         hash = {}
-        self.get_internal_deps (module, hash)
+        self.get_internal_deps(module, hash)
         ext_hash = {}
-        for mod in hash.values ():
+        for mod in hash.values():
             for ext_dep in mod.external_deps:
                 ext_hash[ext_dep] = 1
-        return ext_hash.keys ()
-    def get_sorted_deps (self, module):
+        return ext_hash.keys()
+    def get_sorted_deps(self, module):
         h = {}
-        self.get_internal_deps (module, h)
+        self.get_internal_deps(module, h)
         modules = []
-        for dep in h.keys ():
+        for dep in h.keys():
             deps_copy = []
             mod = h[dep]
-            deps_copy.extend (mod.deps)
-            modules.append ([mod, deps_copy])
+            deps_copy.extend(mod.deps)
+            modules.append([mod, deps_copy])
         sorted = []
-        while len (modules) > 0:
+        while len(modules) > 0:
             to_remove = []
             for item in modules:
-                if len (item[1]) == 0:
-                    to_remove.append (item[0].name)
+                if len(item[1]) == 0:
+                    to_remove.append(item[0].name)
             for item in to_remove:
                 for i in modules:
                     if item in i[1]:
-                        i[1].remove (item)
+                        i[1].remove(item)
             new_modules = []
             for mod in modules:
                 found = False
@@ -231,289 +231,289 @@
                         found = True
                         break
                 if not found:
-                    new_modules.append (mod)
+                    new_modules.append(mod)
             modules = new_modules
-            sorted.extend (to_remove)
-        sorted.reverse ()
+            sorted.extend(to_remove)
+        sorted.reverse()
         # append external deps
-        ext_deps = self.get_external_deps (module)
+        ext_deps = self.get_external_deps(module)
         for dep in ext_deps:
-            sorted.append (dep)
+            sorted.append(dep)
         return sorted
 
-    def gen_mod_dep (self, variant):
+    def gen_mod_dep(self, variant):
         build_root = variant.build_root
-        cpp_path = os.path.join (variant.build_root, 'include')
+        cpp_path = os.path.join(variant.build_root, 'include')
         env = variant.env
-        env.Append (CPPPATH=[cpp_path])
-        header_dir = os.path.join (build_root, 'include', 'ns3')
-        lib_path = os.path.join (build_root, 'lib')
+        env.Append(CPPPATH = [cpp_path])
+        header_dir = os.path.join(build_root, 'include', 'ns3')
+        lib_path = os.path.join(build_root, 'lib')
         module_builders = []
         for module in self.__modules:
-            objects = self.get_obj_builders (variant, module)
-            libs = self.get_sorted_deps (module)
+            objects = self.get_obj_builders(variant, module)
+            libs = self.get_sorted_deps(module)
 
-            filename = self.get_mod_output (module, variant)
+            filename = self.get_mod_output(module, variant)
             if module.executable:
                 if env['PLATFORM'] == 'posix':
-                    module_builder = env.Program (target = filename, source = objects,
-                                                  LIBPATH=lib_path, LIBS=libs,
-                                                  RPATH=lib_path)
+                    module_builder = env.Program(target=filename, source=objects, 
+                                                 LIBPATH=lib_path, LIBS=libs, 
+                                                 RPATH=lib_path)
                 else:
-                    module_builder = env.Program (target = filename, source = objects,
-                                                  LIBPATH=lib_path, LIBS=libs)
+                    module_builder = env.Program(target=filename, source=objects, 
+                                                 LIBPATH=lib_path, LIBS=libs)
             else:
                 if variant.static:
-                    module_builder = env.StaticLibrary (target = filename, source = objects)
+                    module_builder = env.StaticLibrary(target=filename, source=objects)
                 else:
-                    module_builder = env.SharedLibrary (target = filename, source = objects,
-                                                        LIBPATH=lib_path, LIBS=libs)
+                    module_builder = env.SharedLibrary(target=filename, source=objects, 
+                                                       LIBPATH=lib_path, LIBS=libs)
 
             for dep_name in module.deps:
-                dep = self.__get_module (dep_name)
-                env.Depends (module_builder, self.get_mod_output (dep, variant))
+                dep = self.__get_module(dep_name)
+                env.Depends(module_builder, self.get_mod_output(dep, variant))
 
             for header in module.inst_headers:
-                tgt = os.path.join (header_dir, header)
-                src = os.path.join (module.dir, header)
-                #builder = env.Install (target = tgt, source = src)
-                header_builder = env.MyCopyBuilder (target = tgt, source = src)
-                env.Depends (module_builder, header_builder)
+                tgt = os.path.join(header_dir, header)
+                src = os.path.join(module.dir, header)
+                #builder = env.Install(target = tgt, source = src)
+                header_builder = env.MyCopyBuilder(target=tgt, source=src)
+                env.Depends(module_builder, header_builder)
 
-            module_builders.append (module_builder)
+            module_builders.append(module_builder)
         return module_builders
-    def gen_mod_config (self, env):
-        config_dir = os.path.join (self.build_dir, 'config')
+    def gen_mod_config(self, env):
+        config_dir = os.path.join(self.build_dir, 'config')
         for module in self.__modules:
-            if len (module.config) > 0:
-                config_file = os.path.join (config_dir, module.name + '-config.h')
+            if len(module.config) > 0:
+                config_file = os.path.join(config_dir, module.name + '-config.h')
                 config_file_guard = module.name + '_CONFIG_H'
-                config_file_guard.upper ()
-                if not os.path.isfile (config_file):
-                    if not os.path.isdir (config_dir):
-                        os.makedirs (config_dir)
-                    outfile = open (config_file, 'w')
-                    outfile.write ('#ifndef ' + config_file_guard + '\n')
-                    outfile.write ('#define ' + config_file_guard + '\n')
-                    config = env.Configure ()
+                config_file_guard.upper()
+                if not os.path.isfile(config_file):
+                    if not os.path.isdir(config_dir):
+                        os.makedirs(config_dir)
+                    outfile = open(config_file, 'w')
+                    outfile.write('#ifndef ' + config_file_guard + '\n')
+                    outfile.write('#define ' + config_file_guard + '\n')
+                    config = env.Configure()
                     for fn in module.config:
-                        output = fn (env, config)
+                        output = fn(env, config)
                         for o in output:
-                            outfile.write (o)
-                            outfile.write ('\n')
-                    outfile.write ('#endif /*' + config_file_guard + '*/\n')
-                    config.Finish ()
-    def generate_dependencies (self):
+                            outfile.write(o)
+                            outfile.write('\n')
+                    outfile.write('#endif /*' + config_file_guard + '*/\n')
+                    config.Finish()
+    def generate_dependencies(self):
         env = Environment()
-        self.gen_mod_config (env)
+        self.gen_mod_config(env)
         cc = env['CC']
-        cxx = env.subst (env['CXX'])
-        common_flags = ARGUMENTS.get('cflags', '').split (' ')
-        cxxflags = ARGUMENTS.get('cxxflags', '').split (' ')
-        ldflags = ARGUMENTS.get('ldflags', '').split (' ')
+        cxx = env.subst(env['CXX'])
+        common_flags = ARGUMENTS.get('cflags', '').split(' ')
+        cxxflags = ARGUMENTS.get('cxxflags', '').split(' ')
+        ldflags = ARGUMENTS.get('ldflags', '').split(' ')
         if cc == 'cl' and cxx == 'cl':
-            env = Environment (tools = ['mingw'])
+            env = Environment(tools=['mingw'])
             cc = env['CC']
-            cxx = env.subst (env['CXX'])
+            cxx = env.subst(env['CXX'])
         if cc == 'gcc' and cxx == 'g++':
-            common_flags.extend (['-g3', '-Wall', '-Werror'])
+            common_flags.extend(['-g3', '-Wall', '-Werror'])
             debug_flags = []
             opti_flags = ['-O3']
         elif cc == 'cl' and cxx == 'cl':
-            env = Environment (ENV = os.environ)
+            env = Environment(ENV=os.environ)
             debug_flags = ['-W1', '-GX', '-EHsc', '-D_DEBUG', '/MDd']
             opti_flags = ['-O2', '-EHsc', '-DNDEBUG', '/MD']
-        env.Append (CCFLAGS=common_flags,
-                    CPPDEFINES=['RUN_SELF_TESTS'],
-                    TARFLAGS='-c -z',
-                    CPPFLAGS=cxxflags,
-                    LINKFLAGS=ldflags)
+        env.Append(CCFLAGS = common_flags, 
+                    CPPDEFINES = ['RUN_SELF_TESTS'], 
+                    TARFLAGS = '-c -z', 
+                    CPPFLAGS = cxxflags, 
+                    LINKFLAGS = ldflags)
         verbose = ARGUMENTS.get('verbose', 'n')
         if verbose == 'n':
             env['PRINT_CMD_LINE_FUNC'] = print_cmd_line
-        header_builder = Builder (action = Action (MyCopyAction, strfunction = MyCopyActionPrint))
-        env.Append (BUILDERS = {'MyCopyBuilder':header_builder})
-        gcxx_builder = Builder (action = Action (MyCopyAction, strfunction = MyCopyActionPrint),
+        header_builder = Builder(action = Action(MyCopyAction, strfunction=MyCopyActionPrint))
+        env.Append(BUILDERS = {'MyCopyBuilder':header_builder})
+        gcxx_builder = Builder(action = Action(MyCopyAction, strfunction=MyCopyActionPrint), 
                                 emitter = GcxxEmitter)
-        env.Append (BUILDERS = {'CopyGcxxBuilder':gcxx_builder})
-        variant = Ns3BuildVariant ()
+        env.Append(BUILDERS = {'CopyGcxxBuilder':gcxx_builder})
+        variant = Ns3BuildVariant()
         builders = []
 
 
-        gcov_env = env.Copy ()
-        gcov_env.Append (CFLAGS=['-fprofile-arcs', '-ftest-coverage'],
-                         CXXFLAGS=['-fprofile-arcs', '-ftest-coverage'],
-                         LINKFLAGS=['-fprofile-arcs'])
+        gcov_env = env.Copy()
+        gcov_env.Append(CFLAGS = ['-fprofile-arcs', '-ftest-coverage'], 
+                         CXXFLAGS = ['-fprofile-arcs', '-ftest-coverage'], 
+                         LINKFLAGS = ['-fprofile-arcs'])
         # code coverage analysis
         variant.static = False
         variant.env = gcov_env
-        variant.build_root = os.path.join (self.build_dir, 'gcov')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'gcov')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            gcov_env.Alias ('gcov', builder)
-        gcov_env.Alias ('lcov-report')
+            gcov_env.Alias('gcov', builder)
+        gcov_env.Alias('lcov-report')
         if 'lcov-report' in COMMAND_LINE_TARGETS:
-            lcov_report_dir = os.path.join (self.build_dir, 'lcov-report')
+            lcov_report_dir = os.path.join(self.build_dir, 'lcov-report')
             create_dir_command = "rm -rf " + lcov_report_dir
             create_dir_command += " && mkdir " + lcov_report_dir + ";"
-            gcov_env.Execute (create_dir_command)
-            info_file = os.path.join (lcov_report_dir, 'ns3.info')
+            gcov_env.Execute(create_dir_command)
+            info_file = os.path.join(lcov_report_dir, 'ns3.info')
             lcov_command = "utils/lcov/lcov -c -d . -o " + info_file
-            lcov_command += " --source-dirs=" + os.getcwd ()
-            lcov_command += ":" + os.path.join (os.getcwd (),
-                                                variant.build_root,
+            lcov_command += " --source-dirs=" + os.getcwd()
+            lcov_command += ":" + os.path.join(os.getcwd(), 
+                                                variant.build_root, 
                                                 'include')
-            gcov_env.Execute (lcov_command)
+            gcov_env.Execute(lcov_command)
             genhtml_command = "utils/lcov/genhtml -o " + lcov_report_dir
             genhtml_command += " " + info_file
-            gcov_env.Execute (genhtml_command)
+            gcov_env.Execute(genhtml_command)
 
 
 
-        opt_env = env.Copy ()
-        opt_env.Append (CFLAGS=opti_flags,
-                        CXXFLAGS=opti_flags,
+        opt_env = env.Copy()
+        opt_env.Append(CFLAGS=opti_flags, 
+                        CXXFLAGS=opti_flags, 
                         CPPDEFINES=['NDEBUG'])
         # optimized static support
         variant.static = True
         variant.env = opt_env
-        variant.build_root = os.path.join (self.build_dir, 'opt-static')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'opt-static')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            opt_env.Alias ('opt-static', builder)
+            opt_env.Alias('opt-static', builder)
 
 
-        opt_env = env.Copy ()
-        opt_env.Append (CFLAGS=opti_flags,
-                        CXXFLAGS=opti_flags,
-                        CPPDEFINES=['NDEBUG'])
+        opt_env = env.Copy()
+        opt_env.Append(CFLAGS = opti_flags, 
+                        CXXFLAGS = opti_flags, 
+                        CPPDEFINES = ['NDEBUG'])
         # optimized shared support
         variant.static = False
         variant.env = opt_env
-        variant.build_root = os.path.join (self.build_dir, 'opt-shared')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'opt-shared')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            opt_env.Alias ('opt-shared', builder)
+            opt_env.Alias('opt-shared', builder)
 
 
-        arc_env = env.Copy ()
-        arc_env.Append (CFLAGS=opti_flags,
-                        CXXFLAGS=opti_flags,
+        arc_env = env.Copy()
+        arc_env.Append(CFLAGS=opti_flags, 
+                        CXXFLAGS=opti_flags, 
                         CPPDEFINES=['NDEBUG'])
-        arc_env.Append (CFLAGS=['-frandom-seed=0','-fprofile-generate'],
-                        CXXFLAGS=['-frandom-seed=0','-fprofile-generate'],
+        arc_env.Append(CFLAGS=['-frandom-seed=0', '-fprofile-generate'], 
+                        CXXFLAGS=['-frandom-seed=0', '-fprofile-generate'], 
                         LINKFLAGS=['-frandom-seed=0', '-fprofile-generate'])
         # arc profiling
         variant.static = False
         variant.env = arc_env
-        variant.build_root = os.path.join (self.build_dir, 'opt-arc')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'opt-arc')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            arc_env.Alias ('opt-arc', builder)
+            arc_env.Alias('opt-arc', builder)
 
 
-        arcrebuild_env = env.Copy ()
-        arcrebuild_env.Append (CFLAGS=opti_flags,
-                               CXXFLAGS=opti_flags,
+        arcrebuild_env = env.Copy()
+        arcrebuild_env.Append(CFLAGS=opti_flags, 
+                               CXXFLAGS=opti_flags, 
                                CPPDEFINES=['NDEBUG'])
-        arcrebuild_env.Append (CFLAGS=['-frandom-seed=0', '-fprofile-use'],
-                               CXXFLAGS=['-frandom-seed=0', '-fprofile-use'],
-                               LINKFLAGS=['-frandom-seed=0','-fprofile-use'])
+        arcrebuild_env.Append(CFLAGS=['-frandom-seed=0', '-fprofile-use'], 
+                               CXXFLAGS=['-frandom-seed=0', '-fprofile-use'], 
+                               LINKFLAGS=['-frandom-seed=0', '-fprofile-use'])
         # arc rebuild
         variant.static = False
         variant.env = arcrebuild_env
         variant.gcxx_deps = True
-        variant.gcxx_root = os.path.join (self.build_dir, 'opt-arc')
-        variant.build_root = os.path.join (self.build_dir, 'opt-arc-rebuild')
-        builders = self.gen_mod_dep (variant)
+        variant.gcxx_root = os.path.join(self.build_dir, 'opt-arc')
+        variant.build_root = os.path.join(self.build_dir, 'opt-arc-rebuild')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            arcrebuild_env.Alias ('opt-arc-rebuild', builder)
+            arcrebuild_env.Alias('opt-arc-rebuild', builder)
         variant.gcxx_deps = False
 
 
 
 
-        dbg_env = env.Copy ()
-        env.Append (CFLAGS=debug_flags,
-                    CXXFLAGS=debug_flags,)
+        dbg_env = env.Copy()
+        env.Append(CFLAGS = debug_flags, 
+                    CXXFLAGS = debug_flags, )
         # debug static support
         variant.static = True
         variant.env = dbg_env
-        variant.build_root = os.path.join (self.build_dir, 'dbg-static')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'dbg-static')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            dbg_env.Alias ('dbg-static', builder)
+            dbg_env.Alias('dbg-static', builder)
 
-        dbg_env = env.Copy ()
-        env.Append (CFLAGS=debug_flags,
-                    CXXFLAGS=debug_flags,)
+        dbg_env = env.Copy()
+        env.Append(CFLAGS=debug_flags, 
+                    CXXFLAGS=debug_flags, )
         # debug shared support
         variant.static = False
         variant.env = dbg_env
-        variant.build_root = os.path.join (self.build_dir, 'dbg-shared')
-        builders = self.gen_mod_dep (variant)
+        variant.build_root = os.path.join(self.build_dir, 'dbg-shared')
+        builders = self.gen_mod_dep(variant)
         for builder in builders:
-            dbg_env.Alias ('dbg-shared', builder)
+            dbg_env.Alias('dbg-shared', builder)
 
-        env.Alias ('dbg', 'dbg-shared')
-        env.Alias ('opt', 'opt-shared')
-        env.Default ('dbg')
-        env.Alias ('all', ['dbg-shared', 'dbg-static', 'opt-shared', 'opt-static'])
+        env.Alias('dbg', 'dbg-shared')
+        env.Alias('opt', 'opt-shared')
+        env.Default('dbg')
+        env.Alias('all', ['dbg-shared', 'dbg-static', 'opt-shared', 'opt-static'])
 
 
         # dist support
-        dist_env = env.Copy ()
+        dist_env = env.Copy()
         if dist_env['PLATFORM'] == 'posix':
             dist_list = []
             for module in self.__modules:
                 for f in module.sources:
-                    dist_list.append (os.path.join (module.dir, f))
+                    dist_list.append(os.path.join(module.dir, f))
                 for f in module.headers:
-                    dist_list.append (os.path.join (module.dir, f))
+                    dist_list.append(os.path.join(module.dir, f))
                 for f in module.inst_headers:
-                    dist_list.append (os.path.join (module.dir, f))
+                    dist_list.append(os.path.join(module.dir, f))
                 for f in module.extra_dist:
-                    dist_list.append (os.path.join (module.dir, f))
+                    dist_list.append(os.path.join(module.dir, f))
             for f in self.extra_dist:
-                dist_list.append (f)
-            dist_list.append ('SConstruct')
-            dist_list.append ('build.py')
+                dist_list.append(f)
+            dist_list.append('SConstruct')
+            dist_list.append('build.py')
 
             targets = []
             basename = self.name + '-' + self.version
             for src in dist_list:
-                tgt = os.path.join (basename, src)
-                targets.append (dist_env.MyCopyBuilder (target = tgt, source = src))
+                tgt = os.path.join(basename, src)
+                targets.append(dist_env.MyCopyBuilder(target=tgt, source=src))
             tar = basename + '.tar.gz'
             zip = basename + '.zip'
-            tmp_tar = os.path.join (self.build_dir, tar)
-            tmp_zip = os.path.join (self.build_dir, zip)
+            tmp_tar = os.path.join(self.build_dir, tar)
+            tmp_zip = os.path.join(self.build_dir, zip)
             dist_tgt = [tar, zip]
             dist_src = [tmp_tar, tmp_zip]
-            dist_env.Tar (tmp_tar, targets)
-            dist_env.Zip (tmp_zip, targets)
-            dist_builder = dist_env.MyCopyBuilder (target = dist_tgt, source = dist_src)
-            dist_env.Alias ('dist', dist_builder)
-            dist_env.Append (RM_DIR=basename)
-            dist_env.AddPostAction (dist_builder, dist_env.Action (MyRmTree,
-                                                                   strfunction = MyRmTreePrint))
-            dist_builder = dist_env.MyCopyBuilder (target = dist_tgt, source = dist_src)
-            dist_env.Alias ('fastdist', dist_tgt)
+            dist_env.Tar(tmp_tar, targets)
+            dist_env.Zip(tmp_zip, targets)
+            dist_builder = dist_env.MyCopyBuilder(target=dist_tgt, source=dist_src)
+            dist_env.Alias('dist', dist_builder)
+            dist_env.Append(RM_DIR=basename)
+            dist_env.AddPostAction(dist_builder, dist_env.Action(MyRmTree, 
+                                                                 strfunction=MyRmTreePrint))
+            dist_builder = dist_env.MyCopyBuilder(target=dist_tgt, source=dist_src)
+            dist_env.Alias('fastdist', dist_tgt)
 
             # distcheck
             distcheck_list = []
             for src in dist_list:
-                tgt = os.path.join (self.build_dir, basename, src)
-                distcheck_list.append (tgt)
-            untar = env.Command (distcheck_list, tar,
-                                 ['cd ' + self.build_dir + ' && tar -zxf ../' + tar])
-            scons_dir = os.path.join (self.build_dir, basename)
-            distcheck_builder = env.Command ('x',distcheck_list,
-                                             ['cd ' + scons_dir + ' && scons'])
-            env.AlwaysBuild (distcheck_builder)
-            env.Alias ('distcheck', distcheck_builder)
+                tgt = os.path.join(self.build_dir, basename, src)
+                distcheck_list.append(tgt)
+            untar = env.Command(distcheck_list, tar, 
+                                ['cd ' + self.build_dir + ' && tar -zxf ../' + tar])
+            scons_dir = os.path.join(self.build_dir, basename)
+            distcheck_builder = env.Command('x', distcheck_list, 
+                                            ['cd ' + scons_dir + ' && scons'])
+            env.AlwaysBuild(distcheck_builder)
+            env.Alias('distcheck', distcheck_builder)
         if self.doxygen_config != '':
-            doxy = env.Command ('doc/html/*', self.doxygen_config,
-                                ['doxygen ' + self.doxygen_config])
-            env.AlwaysBuild (doxy)
-            env.Alias ('doc', doxy)
+            doxy = env.Command('doc/html/*', self.doxygen_config, 
+                               ['doxygen ' + self.doxygen_config])
+            env.AlwaysBuild(doxy)
+            env.Alias('doc', doxy)