X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.ac;h=895cd58cf9f76ebbe9beb5832ded31cd38ac0315;hb=ebf393bae799eb05978dc2245ab9a938d0310e83;hp=c649c987ca0bee9f661667d1699c92bd547e9582;hpb=4403c3234aaf8cfa09350e4410ef73c3a60ddae9;p=kconfig-frontends diff --git a/configure.ac b/configure.ac index c649c98..895cd58 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_PREREQ([2.67]) AC_INIT( [kconfig-frontends], [m4_esyscmd_s([./scripts/version.sh])], - [nobody@nowhere.org]) + [yann.morin.1998@free.fr]) AC_CONFIG_SRCDIR([frontends/conf/conf.c]) # Use a config.h to avoid brazilions -DHAVE_FOO on compile lines AC_CONFIG_HEADERS([scripts/.autostuff/config.h]) @@ -19,8 +19,28 @@ AC_CONFIG_MACRO_DIR([scripts/.autostuff/m4]) #---------------------------------------- # Prepare automake + +# We want to allow the user to override our default program-prefix, +# so we must set-it now, before automake has a chance to interpret +# it, but after the options are parsed, so as not to overwrite the +# value (if any) set by the user +AS_IF( + [test "$program_prefix" = NONE], + [program_prefix=kconfig-]) + AM_INIT_AUTOMAKE +AS_IF( + [test "$(${srcdir}/scripts/version.sh --internal)" = "hg"], + [AM_SILENT_RULES], + [AM_SILENT_RULES([yes])]) + +AS_IF( + [test $AM_DEFAULT_VERBOSITY -eq 0], + [SILENT_MAKEFLAGS="--no-print-directory -s"], + [SILENT_MAKEFLAGS=""]) +AC_SUBST([SILENT_MAKEFLAGS]) + #---------------------------------------- # Prepare libtool LT_PREREQ([2.2.6]) @@ -28,6 +48,31 @@ LT_INIT([disable-static]) #--------------------------------------------------------------------------- # Set misc options + +# By default, do not build with -Wall, unless the user asks for it +AC_ARG_ENABLE( + [wall], + [AS_HELP_STRING( + [--enable-wall], + [build with -Wall (default=no)])], + [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 +AC_ARG_ENABLE( + [werror], + [AS_HELP_STRING( + [--enable-werror], + [build with -Werror (default=no)])], + [AS_CASE( + ["$enableval"], + [yes], [werror_CFLAGS=-Werror], + [*], [werror_CFLAGS=""])]) +AC_SUBST([werror_CFLAGS],[${werror_CFLAGS}]) + # Although there is a default (="linux") in the code, we do provide # a default here, to get a consistent autostuff behavior AC_ARG_ENABLE( @@ -58,6 +103,20 @@ AC_ARG_ENABLE( [config_prefix=$enableval])]) AC_SUBST([config_prefix], [${config_prefix-CONFIG_}]) +AC_ARG_ENABLE( + [utils], + [AS_HELP_STRING( + [--disable-utils], + [install utilities to manage .config files (default=no)])]) +AC_SUBST([enable_utils], [${enable_utils:-yes}]) + +AC_ARG_ENABLE( + [L10n], + [AS_HELP_STRING( + [--disable-L10n], + [enable localisation (L10n) (default=auto)])]) +AC_SUBST([enable_L10n], [${enable_L10n:-yes}]) + #---------------------------------------- # Options to selectively enable/disable frontends # All are selected by default @@ -111,6 +170,10 @@ AC_ARG_ENABLE( done]) AC_SUBST([enable_frontends]) +#---------------------------------------- +# What extra CFLAGS we will be using +AC_SUBST([kf_CFLAGS], ["$wall_CFLAGS $werror_CFLAGS"]) + #---------------------------------------- # Dependencies that will be needed, depending on the frontends AS_CASE( @@ -155,7 +218,7 @@ AC_SUBST([AM_YFLAGS], ["-t -l -p zconf"]) # Check for standard headers AC_HEADER_STDC AC_HEADER_STDBOOL -AC_CHECK_HEADERS([ fcntl.h libintl.h limits.h locale.h ]) +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 @@ -170,18 +233,34 @@ AC_CHECK_FUNCS([ gettimeofday mkdir regcomp setlocale uname ]) #---------------------------------------- # Check for gettext, for the kconfig frontends -AC_SUBST([GETTEXT]) -AC_CHECK_HEADERS( - [libintl.h], - [ac_ct_gettext_hdr=$ac_header; break], - [AC_MSG_WARN([libintl is missing, frontends will not be localised])]) +[has_gettext="$enable_L10n"] +AS_IF( + [test "$has_gettext" = "yes"], + [AC_CHECK_HEADERS( + [libintl.h], + [ac_ct_gettext_hdr=$ac_header; break], + [has_gettext=no])]) AS_IF( - [test -n "$ac_ct_gettext_hdr"], + [test "$has_gettext" = "yes"], [AC_CHECK_DECL( [gettext],, - [AC_MSG_WARN([gettext is missing, frontends will not be localised]) - GETTEXT=-DKBUILD_NO_NLS], + [has_gettext=no], [#include <$ac_ct_gettext_hdr>])]) +AS_IF( + [test "$has_gettext" = "yes"], + [LIBS_old="$LIBS" + LIBS= + AC_SEARCH_LIBS( + [gettext], + [intl],, + [has_gettext=no]) + intl_LIBS="$LIBS" + LIBS="$LIBS_old"]) +AS_IF( + [test "$has_gettext" = "no"], + [intl_CPPFLAGS=-DKBUILD_NO_NLS]) +AC_SUBST([intl_CPPFLAGS]) +AC_SUBST([intl_LIBS]) #---------------------------------------- # Check for ncurses, for the mconf & nconf frontends @@ -192,7 +271,7 @@ AS_IF( LIBS_old="$LIBS" LIBS= AC_CHECK_HEADERS( - [ncurses/ncurses.h ncurses/curses.h ncursesw/curses.h ncurses.h curses.h], + [ncursesw/curses.h ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h], [CURSES_LOC=$ac_header; break]) AS_IF( [test -z "$CURSES_LOC"], @@ -222,6 +301,11 @@ AS_IF( AS_IF( [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"], [AC_SUBST([ncurses_extra_LIBS]) + AC_SUBST([ncurses_extra_CPPFLAGS]) + AS_CASE( + [$CURSES_LOC], + [ncursesw/*],[ncurses_extra_CPPFLAGS="-I/usr/include/ncursesw"], + [ncurses/*],[ncurses_extra_CPPFLAGS="-I/usr/include/ncurses"]) LIBS_old="$LIBS" LIBS= AC_SEARCH_LIBS( @@ -326,6 +410,13 @@ AS_IF( [need_lxdialog=yes], [need_lxdialog=no]) +#---------------------------------------- +# Check if the images library should be built +AS_IF( + [test "$enable_gconf" = "yes" -o "$enable_qconf" = "yes"], + [need_images=yes], + [need_images=no]) + #---------------------------------------- # Setup automake conditional build AM_CONDITIONAL( @@ -346,6 +437,15 @@ AM_CONDITIONAL( AM_CONDITIONAL( [COND_lxdialog], [test "$need_lxdialog" = "yes"]) +AM_CONDITIONAL( + [COND_images], + [test "$need_images" = "yes"]) +AM_CONDITIONAL( + [COND_utils], + [test "$enable_utils" = "yes"]) +AM_CONDITIONAL( + [COND_utils_gettext], + [test "$has_gettext" = "yes"]) #---------------------------------------- # Get the version to apply to the parser shared library @@ -357,6 +457,7 @@ AC_SUBST( # Finalise AC_CONFIG_FILES([ Makefile + docs/Makefile libs/Makefile libs/images/Makefile libs/lxdialog/Makefile @@ -367,31 +468,35 @@ AC_CONFIG_FILES([ frontends/nconf/Makefile frontends/gconf/Makefile frontends/qconf/Makefile + utils/Makefile + scripts/Makefile ]) AC_OUTPUT +#---------------------------------------- +# Pretty-print the configuration settings +[fe_list=] +AS_IF([test "$enable_conf" = "yes"], [fe_list="$fe_list conf" ]) +AS_IF([test "$enable_gconf" = "yes"], [fe_list="$fe_list gconf"]) +AS_IF([test "$enable_mconf" = "yes"], [fe_list="$fe_list mconf"]) +AS_IF([test "$enable_nconf" = "yes"], [fe_list="$fe_list nconf"]) +AS_IF([test "$enable_qconf" = "yes"], [fe_list="$fe_list qconf"]) + +[lib_list=] +AS_IF( + [test "$enable_shared" = "yes"], + [lib_list="$lib_list shared (version: $KCONFIGPARSER_LIB_VERSION)"]) +AS_IF( + [test "$enable_static" = "yes"], + [lib_list="$lib_list${lib_list:+,} static"]) + AC_MSG_NOTICE() AC_MSG_NOTICE([Configured with:]) -AC_MSG_NOTICE([- root-menu prompt: '$root_menu']) -AC_MSG_NOTICE([- config prefix: '$config_prefix']) -AC_MSG_NOTICE([- frontends:]) -AS_IF([test "$enable_conf" = "yes"], - [AC_MSG_NOTICE([ - conf: yes])], - [AC_MSG_NOTICE([ - conf: no])]) -AS_IF([test "$enable_gconf" = "yes"], - [AC_MSG_NOTICE([ - gconf: yes])], - [AC_MSG_NOTICE([ - gconf: no])]) -AS_IF([test "$enable_mconf" = "yes"], - [AC_MSG_NOTICE([ - mconf: yes])], - [AC_MSG_NOTICE([ - mconf: no])]) -AS_IF([test "$enable_nconf" = "yes"], - [AC_MSG_NOTICE([ - nconf: yes])], - [AC_MSG_NOTICE([ - nconf: no])]) -AS_IF([test "$enable_qconf" = "yes"], - [AC_MSG_NOTICE([ - qconf: yes])], - [AC_MSG_NOTICE([ - qconf: no])]) -AC_MSG_NOTICE([- parser library:]) -AS_IF([test "$enable_shared" = "yes"], - [AC_MSG_NOTICE([ - shared: yes, versioned $KCONFIGPARSER_LIB_VERSION])], - [AC_MSG_NOTICE([ - shared: no])]) -AC_MSG_NOTICE([ - static: $enable_static]) +AC_MSG_NOTICE([- parser library :$lib_list]) +AC_MSG_NOTICE([ - root-menu prompt : $root_menu]) +AC_MSG_NOTICE([ - config prefix : $config_prefix]) +AC_MSG_NOTICE([- frontends :$fe_list]) +AC_MSG_NOTICE([ - transform name : $program_transform_name]) +AC_MSG_NOTICE([ - localised : $has_gettext]) +AC_MSG_NOTICE([- install utilities : $enable_utils]) +AC_MSG_NOTICE([- CFLAGS CXXFLAGS : $wall_CFLAGS $werror_CFLAGS])