Make warning CXXFLAGS configurable

This turns off -Werror by default except in the Debian package.
-Werror is inherently unportable and breaks things on OS X.  While it
can cause problems in Debian too, this is at least a little better.

It also turns off -pedantic in src/protobufs, because apparently
protoc output doesn’t compile with -pedantic on all platforms.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
Anders Kaseorg
2012-02-28 05:17:12 -05:00
committed by Keith Winstein
parent 8fa8bac35e
commit aad760e7d6
11 changed files with 40 additions and 9 deletions
+27
View File
@@ -12,6 +12,33 @@ AC_CONFIG_HEADERS([config.h])
AC_PROG_CXX
AC_PROG_RANLIB
WARNING_CXXFLAGS=""
PICKY_CXXFLAGS=""
AC_ARG_ENABLE([compile-warnings],
[AS_HELP_STRING([--enable-compile-warnings@<:@=no/yes/maximum/error],
[Turn on compiler warnings])],
[case "$enableval" in
no)
;;
'' | yes)
WARNING_CXXFLAGS="-Wall"
;;
maximum)
WARNING_CXXFLAGS="-Wall"
PICKY_CXXFLAGS="-Wextra -pedantic -Wno-long-long -Weffc++"
;;
error)
WARNING_CXXFLAGS="-Wall -Werror"
PICKY_CXXFLAGS="-Wextra -pedantic -Wno-long-long -Weffc++"
;;
*)
AC_MSG_ERROR([Unknown argument '$enableval' to --enable-compile-warnings])
;;
esac],
[WARNING_CXXFLAGS="-Wall"])
AC_SUBST([WARNING_CXXFLAGS])
AC_SUBST([PICKY_CXXFLAGS])
# Checks for libraries.
AC_SEARCH_LIBS([utempter_remove_added_record], [utempter], , [AC_MSG_ERROR([Unable to find libutempter.])])
AC_SEARCH_LIBS([compress], [z], , [AC_MSG_ERROR([Unable to find zlib.])])
+1 -1
View File
@@ -2,7 +2,7 @@ Source: mosh
Section: net
Priority: optional
Maintainer: Keith Winstein <keithw@mit.edu>
Build-Depends: debhelper (>= 7.0.0), autotools-dev, protobuf-compiler, libprotobuf-dev, dh-autoreconf, pkg-config, libutempter-dev, libboost-dev, zlib1g-dev
Build-Depends: debhelper (>= 7.0.50), autotools-dev, protobuf-compiler, libprotobuf-dev, dh-autoreconf, pkg-config, libutempter-dev, libboost-dev, zlib1g-dev
Standards-Version: 3.9.3
Homepage: http://mosh.mit.edu
Vcs-Git: git://github.com/keithw/mosh.git
+4
View File
@@ -11,3 +11,7 @@
%:
dh $@ --with autoreconf
override_dh_auto_configure:
dh_auto_configure -- \
--enable-compile-warnings=error
+1 -1
View File
@@ -1,4 +1,4 @@
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_LIBRARIES = libmoshcrypto.a
+1 -1
View File
@@ -1,4 +1,4 @@
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_PROGRAMS = encrypt decrypt ntester parse termemu
+1 -1
View File
@@ -1,5 +1,5 @@
AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I$(builddir)/../protobufs -I$(srcdir)/../util
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
LIBS = $(protobuf_LIBS)
LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lutil -lrt -lm -lutempter
+1 -1
View File
@@ -1,5 +1,5 @@
AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../crypto -I$(builddir)/../protobufs
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_LIBRARIES = libmoshnetwork.a
+1 -1
View File
@@ -2,7 +2,7 @@ source = userinput.proto hostinput.proto transportinstruction.proto
PROTOC = protoc
AM_CPPFLAGS = $(protobuf_CFLAGS)
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) -fno-default-inline -pipe
SUFFIXES = .proto .pb.cc
+1 -1
View File
@@ -1,5 +1,5 @@
AM_CPPFLAGS = -I$(srcdir)/../terminal -I$(builddir)/../protobufs
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_LIBRARIES = libmoshstatesync.a
+1 -1
View File
@@ -1,5 +1,5 @@
AM_CPPFLAGS = -I$(srcdir)/../util
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_LIBRARIES = libmoshterminal.a
+1 -1
View File
@@ -1,4 +1,4 @@
AM_CXXFLAGS = -pedantic -Wno-long-long -Werror -Wall -Wextra -Weffc++ -fno-default-inline -pipe
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) -fno-default-inline -pipe
noinst_LIBRARIES = libmoshutil.a