Skip to content

Commit

Permalink
configure: New --enable-sparse option to enable sparse checking by de…
Browse files Browse the repository at this point in the history
…fault.

Until now, "make" called sparse to do checking only if C=1 was passed on
the command line.  It was easy for developers to forget to specify that.
This commit adds another option: specifying --enable-sparse on the
configure command line enables sparse checking by default.  (It can still
be disabled with C=0.)

Requested-by: Justin Pettit <jpettit@ovn.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Justin Pettit <jpettit@ovn.org>
  • Loading branch information
blp committed Jan 12, 2018
1 parent 2daae85 commit d4042a7
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 4 deletions.
10 changes: 7 additions & 3 deletions Documentation/intro/install/general.rst
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,13 @@ generated by the build. For example::

$ ./configure --enable-Werror

If you're building with GCC, then, for improved warnings, install ``sparse``
(see "Prerequisites") and enable it for the build by adding
``--enable-sparse``. Use this with ``--enable-Werror`` to avoid missing both
compiler and ``sparse`` warnings, e.g.::

$ ./configure --enable-Werror --enable-sparse

To build with gcov code coverage support, add ``--enable-coverage``::

$ ./configure --enable-coverage
Expand Down Expand Up @@ -355,9 +362,6 @@ Building
$ make -C _gcc
$ make -C _clang

For improved warnings if you installed ``sparse`` (see "Prerequisites"), add
``C=1`` to the command line.

.. note::
Some versions of Clang and ccache are not completely compatible. If you
see unusual warnings when you use both together, consider disabling
Expand Down
4 changes: 4 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ check_SCRIPTS =
pkgconfig_DATA =
FLAKE8_PYFILES =

if ENABLE_SPARSE_BY_DEFAULT
C ?= 1
endif

scriptsdir = $(pkgdatadir)/scripts
completiondir = $(sysconfdir)/bash_completion.d
pkgconfigdir = $(libdir)/pkgconfig
Expand Down
1 change: 1 addition & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Post-v2.8.0
* Datapath IDs may now be specified as 0x1 (etc.) instead of 16 digits.
* Configuring a controller, or unconfiguring all controllers, now deletes
all groups and meters (as well as all flows).
- New --enable-sparse configure option enables "sparse" checking by default.

v2.8.0 - 31 Aug 2017
--------------------
Expand Down
8 changes: 7 additions & 1 deletion acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,13 @@ AC_DEFUN([OVS_ENABLE_SPARSE],
: ${SPARSE=sparse}
AC_SUBST([SPARSE])
AC_CONFIG_COMMANDS_PRE(
[CC='$(if $(C),env REAL_CC="'"$CC"'" CHECK="$(SPARSE) $(SPARSE_WERROR) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"')'])])
[CC='$(if $(C:0=),env REAL_CC="'"$CC"'" CHECK="$(SPARSE) $(SPARSE_WERROR) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"')'])
AC_ARG_ENABLE(
[sparse],
[AC_HELP_STRING([--enable-sparse], [Run "sparse" by default])],
[], [enable_sparse=no])
AM_CONDITIONAL([ENABLE_SPARSE_BY_DEFAULT], [test $enable_sparse = yes])])

dnl OVS_CTAGS_IDENTIFIERS
dnl
Expand Down

0 comments on commit d4042a7

Please sign in to comment.