disable -Werror by default (but still use it for continuous integration)

Since we can't predict what warnings future compilers will emit, and
most people just want to build Avian without some new warning tripping
it up, we now omit -Werror unless requested via the "use-werror=true"
option to make.  Note that we pass "use-werror=true" in test/ci.sh to
ensure Travis alerts us to new warnings as they appear.

BTW, sorry about the unrelated whitespace changes in this patch; I've
got Emacs set up to fix whitespace "problems" on save, and those are
what it found.
This commit is contained in:
Joel Dice 2016-02-15 15:39:31 -07:00
parent ee7da77c70
commit 3247093b10
2 changed files with 10 additions and 6 deletions

View File

@ -126,6 +126,10 @@ ifeq ($(bootimage-test),true)
bootimage-classpath = $(classpath-build):$(test-build) bootimage-classpath = $(classpath-build):$(test-build)
endif endif
ifeq ($(use-werror),true)
werror = -Werror
endif
test-executable = $(shell pwd)/$(executable) test-executable = $(shell pwd)/$(executable)
boot-classpath = $(classpath-build) boot-classpath = $(classpath-build)
embed-prefix = /avian-embedded embed-prefix = /avian-embedded
@ -464,7 +468,7 @@ endif
# note that we suppress the non-virtual-dtor warning because we never # note that we suppress the non-virtual-dtor warning because we never
# use the delete operator, which means we don't need virtual # use the delete operator, which means we don't need virtual
# destructors: # destructors:
warnings = -Wall -Wextra -Werror -Wunused-parameter -Winit-self \ warnings = -Wall -Wextra $(werror) -Wunused-parameter -Winit-self \
-Wno-non-virtual-dtor -Wno-non-virtual-dtor
target-cflags = -DTARGET_BYTES_PER_WORD=$(pointer-size) target-cflags = -DTARGET_BYTES_PER_WORD=$(pointer-size)
@ -492,7 +496,7 @@ converter-cflags = -D__STDC_CONSTANT_MACROS -std=c++0x -Iinclude/ -Isrc/ \
-fno-rtti -fno-exceptions \ -fno-rtti -fno-exceptions \
-DAVIAN_TARGET_ARCH=AVIAN_ARCH_UNKNOWN \ -DAVIAN_TARGET_ARCH=AVIAN_ARCH_UNKNOWN \
-DAVIAN_TARGET_FORMAT=AVIAN_FORMAT_UNKNOWN \ -DAVIAN_TARGET_FORMAT=AVIAN_FORMAT_UNKNOWN \
-Wall -Wextra -Werror -Wunused-parameter -Winit-self -Wno-non-virtual-dtor -Wall -Wextra $(werror) -Wunused-parameter -Winit-self -Wno-non-virtual-dtor
cflags = $(build-cflags) cflags = $(build-cflags)

View File

@ -4,7 +4,7 @@ set -eo pipefail
root_dir=$(pwd) root_dir=$(pwd)
flags="${@}" flags="use-werror=true ${@}"
is-mac() { is-mac() {
if [[ $(uname -s) == "Darwin" || ${TRAVIS_OS_NAME} == "osx" ]]; then if [[ $(uname -s) == "Darwin" || ${TRAVIS_OS_NAME} == "osx" ]]; then