Use monotonic clock source for Windows in oic_time
[platform/upstream/iotivity.git] / resource / c_common / SConscript
1 #******************************************************************
2 #
3 # Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
4 #
5 #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19 #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21
22 Import('env')
23 import os
24
25 target_os = env.get('TARGET_OS')
26
27 # Add platform-specific helper library
28 if target_os in ['windows', 'msys_nt']:
29         SConscript('windows/SConscript')
30
31 env.AppendUnique(CPPPATH = [
32             os.path.join(Dir('.').abspath),
33             os.path.join(Dir('.').abspath, 'oic_malloc', 'include'),
34             os.path.join(Dir('.').abspath, 'oic_string', 'include'),
35             os.path.join(Dir('.').abspath, 'oic_time', 'include'),
36             os.path.join(Dir('.').abspath, 'ocrandom', 'include')
37         ])
38
39 if target_os == 'tizen':
40         env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
41 else:
42         env.AppendUnique(LIBPATH = [os.path.join(env.get('BUILD_DIR'), 'resource', 'c_common')])
43
44 if target_os in ['tizen', 'linux']:
45         env.ParseConfig("pkg-config --cflags --libs uuid")
46
47 common_env = env.Clone()
48 common_env.AppendUnique(LIBPATH = [os.path.join(env.get('BUILD_DIR'), 'resource')])
49
50 ######################################################################
51 # Build flags
52 ######################################################################
53 common_conf = Configure(common_env)
54 if common_conf.CheckFunc('QueryPerformanceFrequency'):
55         common_env.AppendUnique(CPPDEFINES = ['HAVE_QUERYPERFORMANCEFREQUENCY'])
56 common_env = common_conf.Finish()
57
58 ######################################################################
59 # Source files and Targets
60 ######################################################################
61 common_src = [
62         'oic_string/src/oic_string.c',
63         'oic_malloc/src/oic_malloc.c',
64         'oic_time/src/oic_time.c',
65         'ocrandom/src/ocrandom.c',
66         ]
67
68 commonlib = common_env.StaticLibrary('c_common', common_src)
69 common_env.InstallTarget(commonlib, 'c_common')
70 common_env.UserInstallTargetLib(commonlib, 'c_common')
71 common_env.UserInstallTargetHeader('platform_features.h', 'resource', 'platform_features.h')
72
73 env.PrependUnique(LIBS = ['c_common'])