2 # This script set linux specific flags (GNU GCC)
7 print "Reading linux configuration script"
9 # Set release/debug flags
10 if env.get('RELEASE'):
11 env.AppendUnique(CCFLAGS = ['-Os'])
12 env.AppendUnique(CPPDEFINES = ['NDEBUG'])
14 env.AppendUnique(CCFLAGS = ['-g'])
16 if env.get('LOGGING'):
17 env.AppendUnique(CPPDEFINES = ['-DTB_LOG'])
19 env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__'])
20 env.AppendUnique(CFLAGS = ['-std=gnu99'])
21 env.AppendUnique(CCFLAGS = ['-Wall', '-Wextra', '-fPIC'])
22 env.AppendUnique(LIBS = ['dl', 'pthread', 'uuid'])
24 # Set arch flags that match best TARGET_ARCH variable
25 target_arch = env.get('TARGET_ARCH')
26 if target_arch in ['x86']:
27 env.AppendUnique(CCFLAGS = ['-m32'])
28 env.AppendUnique(LINKFLAGS = ['-m32'])
29 elif target_arch in ['x86_64']:
30 env.AppendUnique(CCFLAGS = ['-m64'])
31 env.AppendUnique(LINKFLAGS = ['-m64'])
32 elif target_arch in ['arm'] or target_arch.find('v5') > 0:
33 env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
34 elif target_arch.find('v7a-hard') > 0:
35 env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
36 env.AppendUnique(CPPFLAGS = ['-mfloat-abi=hard'])
37 env.AppendUnique(CCFLAGS = ['-mfloat-abi=hard'])
38 env.AppendUnique(LINKFLAGS = ['-mfloat-abi=hard'])
39 elif target_arch.find('v7a') > 0:
40 env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
41 elif target_arch.find('arm64') >= 0:
42 env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])