diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-07-13 04:57:19 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-07-13 04:57:19 +0400 |
commit | bfe11037b5d8bedb7a5185dea2eee00584254d69 (patch) | |
tree | 847fa3aab006df47ef98a4b384619b929fc01417 /build_files/make/nan_warn.mk | |
parent | ded8ba1d90dade45665b7009f664ea75f2bbfd96 (diff) |
move nan mk files from source/ into build_files/make/
Diffstat (limited to 'build_files/make/nan_warn.mk')
-rw-r--r-- | build_files/make/nan_warn.mk | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/build_files/make/nan_warn.mk b/build_files/make/nan_warn.mk new file mode 100644 index 00000000000..c195fb333ab --- /dev/null +++ b/build_files/make/nan_warn.mk @@ -0,0 +1,167 @@ +# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*- +# vim: tabstop=8 +# +# $Id$ +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): GSR +# +# ***** END GPL LICENSE BLOCK ***** +# +# NaN compiler and linker warning levels +# On some platforms, you will be flooded with system include file warnings. +# Use hmake to filter those away. +# + +# Force the correct redefinition +LEVEL_1_C_WARNINGS = -FIX_NAN_WARN1A +LEVEL_1_CPP_WARNINGS = -FIX_NAN_WARN1B +LEVEL_2_C_WARNINGS = -FIX_NAN_WARN2A +LEVEL_2_CPP_WARNINGS = -FIX_NAN_WARN2B +FIX_STUBS_WARNINGS = -FIX_NAN_WARN3 + +######################################################################## +# Level 1: basic C warnings. +ifeq (gcc, $(findstring gcc,$(CC))) + LEVEL_1_C_WARNINGS = -Wall + LEVEL_1_C_WARNINGS += -Wno-char-subscripts +else + ifeq (cc, $(findstring cc,$(CC))) + ifeq ($(OS),irix) + # MIPSpro Compilers + # + # Irix warning info + # + # 1001 # the source file does not end w/ a newline + # 1110 # unreachable statement + # 1201 # trailing comma in enums is nonstandard + # 1209 # constant controlling expressions + # 1355 # extra semicolon is ignored + # 1424 # unreferenced template paramaters + # 1681 # virtual function override + # 3201 # unreferenced formal paramaters + # + LEVEL_1_C_WARNINGS = -fullwarn -woff 1001,1110,1201,1209,1355,1424,1681,3201 + endif + endif + ifeq ($(OS),windows) + # Microsoft Compilers and cl_wrapper.pl + LEVEL_1_C_WARNINGS = -Wall + endif +endif + +# Level 1: basic CPP warnings. +ifeq (g++, $(findstring g++,$(CCC))) + LEVEL_1_CPP_WARNINGS = -Wall + LEVEL_1_CPP_WARNINGS += -Wno-reorder +else + ifeq (CC, $(findstring CC,$(CCC))) + ifeq ($(OS),irix) + # MIPSpro Compilers + # see warning descriptions above + LEVEL_1_CPP_WARNINGS = -woff 1001,1110,1201,1209,1355,1424,1681,3201 + endif + endif + ifeq ($(OS),windows) + # Microsoft Compilers and cl_wrapper.pl + LEVEL_1_CPP_WARNINGS = -Wall + endif +endif + +######################################################################## +# Level 2: paranoia level C warnings. +# DO NOT REUSE LEVEL_1_ DEFINES. +ifeq (gcc, $(findstring gcc,$(CC))) + LEVEL_2_C_WARNINGS = -Wall + LEVEL_2_C_WARNINGS += -W + # deliberately enable char-subscript warnings + LEVEL_2_C_WARNINGS += -Wshadow + LEVEL_2_C_WARNINGS += -Wpointer-arith + LEVEL_2_C_WARNINGS += -Wbad-function-cast + LEVEL_2_C_WARNINGS += -Wcast-qual + LEVEL_2_C_WARNINGS += -Wcast-align + LEVEL_2_C_WARNINGS += -Waggregate-return + LEVEL_2_C_WARNINGS += -Wstrict-prototypes + LEVEL_2_C_WARNINGS += -Wmissing-prototypes + LEVEL_2_C_WARNINGS += -Wmissing-declarations + LEVEL_2_C_WARNINGS += -Wnested-externs + LEVEL_2_C_WARNINGS += -Wredundant-decls +else + ifeq (cc, $(findstring cc,$(CC))) + ifeq ($(OS),irix) + # MIPSpro Compilers + # see warning descriptions above + LEVEL_2_C_WARNINGS = -fullwarn -woff 1001,1209,1424,3201 + endif + ifeq ($(OS),solaris) + # Forte / Sun WorkShop Compilers + LEVEL_2_C_WARNINGS = -v + endif + endif + ifeq ($(OS),windows) + # Microsoft Compilers and cl_wrapper.pl + LEVEL_2_C_WARNINGS = -Wall + endif +endif + +# Level 2: paranoia level CPP warnings. +# DO NOT REUSE LEVEL_1_ DEFINES. +ifeq (g++, $(findstring g++,$(CCC))) + LEVEL_2_CPP_WARNINGS = -Wall + LEVEL_2_CPP_WARNINGS += -W + # deliberately enable char-subscript warnings + LEVEL_2_CPP_WARNINGS += -Wshadow + LEVEL_2_CPP_WARNINGS += -Wpointer-arith + LEVEL_2_CPP_WARNINGS += -Wcast-qual + LEVEL_2_CPP_WARNINGS += -Wcast-align + # deliberately disable aggregate-return warnings + LEVEL_2_CPP_WARNINGS += -Wredundant-decls + LEVEL_2_CPP_WARNINGS += -Wreorder + LEVEL_2_CPP_WARNINGS += -Wctor-dtor-privacy + LEVEL_2_CPP_WARNINGS += -Wnon-virtual-dtor + #LEVEL_2_CPP_WARNINGS += -Wold-style-cast + LEVEL_2_CPP_WARNINGS += -Woverloaded-virtual + LEVEL_2_CPP_WARNINGS += -Wsign-promo + LEVEL_2_CPP_WARNINGS += -Wsynth +else + ifeq (CC, $(findstring CC,$(CCC))) + ifeq ($(OS),irix) + # MIPSpro Compilers + # see warning descriptions above + LEVEL_2_CPP_WARNINGS = -fullwarn -woff 1209,1424,3201 + endif + endif + ifeq ($(OS),windows) + # Microsoft Compilers and cl_wrapper.pl + LEVEL_2_CPP_WARNINGS = -Wall + endif +endif + +######################################################################## +# stubs warning fix +ifeq (gcc, $(findstring gcc,$(CC))) + FIX_STUBS_WARNINGS = -Wno-unused +else + FIX_STUBS_WARNINGS = +endif + |