-#############################################################
-# give a nicer display when building different types of files
-def progress_display(self, msg, fname):
- col1 = Logs.colors(self.color)
- col2 = Logs.colors.NORMAL
- total = self.position[1]
- n = len(str(total))
- fs = '[%%%dd/%%%dd] %s %%s%%s%%s\n' % (n, n, msg)
- return fs % (self.position[0], self.position[1], col1, fname, col2)
-
-def link_display(self):
- if Options.options.progress_bar != 0:
- return Task.Task.old_display(self)
- fname = self.outputs[0].bldpath(self.env)
- return progress_display(self, 'Linking', fname)
-Task.TaskBase.classes['cc_link'].display = link_display
-
-def samba_display(self):
- if Options.options.progress_bar != 0:
- return Task.Task.old_display(self)
-
- targets = LOCAL_CACHE(self, 'TARGET_TYPE')
- if self.name in targets:
- target_type = targets[self.name]
- type_map = { 'GENERATOR' : 'Generating',
- 'PROTOTYPE' : 'Generating'
- }
- if target_type in type_map:
- return progress_display(self, type_map[target_type], self.name)
-
- if len(self.inputs) == 0:
- return Task.Task.old_display(self)
-
- fname = self.inputs[0].bldpath(self.env)
- if fname[0:3] == '../':
- fname = fname[3:]
- ext_loc = fname.rfind('.')
- if ext_loc == -1:
- return Task.Task.old_display(self)
- ext = fname[ext_loc:]
-
- ext_map = { '.idl' : 'Compiling IDL',
- '.et' : 'Compiling ERRTABLE',
- '.asn1': 'Compiling ASN1',
- '.c' : 'Compiling' }
- if ext in ext_map:
- return progress_display(self, ext_map[ext], fname)
- return Task.Task.old_display(self)
-
-Task.TaskBase.classes['Task'].old_display = Task.TaskBase.classes['Task'].display
-Task.TaskBase.classes['Task'].display = samba_display
-
-