Reintroduce CSTD, which allows a Makefile to specify the precise dialect

of C in which the program or library is written.

Note that this is *not* intended to be used across the whole tree.  It
is intended to be used for individual libraries or programs which use
specific language features which the compiler must know about in order
to produce correct warnings at high WARNS levels.

MFC after:	1 month
This commit is contained in:
Dag-Erling Smørgrav 2006-08-11 17:28:59 +00:00
parent 25017df472
commit 513f04ca55

View File

@ -9,6 +9,21 @@
# for GCC: http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143
.if !defined(NO_WARNS) && ${CC} != "icc"
. if defined(CSTD)
. if ${CSTD} == "k&r"
CFLAGS += -traditional
. elif ${CSTD} == "c89" || ${CSTD} == "c90"
CFLAGS += -std=iso9899:1990
. elif ${CSTD} == "c94" || ${CSTD} == "c95"
CFLAGS += -std=iso9899:199409
. elif ${CSTD} == "c99"
CFLAGS += -std=iso9899:1999
. else
CFLAGS += -std=${CSTD}
. endif
# -pedantic is problematic because it also imposes namespace restrictions
#CFLAGS += -pedantic
. endif
. if defined(WARNS)
. if ${WARNS} >= 1
CWARNFLAGS += -Wsystem-headers