From 33073e51a940248817fc33948d84e5492902a473 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Wed, 27 Aug 2008 16:13:25 +0000 Subject: add --enable-dev-mode support, and fix up a couple of warnings found using it (only two, surprisingly) git-svn-id: http://svn.asterisk.org/svn/dahdi/tools/trunk@4845 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- Makefile | 4 ++++ configure | 39 +++++++++++++++++++++++++++++++++++++-- configure.ac | 19 +++++++++++++++++++ dahdi_cfg.c | 2 ++ makeopts.in | 2 ++ sethdlc.c | 2 +- 6 files changed, 65 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index fbc1d61..2dc7456 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,10 @@ ifneq (,$(findstring x86_64,$(UNAME_M))) CFLAGS+=-m64 endif +ifeq ($(DAHDI_DEVMODE),yes) + CFLAGS+=-Werror -Wunused -Wundef $(DAHDI_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2 +endif + ROOT_PREFIX= # extra cflags to build dependencies. Recursively expanded. diff --git a/configure b/configure index d22bc3e..e172fdc 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 4361 . +# From configure.ac Revision: 4369 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # @@ -675,6 +675,8 @@ LN WGET FETCH DOWNLOAD +DAHDI_DEVMODE +DAHDI_DECLARATION_AFTER_STATEMENT CURSES_LIB CURSES_INCLUDE CURSES_DIR @@ -1276,6 +1278,11 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-dev-mode Turn on developer mode + Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) @@ -3316,6 +3323,32 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Check whether --enable-dev-mode was given. +if test "${enable_dev_mode+set}" = set; then + enableval=$enable_dev_mode; case "${enableval}" in + y|ye|yes) DAHDI_DEVMODE=yes ;; + n|no) DAHDI_DEVMODE=no ;; + *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-dev-mode" >&5 +echo "$as_me: error: bad value ${enableval} for --enable-dev-mode" >&2;} + { (exit 1); exit 1; }; } ;; + esac +fi + + + +{ echo "$as_me:$LINENO: checking for -Wdeclaration-after-statement support" >&5 +echo $ECHO_N "checking for -Wdeclaration-after-statement support... $ECHO_C" >&6; } +if $(${CC} -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + DAHDI_DECLARATION_AFTER_STATEMENT=-Wdeclaration-after-statement +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + DAHDI_DECLARATION_AFTER_STATEMENT= +fi + + CURSES_DESCRIP="curses" CURSES_OPTION="curses" @@ -5731,6 +5764,8 @@ LN!$LN$ac_delim WGET!$WGET$ac_delim FETCH!$FETCH$ac_delim DOWNLOAD!$DOWNLOAD$ac_delim +DAHDI_DEVMODE!$DAHDI_DEVMODE$ac_delim +DAHDI_DECLARATION_AFTER_STATEMENT!$DAHDI_DECLARATION_AFTER_STATEMENT$ac_delim CURSES_LIB!$CURSES_LIB$ac_delim CURSES_INCLUDE!$CURSES_INCLUDE$ac_delim CURSES_DIR!$CURSES_DIR$ac_delim @@ -5759,7 +5794,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 84; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.ac b/configure.ac index 7f34405..ce0669d 100644 --- a/configure.ac +++ b/configure.ac @@ -63,6 +63,25 @@ AC_SUBST(DOWNLOAD) AC_LANG(C) +AC_ARG_ENABLE(dev-mode, + [ --enable-dev-mode Turn on developer mode], + [case "${enableval}" in + y|ye|yes) DAHDI_DEVMODE=yes ;; + n|no) DAHDI_DEVMODE=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-dev-mode) ;; + esac]) +AC_SUBST(DAHDI_DEVMODE) + +AC_MSG_CHECKING(for -Wdeclaration-after-statement support) +if $(${CC} -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then + AC_MSG_RESULT(yes) + DAHDI_DECLARATION_AFTER_STATEMENT=-Wdeclaration-after-statement +else + AC_MSG_RESULT(no) + DAHDI_DECLARATION_AFTER_STATEMENT= +fi +AC_SUBST(DAHDI_DECLARATION_AFTER_STATEMENT) + AST_EXT_LIB_SETUP([CURSES], [curses], [curses]) AST_EXT_LIB_SETUP([DAHDI], [DAHDI], [dahdi]) AST_EXT_LIB_SETUP([NCURSES], [ncurses], [ncurses]) diff --git a/dahdi_cfg.c b/dahdi_cfg.c index 56a7396..8133454 100644 --- a/dahdi_cfg.c +++ b/dahdi_cfg.c @@ -195,6 +195,8 @@ static void clear_fields() preemp = 0; } +static int error(char *fmt, ...) __attribute__ ((format(printf, 1, 2))); + static int error(char *fmt, ...) { int res; diff --git a/makeopts.in b/makeopts.in index 08befb1..756a7be 100644 --- a/makeopts.in +++ b/makeopts.in @@ -26,6 +26,8 @@ sysconfdir = @sysconfdir@ DOWNLOAD=@DOWNLOAD@ +DAHDI_DEVMODE=@DAHDI_DEVMODE@ + PBX_NEWT=@PBX_NEWT@ NEWT_LIB=@NEWT_LIB@ NEWT_INCLUDE=@NEWT_INCLUDE@ diff --git a/sethdlc.c b/sethdlc.c index 6b2f0d5..cc0517c 100644 --- a/sethdlc.c +++ b/sethdlc.c @@ -50,7 +50,7 @@ static char **argv; int sock; -static void error(const char *format, ...) __attribute__ ((noreturn)); +static void error(const char *format, ...) __attribute__ ((noreturn, format(printf, 1, 2))); static void error(const char *format, ...) { -- cgit v1.2.3