Merge branch 'cloud-interface'
[platform/upstream/iotivity.git] / build_common / linux / SConscript
1 # -*- mode: python; python-indent-offset: 4; indent-tabs-mode: nil -*-
2 ##
3 # This script set linux specific flags (GNU GCC)
4 #
5 ##
6 Import('env')
7
8 print "Reading linux configuration script"
9
10 # Set release/debug flags
11 if env.get('RELEASE'):
12         env.AppendUnique(CCFLAGS = ['-Os'])
13         env.AppendUnique(CPPDEFINES = ['NDEBUG'])
14 else:
15         env.AppendUnique(CCFLAGS = ['-g'])
16
17 if env.get('LOGGING'):
18     env.AppendUnique(CPPDEFINES = ['TB_LOG'])
19
20 env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__'])
21 env.AppendUnique(CFLAGS = ['-std=gnu99'])
22 env.AppendUnique(CCFLAGS = ['-Wall', '-Wextra', '-fPIC'])
23 env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
24
25 # Set arch flags that match best TARGET_ARCH variable
26 target_arch = env.get('TARGET_ARCH')
27 if target_arch in ['x86']:
28         env.AppendUnique(CCFLAGS = ['-m32'])
29         env.AppendUnique(LINKFLAGS = ['-m32'])
30 elif target_arch in ['x86_64']:
31         env.AppendUnique(CCFLAGS = ['-m64'])
32         env.AppendUnique(LINKFLAGS = ['-m64'])
33 elif target_arch in ['arm'] or target_arch.find('v5') > 0:
34         env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
35 elif target_arch.find('v7a-hard') > 0:
36         env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
37         env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
38         env.AppendUnique(CCFLAGS = ['-mfloat-abi=hard'])
39         env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
40 elif target_arch.find('v7a') > 0:
41         env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
42 elif target_arch.find('arm64') >= 0:
43         env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])