Home | History | Annotate | Download | only in release
      1 ############################################################################
      2 # Copyright 2016-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 
     18 """Intel win32 compiler configurations release
     19 """
     20 from parts.config import ConfigValues, configuration
     21 
     22 def map_default_version(env):
     23     return env['MSVC_VERSION']
     24 
     25 config = configuration(map_default_version)
     26 
     27 config.VersionRange("7-*",
     28                     append=ConfigValues(
     29                         CCFLAGS=['/MP',
     30                                  '/GS',
     31                                  '/W4',
     32                                  '/wd4127',  # allow while (0)
     33                                  '/wd4592',  # VS2015U1 limitation
     34                                  #'/wd4366',  # ok unaligned &
     35                                  #'/wd4204',  # allow x= {a,b}
     36                                  #'/wd4221',  # allow x = {&y}
     37                                  '/Gy',
     38                                  '/Zc:wchar_t',
     39                                  '/Z7',
     40                                  '/O2',
     41                                  '/fp:precise',
     42                                  '/WX',
     43                                  '/Zc:forScope',
     44                                  '/Oi',
     45                                  '/MT',
     46                                  '/sdl',
     47                                  '/nologo'],
     48                         CXXFLAGS=['/EHsc',
     49                                   '/GR'],
     50                         LINKFLAGS=['/WX',
     51                                    '/NXCOMPAT',
     52                                    '/DYNAMICBASE',
     53                                    '/MACHINE:X64',
     54                                    '/nologo'],
     55                         CPPDEFINES=['NDEBUG']
     56                     )
     57                    )
     58