enable LOG_LEVEL build option which can filter log in build time.
[iotivity.git] / resource / csdk / logger / SConscript
1 Import('env')
2 import os
3 log_level = env.get('LOG_LEVEL')
4
5 build_dir = env.get('BUILD_DIR')
6
7 env.AppendUnique(CPPPATH = [os.path.join(Dir('.').abspath, 'include'),
8                             os.path.join('#', 'resource', 'c_common')
9     ])
10
11 if env.get('TARGET_OS') in ['arduino']:
12         env.AppendUnique(CPPPATH = [os.path.join(build_dir, 'resource', 'c_common', 'oic_string', 'include')])
13 if env.get('TARGET_OS') == 'tizen':
14         env.AppendUnique(LIBPATH = [build_dir])
15 else:
16         env.AppendUnique(LIBPATH = [os.path.join(build_dir, 'resource', 'csdk', 'logger')])
17
18 env.PrependUnique(LIBS = ['logger'])
19
20 local_env = env.Clone()
21
22 ######################################################################
23 # Source files and Targets
24 ######################################################################
25
26 #TODO work-around: at the moment if an Arduino build is done the logger.c file
27 # ends up using C++ such as for the arduino Time Library, Serial, etc.
28 # Therefore we copy it to a .cpp name so it is compiled correctly.
29
30 if env.get('TARGET_OS') in ['arduino']:
31         Command("./src/logger.cpp", "./src/logger.c", Copy("$TARGET", "$SOURCE"))
32         logger_src = ['./src/logger.cpp']
33 else:
34         logger_src = ['./src/logger.c', './src/trace.c']
35
36 if log_level == 'INFO':
37         env.AppendUnique(CPPDEFINES = ['SET_LOG_INFO'])
38         print "SET_LOG_INFO"
39 if log_level == 'ERROR':
40         env.AppendUnique(CPPDEFINES = ['SET_LOG_ERROR'])
41         print "SET_LOG_ERROR"
42 if log_level == 'WARNING':
43         env.AppendUnique(CPPDEFINES = ['SET_LOG_WARNING'])
44         print "SET_LOG_WARNING"
45 if log_level == 'FATAL':
46         env.AppendUnique(CPPDEFINES = ['SET_LOG_FATAL'])
47         print "SET_LOG_FATAL"
48
49 loggerlib = local_env.StaticLibrary('logger', logger_src)
50 local_env.InstallTarget(loggerlib, 'logger')
51