1 # -*- mode: python; python-indent-offset: 4; indent-tabs-mode: nil -*-
3 # This script set linux specific flags (GNU GCC)
8 print("Reading linux configuration script")
10 # Set release/debug flags
11 if env.get('RELEASE'):
12 env.AppendUnique(CCFLAGS = ['-Os'])
13 env.AppendUnique(CPPDEFINES = ['NDEBUG'])
15 env.AppendUnique(CCFLAGS = ['-g'])
17 # Test Coverage Flags and Library (if RELEASE=0)
18 if not env.get('RELEASE') and env.get('COVERAGE_CHECKS'):
19 env.AppendUnique(CCFLAGS=['--coverage', '-fPIC', '-O0'])
20 env.AppendUnique(LINKFLAGS=['--coverage'])
22 if env.get('LOGGING'):
23 env.AppendUnique(CPPDEFINES = ['TB_LOG'])
25 env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__'])
26 env.AppendUnique(CFLAGS = ['-std=gnu99'])
27 env.AppendUnique(CCFLAGS = ['-Wall', '-Wextra', '-fPIC'])
28 env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
30 # Set arch flags that match best TARGET_ARCH variable
31 target_arch = env.get('TARGET_ARCH')
32 if target_arch in ['x86']:
33 env.AppendUnique(CCFLAGS = ['-m32'])
34 env.AppendUnique(LINKFLAGS = ['-m32'])
35 elif target_arch in ['x86_64']:
36 env.AppendUnique(CCFLAGS = ['-m64'])
37 env.AppendUnique(LINKFLAGS = ['-m64'])
38 elif target_arch in ['arm'] or target_arch.find('v5') > 0:
39 env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
40 elif target_arch.find('v7a-hard') > 0:
41 env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
42 env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
43 env.AppendUnique(CCFLAGS = ['-mfloat-abi=hard'])
44 env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
45 elif target_arch.find('v7a') > 0:
46 env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
47 elif target_arch.find('arm64') >= 0:
48 env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])