debug prints are too much on my system it hangs ddd.
[blender.git] / source / nan_warn.mk
1 # -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
2 # vim: tabstop=8
3 #
4 # $Id$
5 #
6 # ***** BEGIN GPL LICENSE BLOCK *****
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License
10 # as published by the Free Software Foundation; either version 2
11 # of the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software Foundation,
20 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 #
22 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23 # All rights reserved.
24 #
25 # The Original Code is: all of this file.
26 #
27 # Contributor(s): GSR
28 #
29 # ***** END GPL LICENSE BLOCK *****
30 #
31 # NaN compiler and linker warning levels
32 # On some platforms, you will be flooded with system include file warnings.
33 # Use hmake to filter those away.
34 #
35
36 # Force the correct redefinition
37 LEVEL_1_C_WARNINGS = -FIX_NAN_WARN1A
38 LEVEL_1_CPP_WARNINGS = -FIX_NAN_WARN1B
39 LEVEL_2_C_WARNINGS = -FIX_NAN_WARN2A
40 LEVEL_2_CPP_WARNINGS = -FIX_NAN_WARN2B
41 FIX_STUBS_WARNINGS = -FIX_NAN_WARN3
42
43 ########################################################################
44 # Level 1: basic C warnings.
45 ifeq (gcc, $(findstring gcc,$(CC)))
46     LEVEL_1_C_WARNINGS = -Wall
47     LEVEL_1_C_WARNINGS += -Wno-char-subscripts
48 else
49   ifeq (cc, $(findstring cc,$(CC)))
50     ifeq ($(OS),irix)
51       # MIPSpro Compilers
52       #
53       # Irix warning info
54       #
55       # 1001 # the source file does not end w/ a newline
56       # 1110 # unreachable statement
57       # 1201 # trailing comma in enums is nonstandard
58       # 1209 # constant controlling expressions
59       # 1355 # extra semicolon is ignored
60       # 1424 # unreferenced template paramaters
61       # 1681 # virtual function override
62       # 3201 # unreferenced formal paramaters
63       #
64       LEVEL_1_C_WARNINGS = -fullwarn -woff 1001,1110,1201,1209,1355,1424,1681,3201
65     endif
66   endif
67   ifeq ($(OS),windows)
68     # Microsoft Compilers and cl_wrapper.pl
69     LEVEL_1_C_WARNINGS = -Wall
70   endif
71 endif
72
73 # Level 1: basic CPP warnings.
74 ifeq (g++, $(findstring g++,$(CCC)))
75     LEVEL_1_CPP_WARNINGS = -Wall
76     LEVEL_1_CPP_WARNINGS += -Wno-reorder
77 else
78   ifeq (CC, $(findstring CC,$(CCC)))
79     ifeq ($(OS),irix)
80       # MIPSpro Compilers
81       #  see warning descriptions above
82       LEVEL_1_CPP_WARNINGS = -woff 1001,1110,1201,1209,1355,1424,1681,3201
83     endif
84   endif
85   ifeq ($(OS),windows)
86     # Microsoft Compilers and cl_wrapper.pl
87     LEVEL_1_CPP_WARNINGS = -Wall
88   endif
89 endif
90
91 ########################################################################
92 # Level 2: paranoia level C warnings.
93 # DO NOT REUSE LEVEL_1_ DEFINES.
94 ifeq (gcc, $(findstring gcc,$(CC)))
95     LEVEL_2_C_WARNINGS = -Wall
96     LEVEL_2_C_WARNINGS += -W
97     # deliberately enable char-subscript warnings
98     LEVEL_2_C_WARNINGS += -Wshadow
99     LEVEL_2_C_WARNINGS += -Wpointer-arith
100     LEVEL_2_C_WARNINGS += -Wbad-function-cast
101     LEVEL_2_C_WARNINGS += -Wcast-qual
102     LEVEL_2_C_WARNINGS += -Wcast-align
103     LEVEL_2_C_WARNINGS += -Waggregate-return
104     LEVEL_2_C_WARNINGS += -Wstrict-prototypes
105     LEVEL_2_C_WARNINGS += -Wmissing-prototypes
106     LEVEL_2_C_WARNINGS += -Wmissing-declarations
107     LEVEL_2_C_WARNINGS += -Wnested-externs
108     LEVEL_2_C_WARNINGS += -Wredundant-decls 
109 else
110   ifeq (cc, $(findstring cc,$(CC)))
111     ifeq ($(OS),irix)
112       # MIPSpro Compilers
113       #  see warning descriptions above
114       LEVEL_2_C_WARNINGS = -fullwarn -woff 1001,1209,1424,3201
115     endif
116     ifeq ($(OS),solaris)
117       # Forte / Sun WorkShop Compilers
118       LEVEL_2_C_WARNINGS = -v
119     endif
120   endif
121   ifeq ($(OS),windows)
122     # Microsoft Compilers and cl_wrapper.pl
123     LEVEL_2_C_WARNINGS = -Wall
124   endif
125 endif
126
127 # Level 2: paranoia level CPP warnings.
128 # DO NOT REUSE LEVEL_1_ DEFINES.
129 ifeq (g++, $(findstring g++,$(CCC)))
130     LEVEL_2_CPP_WARNINGS = -Wall
131     LEVEL_2_CPP_WARNINGS += -W
132     # deliberately enable char-subscript warnings
133     LEVEL_2_CPP_WARNINGS += -Wshadow
134     LEVEL_2_CPP_WARNINGS += -Wpointer-arith
135     LEVEL_2_CPP_WARNINGS += -Wcast-qual
136     LEVEL_2_CPP_WARNINGS += -Wcast-align
137     # deliberately disable aggregate-return warnings
138     LEVEL_2_CPP_WARNINGS += -Wredundant-decls 
139     LEVEL_2_CPP_WARNINGS += -Wreorder
140     LEVEL_2_CPP_WARNINGS += -Wctor-dtor-privacy
141     LEVEL_2_CPP_WARNINGS += -Wnon-virtual-dtor
142     #LEVEL_2_CPP_WARNINGS += -Wold-style-cast
143     LEVEL_2_CPP_WARNINGS += -Woverloaded-virtual
144     LEVEL_2_CPP_WARNINGS += -Wsign-promo
145     LEVEL_2_CPP_WARNINGS += -Wsynth
146 else
147   ifeq (CC, $(findstring CC,$(CCC)))
148     ifeq ($(OS),irix)
149       # MIPSpro Compilers
150       #  see warning descriptions above
151       LEVEL_2_CPP_WARNINGS = -fullwarn -woff 1209,1424,3201
152     endif
153   endif
154   ifeq ($(OS),windows)
155     # Microsoft Compilers and cl_wrapper.pl
156     LEVEL_2_CPP_WARNINGS = -Wall
157   endif
158 endif
159
160 ########################################################################
161 # stubs warning fix
162 ifeq (gcc, $(findstring gcc,$(CC)))
163     FIX_STUBS_WARNINGS = -Wno-unused
164 else
165     FIX_STUBS_WARNINGS =
166 endif
167