Update build system and CI scripts
Change-Id: I4894a30d0cfc7af5de1d272edb70ce9cc4b6d372
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 5ee8dfa..9e045c3 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -20,9 +20,9 @@
'The minimum supported gcc version is 5.3.0.')
conf.flags = GccFlags()
elif cxx == 'clang':
- if ccver < (3, 5, 0):
+ if ccver < (3, 6, 0):
errmsg = ('The version of clang you are using is too old.\n'
- 'The minimum supported clang version is 3.5.0.')
+ 'The minimum supported clang version is 3.6.0.')
conf.flags = ClangFlags()
else:
warnmsg = 'Note: %s compiler is unsupported' % cxx
@@ -129,6 +129,10 @@
def getGeneralFlags(self, conf):
flags = super(GccBasicFlags, self).getGeneralFlags(conf)
flags['CXXFLAGS'] += ['-std=c++14']
+ if Utils.unversioned_sys_platform() == 'linux':
+ flags['LINKFLAGS'] += ['-fuse-ld=gold']
+ elif Utils.unversioned_sys_platform() == 'freebsd':
+ flags['LINKFLAGS'] += ['-fuse-ld=lld']
return flags
def getDebugFlags(self, conf):
@@ -145,7 +149,7 @@
'-Wno-error=maybe-uninitialized', # Bug #1615
'-Wno-unused-parameter',
]
- flags['LINKFLAGS'] += ['-fuse-ld=gold', '-Wl,-O1']
+ flags['LINKFLAGS'] += ['-Wl,-O1']
return flags
def getOptimizedFlags(self, conf):
@@ -158,7 +162,7 @@
'-Wnon-virtual-dtor',
'-Wno-unused-parameter',
]
- flags['LINKFLAGS'] += ['-fuse-ld=gold', '-Wl,-O1']
+ flags['LINKFLAGS'] += ['-Wl,-O1']
return flags
class GccFlags(GccBasicFlags):
@@ -179,14 +183,34 @@
# Bug #4296
flags['CXXFLAGS'] += [['-isystem', '/usr/local/include'], # for Homebrew
['-isystem', '/opt/local/include']] # for MacPorts
+ if Utils.unversioned_sys_platform() == 'freebsd':
+ flags['CXXFLAGS'] += [['-isystem', '/usr/local/include']] # Bug #4790
return flags
def getDebugFlags(self, conf):
flags = super(ClangFlags, self).getDebugFlags(conf)
- flags['CXXFLAGS'] += ['-fcolor-diagnostics']
+ flags['CXXFLAGS'] += ['-fcolor-diagnostics',
+ '-Wextra-semi',
+ '-Wundefined-func-template',
+ '-Wno-unused-local-typedef', # Bugs #2657 and #3209
+ ]
+ version = self.getCompilerVersion(conf)
+ if version < (3, 9, 0) or (Utils.unversioned_sys_platform() == 'darwin' and version < (8, 1, 0)):
+ flags['CXXFLAGS'] += ['-Wno-unknown-pragmas']
+ if version < (6, 0, 0):
+ flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721
return flags
def getOptimizedFlags(self, conf):
flags = super(ClangFlags, self).getOptimizedFlags(conf)
- flags['CXXFLAGS'] += ['-fcolor-diagnostics']
+ flags['CXXFLAGS'] += ['-fcolor-diagnostics',
+ '-Wextra-semi',
+ '-Wundefined-func-template',
+ '-Wno-unused-local-typedef', # Bugs #2657 and #3209
+ ]
+ version = self.getCompilerVersion(conf)
+ if version < (3, 9, 0) or (Utils.unversioned_sys_platform() == 'darwin' and version < (8, 1, 0)):
+ flags['CXXFLAGS'] += ['-Wno-unknown-pragmas']
+ if version < (6, 0, 0):
+ flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721
return flags