+# -*- mode: python; python-indent-offset: 4; indent-tabs-mode: nil -*-
##
# This script set linux specific flags (GNU GCC)
#
##
Import('env')
+print("Reading linux configuration script")
+
# Set release/debug flags
if env.get('RELEASE'):
env.AppendUnique(CCFLAGS = ['-Os'])
env.AppendUnique(CPPDEFINES = ['NDEBUG'])
- env.AppendUnique(LINKFLAGS = ['-s'])
else:
env.AppendUnique(CCFLAGS = ['-g'])
-# Set arch flags
+# Test Coverage Flags and Library (if RELEASE=0)
+if not env.get('RELEASE') and env.get('COVERAGE_CHECKS'):
+ env.AppendUnique(CCFLAGS=['--coverage', '-fPIC', '-O0'])
+ env.AppendUnique(LINKFLAGS=['--coverage'])
+
+if env.get('LOGGING'):
+ env.AppendUnique(CPPDEFINES = ['TB_LOG'])
+
+env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__'])
+env.AppendUnique(CFLAGS = ['-std=gnu99'])
+env.AppendUnique(CCFLAGS = ['-Wall', '-Wextra', '-fPIC'])
+env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
+
+# Set arch flags that match best TARGET_ARCH variable
target_arch = env.get('TARGET_ARCH')
if target_arch in ['x86']:
env.AppendUnique(CCFLAGS = ['-m32'])
elif target_arch in ['x86_64']:
env.AppendUnique(CCFLAGS = ['-m64'])
env.AppendUnique(LINKFLAGS = ['-m64'])
+elif target_arch in ['arm'] or target_arch.find('v5') > 0:
+ env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
elif target_arch.find('v7a-hard') > 0:
env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
elif target_arch.find('v7a') > 0:
env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
-elif target_arch.find('arm64') > 0:
+elif target_arch.find('arm64') >= 0:
env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
-else:
- env.AppendUnique(CPPFLAGS = ['-march=armv5te'])