Belle II Software  release-05-01-25
output.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 from SCons.Script import GetOption
5 
6 # compile: blue
7 # link : green
8 # install: purple
9 # copy : purple
10 # map : cyan
11 # dict : yellow
12 # doc : gray
13 # cleanup: black/white
14 # strip : black/white
15 
16 color_map_none = {
17  'end': '',
18  'compile': '',
19  'link': '',
20  'install': '',
21  'copy': '',
22  'map': '',
23  'dict': '',
24  'doc': '',
25  'cleanup': '',
26  'strip': '',
27 }
28 color_map_light = {
29  'end': '\033[0m',
30  'compile': '\033[94m',
31  'link': '\033[92m',
32  'install': '\033[95m',
33  'copy': '\033[95m',
34  'map': '\033[96m',
35  'dict': '\033[93m',
36  'doc': '\033[37m',
37  'cleanup': '\033[37m',
38  'strip': '\033[37m',
39 }
40 color_map_dark = {
41  'end': '\033[0m',
42  'compile': '\033[2m\033[34m',
43  'link': '\033[2m\033[32m',
44  'install': '\033[2m\033[35m',
45  'copy': '\033[2m\033[35m',
46  'map': '\033[2m\033[36m',
47  'dict': '\033[2m\033[33m',
48  'doc': '\033[90m',
49  'cleanup': '\033[30m',
50  'strip': '\033[30m',
51 }
52 
53 
54 def generate(env):
55  color_map = color_map_none
56  if GetOption('color') == 'light':
57  color_map = color_map_light
58  elif GetOption('color') == 'dark':
59  color_map = color_map_dark
60 
61  if not GetOption('verbose'):
62  if GetOption('no-symlink'):
63  install_text = 'installing'
64  else:
65  install_text = 'symlinking'
66  env.Replace(
67  SHCXXCOMSTR='${CXXCOMSTR}',
68  CXXCOMSTR=color_map['compile'] + '*** compiling : ${SOURCE}' + color_map['end'],
69  FORTRANPPCOMSTR='${CXXCOMSTR}',
70  SHFORTRANPPCOMSTR='${CXXCOMSTR}',
71  CCCOMSTR='${CXXCOMSTR}',
72  SHCCCOMSTR='${CXXCOMSTR}',
73  SHLINKCOMSTR='${LINKCOMSTR}',
74  LINKCOMSTR=color_map['link'] + '*** linking : ${TARGET}' + color_map['end'],
75  INSTALLSTR=color_map['install'] + '*** ' + install_text + ' : ${TARGET}' + color_map['end'],
76  COPYCOMSTR=color_map['copy'] + '*** copying : ${TARGET}' + color_map['end'],
77  MAPCOMSTR=color_map['map'] + '*** map : ${TARGET}' + color_map['end'],
78  ROOTCLINGCOMSTR=color_map['dict'] + '*** dictionary : ${TARGET}' + color_map['end'],
79  MODULEIOCOMSTR=color_map['doc'] + '*** module-io : ${TARGET}' + color_map['end'],
80  DOXYGENCOMSTR=color_map['doc'] + '*** doxygen : ${TARGET}' + color_map['end'],
81  STRIPCOMSTR=color_map['strip'] + '*** stripping : ${TARGET}' + color_map['end'],
82  )
83 
84  env['CLEANUPCOMSTR'] = color_map['cleanup'] + '*** removing : %s' \
85  + color_map['end']
86 
87 
88 def exists(env):
89  return True
Script