1############################################################################ 2# Copyright 2017 Intel Corporation 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15############################################################################ 16# pylint: disable=locally-disabled, invalid-name, missing-docstring 17"""gcc compiler configuration for release 18""" 19from parts.config import ConfigValues, configuration 20 21 22def map_default_version(env): 23 return env['GCC_VERSION'] 24 25 26config = configuration(map_default_version) 27 28config.VersionRange( 29 "3-*", 30 append=ConfigValues( 31 CCFLAGS=[ 32 '', 33 # second level optimization 34 '-O2', 35 # treat warnings as errors 36 '-Werror', 37 # enable all warnings 38 '-Wall', 39 # extra warnings 40 '-Wextra', 41 # pedantic warnings 42 # '-Wpedantic', 43 # disable warnings due to gcc 4.8.5 issues 44 '-Wno-missing-braces', 45 '-Wno-missing-field-initializers', 46 '-Wno-unknown-pragmas', 47 '-Wno-unused-function', 48 # do not assume strict aliasing 49 '-fno-strict-aliasing', 50 # do not warn about unused but set variables 51 '-Wno-unused-but-set-variable', 52 # do not warn about multiline comments 53 '-Wno-comment', 54 '-Wformat', 55 '-Wformat-security', 56 '-fstack-protector', 57 ], 58 CPPDEFINES=[ 59 'NDEBUG', 60 '_FORTIFY_SOURCE=2', 61 '__int64=long long', 62 ], 63 LINKFLAGS=[ 64 '-fstack-protector', 65 ], )) 66