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 """g++ compiler configuration for release 18 """ 19 from parts.config import ConfigValues, configuration 20 21 22 def map_default_version(env): 23 return env['GCC_VERSION'] 24 25 26 config = configuration(map_default_version) 27 28 config.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 '-Wformat', 44 '-Wformat-security', 45 '-fstack-protector', 46 ], 47 CXXFLAGS=[ 48 '', 49 # modern C++ features support 50 #'-std=c++0x', 51 # modern C++ features with gcc extensions 52 '-std=gnu++11' 53 ], 54 CPPDEFINES=[ 55 'NDEBUG', 56 '_FORTIFY_SOURCE=2', 57 '__int64=long long', 58 ], 59 LINKFLAGS=[ 60 '-fstack-protector', 61 ], )) 62