Use warn=yes/no to control -Wall and -deprecation instead of using debug=yes/no

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@29911 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2010-03-12 19:45:40 +00:00
parent 17e77096d1
commit 47729d0d05
4 changed files with 67 additions and 3 deletions

View file

@ -1,3 +1,15 @@
2010-03-12 Nicola Pero <nicola.pero@meta-innovation.com>
The default is now to use -Wall when compiling C/ObjC/C++/ObjC++
unless warn=no is used when invoking make. Similar for Java,
where -deprecation is now used unless warn=no is used.
* common.make (ADDITIONAL_FLAGS): Add -Wall or not depending on
warn=yes/no, instead of depending on debug=yes/no (Suggestion from
Richard Frith-Macdonald).
(INTERNAL_JAVACFLAGS): Same for -deprecation.
* Documentation/releasenotes.texi: Updated.
* RELEASENOTES: Regenerated.
2010-03-07 Nicola Pero <nicola.pero@meta-innovation.com>
* Documentation/README.MinGW: Updated.

View file

@ -7,6 +7,22 @@ migrate to using a newer version of the make system.
@section Version 2.4.0
@table @samp
@item -Wall is now used by default unless 'make warn=no' is specified
Before version 2.4.0, 'make debug=yes' would not only build object
files particularly suited for debugging, but would also add the -Wall
flag on the compiler command line when compiling C/ObjC/C++/ObjC++.
Starting with 2.4.0, the -Wall flag is controlled by a separate warn
flag, so you can turn it on and off indipendentely by doing 'make
warn=yes' or 'make warn=no'. Since warn=yes is the default, the
default behaviour also changed; starting with 2.4.0, gnustep-make will
use -Wall by default. You can turn it off by using 'make warn=no'.
A similar change occurred for Java compilations, where the flag
-deprecation, which used to be enabled by debug=yes, is now enabled by
warn=yes. As a consequence, Java code is now compiled by default with
the -deprecation flag. You can turn it off by compiling with 'make
warn=no'.
@item PACKAGE_NEEDS_CONFIGURE and JAVADOC_BUILD_ALWAYS now support 'yes' and 'no'
gnustep-make boolean variables traditionally use the values 'yes' and
'no', with the unfortunate exception of PACKAGE_NEEDS_CONFIGURE and

View file

@ -8,6 +8,41 @@ using a newer version of the make system.
1.1 Version 2.4.0
=================
`-Wall is now used by default unless 'make warn=no' is specified'
Before version 2.4.0, 'make debug=yes' would not only build object
files particularly suited for debugging, but would also add the
-Wall flag on the compiler command line when compiling
C/ObjC/C++/ObjC++. Starting with 2.4.0, the -Wall flag is
controlled by a separate warn flag, so you can turn it on and off
indipendentely by doing 'make warn=yes' or 'make warn=no'. Since
warn=yes is the default, the default behaviour also changed;
starting with 2.4.0, gnustep-make will use -Wall by default. You
can turn it off by using 'make warn=no'.
A similar change occurred for Java compilations, where the flag
-deprecation, which used to be enabled by debug=yes, is now
enabled by warn=yes. As a consequence, Java code is now compiled
by default with the -deprecation flag. You can turn it off by
compiling with 'make warn=no'.
`PACKAGE_NEEDS_CONFIGURE and JAVADOC_BUILD_ALWAYS now support 'yes' and 'no''
gnustep-make boolean variables traditionally use the values 'yes'
and 'no', with the unfortunate exception of
PACKAGE_NEEDS_CONFIGURE and JAVADOC_BUILD_ALWAYS which used to
only recognize the values 'YES' and 'NO'. For consistency with
everything else, starting with gnustep-make 2.4.0 these two
variables recognize the values 'yes' and 'no' too.
`Versions of GNU make older then 3.79.1 (June 2000) are no longer supported'
The .NOTPARALLEL pseudo-target is only available in GNU make 3.79
and is essential for parallel builds to work. Starting with
version 2.4.0, gnustep-make recommends using GNU make 3.79.1 or
greater; a warning will be issued during configure if an older GNU
make is detected. Older versions of GNU make are likely to work
(except for parallel building) but are no longer supported. As
3.79.1 was released about 10 years ago, this should not be a
particular problem.
`new internalmessages=yes option'
Starting with version 2.4.0, gnustep-make recognized the new
internalmessages=yes option (separate from messages=yes) which

View file

@ -689,10 +689,10 @@ ifeq ($(debug), yes)
ADDITIONAL_FLAGS += -g
endif
# Add standard debug compiler flags.
ADDITIONAL_FLAGS += -Wall -DDEBUG -fno-omit-frame-pointer
ADDITIONAL_FLAGS += -DDEBUG -fno-omit-frame-pointer
# The following is for Java.
INTERNAL_JAVACFLAGS += -g -deprecation
INTERNAL_JAVACFLAGS += -g
else
# The default OPTFLAG set in config.make are used to compile.
@ -703,7 +703,8 @@ endif
ifeq ($(warn), no)
ADDITIONAL_FLAGS += -UGSWARN
else
ADDITIONAL_FLAGS += -DGSWARN
ADDITIONAL_FLAGS += -Wall -DGSWARN
INTERNAL_JAVACFLAGS += -deprecation
endif
ifeq ($(diagnose), no)