>From aa926354ee308d46fdbb92667b6ed6f6f9b11ce7 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 7 Oct 2008 11:22:11 +0200 Subject: [PATCH] build system: sparse checker support. Signed-off-by: Gerd Hoffmann --- configure | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/configure b/configure index 9c8ed81..5b23b33 100755 --- a/configure +++ b/configure @@ -85,6 +85,7 @@ case "$cpu" in ;; esac gprof="no" +sparse="no" bigendian="no" mingw32="no" EXESUF="" @@ -286,6 +287,10 @@ for opt do ;; --audio-drv-list=*) audio_drv_list="$optarg" ;; + --enable-sparse) sparse="yes" + ;; + --disable-sparse) sparse="no" + ;; --disable-vnc-tls) vnc_tls="no" ;; --disable-slirp) slirp="no" @@ -425,6 +430,7 @@ echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc." echo " --make=MAKE use specified make [$make]" echo " --install=INSTALL use specified install [$install]" echo " --static enable static build [$static]" +echo " --disable-sparse disable sparse checker" echo " --disable-werror disable compilation abort on warning" echo " --disable-sdl disable SDL" echo " --enable-cocoa enable COCOA (Mac OS X only)" @@ -536,6 +542,10 @@ EOF fi fi +if test ! -x "$(which cgcc 2>/dev/null)"; then + sparse="no" +fi + # # Solaris specific configure tool chain decisions # @@ -1007,6 +1017,7 @@ echo "host CPU $cpu" echo "host big endian $bigendian" echo "target list $target_list" echo "gprof enabled $gprof" +echo "sparse enabled $sparse" echo "profiler $profiler" echo "static build $static" echo "-Werror enabled $werror" @@ -1156,6 +1167,11 @@ case "$cpu" in exit 1 ;; esac +if test "$sparse" = "yes" ; then + echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak + echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak + echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak +fi if test "$bigendian" = "yes" ; then echo "WORDS_BIGENDIAN=yes" >> $config_mak echo "#define WORDS_BIGENDIAN 1" >> $config_h -- 1.5.5.1