X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.ac;h=1595276a845740985dcadd00c683ab879c0707ff;hb=9f2d4b1caac222df538fd794c3daca74ad4b5a59;hp=e1bbca02e9741002015288112523048e37047b08;hpb=fdc3918b26b86e90273be709ae3513425ba5822f;p=kconfig-frontends diff --git a/configure.ac b/configure.ac index e1bbca0..1595276 100644 --- a/configure.ac +++ b/configure.ac @@ -28,10 +28,14 @@ AS_IF( [test "$program_prefix" = NONE], [program_prefix=kconfig-]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([foreign]) +# For releases, enable silent rules, unless the user explicitly +# disables them. +# For the devel tree, do build with verbose output, unless user +# explicitly enables silent rules AS_IF( - [test "$(${srcdir}/scripts/version.sh --internal)" = "hg"], + [test "$(${srcdir}/scripts/version.sh --internal)" = "git"], [AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) @@ -43,25 +47,33 @@ AC_SUBST([SILENT_MAKEFLAGS]) #---------------------------------------- # Prepare libtool +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl Automake, we have a problem... LT_PREREQ([2.2.6]) LT_INIT([disable-static]) #--------------------------------------------------------------------------- # Set misc options -# By default, do not build with -Wall, unless the user asks for it +# By default, do build with -Wall, unless the user asks not to +[wall_CFLAGS=-Wall] AC_ARG_ENABLE( [wall], [AS_HELP_STRING( - [--enable-wall], - [build with -Wall (default=no)])], + [--disable-wall], + [build with -Wall (default=yes)])], [AS_CASE( ["$enableval"], [yes], [wall_CFLAGS=-Wall], [*], [wall_CFLAGS=""])]) AC_SUBST([wall_CFLAGS],[${wall_CFLAGS}]) -# By default, do not build with -Werror, unless the user asks for it +# For releases, do not build with -Werror, unless the user explicitly +# requests to build with -Werror. +# For the devel tree, do build with -Werror by default, unless user +# explicitly disables -Werror +AS_IF( + [test "$(${srcdir}/scripts/version.sh --internal)" = "git"], + [werror_CFLAGS=-Werror]) AC_ARG_ENABLE( [werror], [AS_HELP_STRING( @@ -85,9 +97,7 @@ AC_ARG_ENABLE( [yes], [root_menu=Configuration], [no], [root_menu=], [# Escape the $ signs, otherwise they would get munged by make - # Also, append a space at the end, to separate the package - # name from the literal 'Configuration' - root_menu="$( echo "$enableval" |sed -r -e 's/\$/\\$$/g;' )"])]) + root_menu="$( echo "$enableval" |sed -e 's/\$/\\$$/g;' )"])]) AC_SUBST([root_menu], [${root_menu=Configuration}]) AC_ARG_ENABLE( @@ -107,7 +117,7 @@ AC_ARG_ENABLE( [utils], [AS_HELP_STRING( [--disable-utils], - [install utilities to manage .config files (default=no)])]) + [install utilities to manage .config files (default=yes)])]) AC_SUBST([enable_utils], [${enable_utils:-yes}]) AC_ARG_ENABLE( @@ -176,7 +186,6 @@ AC_SUBST([kf_CFLAGS], ["$wall_CFLAGS $werror_CFLAGS"]) #---------------------------------------- # Dependencies that will be needed, depending on the frontends -[need_circleq="$enable_mconf"] AS_CASE( ["$enable_mconf":"$enable_nconf"], [*yes*], [need_curses=yes], @@ -210,28 +219,24 @@ AS_IF( AS_IF( [test "$need_pkgconfig" = "yes"], [PKG_PROG_PKG_CONFIG()]) +# Look for `lex'. If it cannot be found, autoconf sets $LEX to ':'. AC_PROG_LEX +AS_IF( + [test "$LEX" = ":"], + [AC_MSG_ERROR([can not find a lexer generator (such as lex or flex)])]) AC_SUBST([AM_LFLAGS], ["-L -P zconf"]) +# Look for `yacc'. If it cannot be found, autoconf sets $YACC to 'yacc'. AC_PROG_YACC +AS_IF( + [test "$YACC" = "yacc"], + [AC_CHECK_PROGS( + [YACC_IN_PATH], + [yacc])] + AS_IF( + [test -z "$YACC_IN_PATH"], + [AC_MSG_ERROR([can not find a parser generator (such as yacc or bison)])])) AC_SUBST([AM_YFLAGS], ["-t -l -p zconf"]) -#---------------------------------------- -# Check for standard headers -AC_HEADER_STDC -AC_HEADER_STDBOOL -AC_CHECK_HEADERS([ fcntl.h limits.h locale.h ]) -AC_CHECK_HEADERS([ stdlib.h string.h sys/time.h unistd.h ]) -AC_TYPE_SIZE_T - -#---------------------------------------- -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_FUNC_ALLOCA -AC_CHECK_FUNCS([ bzero memmove memset ]) -AC_CHECK_FUNCS([ strcasecmp strchr strcspn strdup strncasecmp strpbrk strrchr strspn strtol ]) -AC_CHECK_FUNCS([ gettimeofday mkdir regcomp setlocale uname ]) - #---------------------------------------- # Check for gettext, for the kconfig frontends [has_gettext="$enable_L10n"] @@ -263,53 +268,32 @@ AS_IF( AC_SUBST([intl_CPPFLAGS]) AC_SUBST([intl_LIBS]) -#---------------------------------------- -# Check headers and macros for circle queues -AS_IF( - [test "$need_circleq" = "yes" -o "$need_circleq" = "auto"], - [AC_CHECK_HEADERS( - [sys/queue.h], - [AC_MSG_CHECKING([for CIRCLEQ_XXX macros in sys/queue.h]) - AC_PREPROC_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #ifndef CIRCLEQ_HEAD - #error no - #endif]] - [[]])], - [AC_MSG_RESULT([yes]) - has_circleq=yes], - [AC_MSG_RESULT([no]) - AS_IF( - [test "$need_circleq" = "yes"], - [AC_MSG_ERROR([CIRCLEQ_XXX macros not defined in sys/queue.h (frontend: mconf)])], - [has_circleq=no])])], - [AS_IF( - [test "$need_circleq" = "yes"], - [AC_MSG_ERROR([could not find sys/queue.h header (frontend: mconf)])], - [has_circleq=no])])]) - -AS_IF( - [test "$has_circleq" = "no"], - [enable_mconf=no]) - #---------------------------------------- # Check for ncurses, for the mconf & nconf frontends AS_IF( [test "$need_curses" = "yes" -o "$need_curses" = "auto"], - [AC_SUBST([CURSES_LOC]) + [AC_SUBST([ncurses_mconf_CPPFLAGS]) AC_SUBST([ncurses_LIBS]) LIBS_old="$LIBS" LIBS= AC_CHECK_HEADERS( [ncursesw/curses.h ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h], - [CURSES_LOC=$ac_header; break]) + [CURSES_LOC=$ac_header + ncurses_mconf_CPPFLAGS=-DCURSES_LOC=\\\"$ac_header\\\" + break # Stupid syntax-coloring in vim: "]) AS_IF( [test -z "$CURSES_LOC"], [AS_IF( [test "$need_curses" = "yes"], [AC_MSG_ERROR([could not find curses headers (frontends: mconf/nconf)])], [has_curses=no])]) + AS_CASE( + [$CURSES_LOC], + [ncursesw/*],[ncurses_mconf_CPPFLAGS="$ncurses_mconf_CPPFLAGS -DNCURSES_WIDECHAR=1"]) + AC_SEARCH_LIBS( + [setupterm], + [tinfo], + [break]) AC_SEARCH_LIBS( [initscr], [ncursesw ncurses curses], @@ -331,12 +315,12 @@ AS_IF( # Check for libpanel and libmenu, for the nconf frontend AS_IF( [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"], - [AC_SUBST([ncurses_extra_LIBS]) - AC_SUBST([ncurses_extra_CPPFLAGS]) + [AC_SUBST([ncurses_nconf_CPPFLAGS]) + AC_SUBST([ncurses_panel_menu_LIBS]) AS_CASE( [$CURSES_LOC], - [ncursesw/*],[ncurses_extra_CPPFLAGS="-I/usr/include/ncursesw"], - [ncurses/*],[ncurses_extra_CPPFLAGS="-I/usr/include/ncurses"]) + [ncursesw/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncursesw"], + [ncurses/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncurses"]) LIBS_old="$LIBS" LIBS= AC_SEARCH_LIBS( @@ -361,7 +345,7 @@ AS_IF( [test "$need_panel_menu" = "yes"], [AC_MSG_ERROR([could not find libmenu library (frontend: nconf)])], [has_panel_menu=no])]) - ncurses_extra_LIBS="$LIBS" + ncurses_panel_menu_LIBS="$LIBS" LIBS=$LIBS_old]) AS_IF(