Home | History | Annotate | Download | only in release
      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