1*10465441SEvalZero# -*- Autoconf -*- 2*10465441SEvalZero# Process this file with autoconf to produce a configure script. 3*10465441SEvalZero 4*10465441SEvalZero#--------------------------------------------------------------------------- 5*10465441SEvalZero# Global initialisation 6*10465441SEvalZero 7*10465441SEvalZero#---------------------------------------- 8*10465441SEvalZero# Prepare autoconf 9*10465441SEvalZeroAC_PREREQ([2.67]) 10*10465441SEvalZeroAC_INIT( 11*10465441SEvalZero [kconfig-frontends], 12*10465441SEvalZero [m4_esyscmd_s([./scripts/version.sh])], 13*10465441SEvalZero [[email protected]]) 14*10465441SEvalZeroAC_CONFIG_SRCDIR([frontends/conf/conf.c]) 15*10465441SEvalZero# Use a config.h to avoid brazilions -DHAVE_FOO on compile lines 16*10465441SEvalZeroAC_CONFIG_HEADERS([scripts/.autostuff/config.h]) 17*10465441SEvalZeroAC_CONFIG_AUX_DIR([scripts/.autostuff/scripts]) 18*10465441SEvalZeroAC_CONFIG_MACRO_DIR([scripts/.autostuff/m4]) 19*10465441SEvalZero 20*10465441SEvalZero#---------------------------------------- 21*10465441SEvalZero# Prepare automake 22*10465441SEvalZero 23*10465441SEvalZeroAM_INIT_AUTOMAKE([foreign subdir-objects]) 24*10465441SEvalZero 25*10465441SEvalZero# For releases, enable silent rules, unless the user explicitly 26*10465441SEvalZero# disables them. 27*10465441SEvalZero# For the devel tree, do build with verbose output, unless user 28*10465441SEvalZero# explicitly enables silent rules 29*10465441SEvalZeroAS_IF( 30*10465441SEvalZero [test "$(${srcdir}/scripts/version.sh --internal)" = "git"], 31*10465441SEvalZero [AM_SILENT_RULES], 32*10465441SEvalZero [AM_SILENT_RULES([yes])]) 33*10465441SEvalZero 34*10465441SEvalZero#---------------------------------------- 35*10465441SEvalZero# Prepare libtool 36*10465441SEvalZerom4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl Automake, we have a problem... 37*10465441SEvalZeroLT_PREREQ([2.2.6]) 38*10465441SEvalZeroLT_INIT([disable-static]) 39*10465441SEvalZero 40*10465441SEvalZero#--------------------------------------------------------------------------- 41*10465441SEvalZero# Set misc options 42*10465441SEvalZero 43*10465441SEvalZero# By default, do build with -Wall, unless the user asks not to 44*10465441SEvalZero[wall_CFLAGS=-Wall] 45*10465441SEvalZeroAC_ARG_ENABLE( 46*10465441SEvalZero [wall], 47*10465441SEvalZero [AS_HELP_STRING( 48*10465441SEvalZero [--disable-wall], 49*10465441SEvalZero [build with -Wall (default=yes)])], 50*10465441SEvalZero [AS_CASE( 51*10465441SEvalZero ["$enableval"], 52*10465441SEvalZero [yes], [wall_CFLAGS=-Wall], 53*10465441SEvalZero [*], [wall_CFLAGS=""])]) 54*10465441SEvalZeroAC_SUBST([wall_CFLAGS],[${wall_CFLAGS}]) 55*10465441SEvalZero 56*10465441SEvalZero# For releases, do not build with -Werror, unless the user explicitly 57*10465441SEvalZero# requests to build with -Werror. 58*10465441SEvalZero# For the devel tree, do build with -Werror by default, unless user 59*10465441SEvalZero# explicitly disables -Werror 60*10465441SEvalZeroAS_IF( 61*10465441SEvalZero [test "$(${srcdir}/scripts/version.sh --internal)" = "git"], 62*10465441SEvalZero [werror_CFLAGS=-Werror]) 63*10465441SEvalZeroAC_ARG_ENABLE( 64*10465441SEvalZero [werror], 65*10465441SEvalZero [AS_HELP_STRING( 66*10465441SEvalZero [--enable-werror], 67*10465441SEvalZero [build with -Werror (default=no)])], 68*10465441SEvalZero [AS_CASE( 69*10465441SEvalZero ["$enableval"], 70*10465441SEvalZero [yes], [werror_CFLAGS=-Werror], 71*10465441SEvalZero [*], [werror_CFLAGS=""])]) 72*10465441SEvalZeroAC_SUBST([werror_CFLAGS],[${werror_CFLAGS}]) 73*10465441SEvalZero 74*10465441SEvalZero# Although there is a default (="linux") in the code, we do provide 75*10465441SEvalZero# a default here, to get a consistent autostuff behavior 76*10465441SEvalZeroAC_ARG_ENABLE( 77*10465441SEvalZero [root-menu-prompt], 78*10465441SEvalZero [AS_HELP_STRING( 79*10465441SEvalZero [--enable-root-menu-prompt=PROMPT], 80*10465441SEvalZero [set the root-menu prompt (default=Configuration)])], 81*10465441SEvalZero [AS_CASE( 82*10465441SEvalZero ["$enableval"], 83*10465441SEvalZero [yes], [root_menu=Configuration], 84*10465441SEvalZero [no], [root_menu=], 85*10465441SEvalZero [# Escape the $ signs, otherwise they would get munged by make 86*10465441SEvalZero root_menu="$( echo "$enableval" |sed -e 's/\$/\\$$/g;' )"])]) 87*10465441SEvalZeroAC_SUBST([root_menu], [${root_menu=Configuration}]) 88*10465441SEvalZero 89*10465441SEvalZeroAC_ARG_ENABLE( 90*10465441SEvalZero [config-prefix], 91*10465441SEvalZero [AS_HELP_STRING( 92*10465441SEvalZero [--enable-config-prefix=PREFIX], 93*10465441SEvalZero [the prefix to the config option (default=CONFIG_)])], 94*10465441SEvalZero [AS_CASE( 95*10465441SEvalZero ["$enableval"], 96*10465441SEvalZero [*" "*],[AC_MSG_ERROR([config prefix can not contain spaces: '$enableval'])], 97*10465441SEvalZero [yes], [config_prefix=CONFIG_], 98*10465441SEvalZero [no], [config_prefix=], 99*10465441SEvalZero [config_prefix=$enableval])]) 100*10465441SEvalZeroAC_SUBST([config_prefix], [${config_prefix-CONFIG_}]) 101*10465441SEvalZero 102*10465441SEvalZeroAC_ARG_ENABLE( 103*10465441SEvalZero [utils], 104*10465441SEvalZero [AS_HELP_STRING( 105*10465441SEvalZero [--disable-utils], 106*10465441SEvalZero [install utilities to manage .config files (default=yes)])]) 107*10465441SEvalZeroAC_SUBST([enable_utils], [${enable_utils:-yes}]) 108*10465441SEvalZero 109*10465441SEvalZeroAC_ARG_ENABLE( 110*10465441SEvalZero [L10n], 111*10465441SEvalZero [AS_HELP_STRING( 112*10465441SEvalZero [--disable-L10n], 113*10465441SEvalZero [enable localisation (L10n) (default=auto)])]) 114*10465441SEvalZeroAC_SUBST([enable_L10n], [${enable_L10n:-yes}]) 115*10465441SEvalZero 116*10465441SEvalZero#---------------------------------------- 117*10465441SEvalZero# Options to selectively enable/disable frontends 118*10465441SEvalZero# All are selected by default 119*10465441SEvalZeroAC_ARG_ENABLE( 120*10465441SEvalZero [kconfig], 121*10465441SEvalZero [AS_HELP_STRING( 122*10465441SEvalZero [--disable-kconfig], 123*10465441SEvalZero [kconfig, the meta-frontend to all kconfig tools (default=yes)])]) 124*10465441SEvalZeroAC_SUBST([enable_kconfig], [${enable_kconfig:-yes}]) 125*10465441SEvalZero 126*10465441SEvalZeroAC_ARG_ENABLE( 127*10465441SEvalZero [conf], 128*10465441SEvalZero [AS_HELP_STRING( 129*10465441SEvalZero [--disable-conf], 130*10465441SEvalZero [conf, the stdin-based frontend (default=auto)])]) 131*10465441SEvalZeroAC_SUBST([enable_conf], [${enable_conf:-auto}]) 132*10465441SEvalZeroAC_ARG_ENABLE( 133*10465441SEvalZero [mconf], 134*10465441SEvalZero [AS_HELP_STRING( 135*10465441SEvalZero [--disable-mconf], 136*10465441SEvalZero [mconf, the traditional ncurses-based frontend (default=auto)])]) 137*10465441SEvalZeroAC_SUBST([enable_mconf], [${enable_mconf:-auto}]) 138*10465441SEvalZeroAC_ARG_ENABLE( 139*10465441SEvalZero [nconf], 140*10465441SEvalZero [AS_HELP_STRING( 141*10465441SEvalZero [--disable-nconf], 142*10465441SEvalZero [nconf, the modern ncurses-based frontend (default=auto)])]) 143*10465441SEvalZeroAC_SUBST([enable_nconf], [${enable_nconf:-auto}]) 144*10465441SEvalZeroAC_ARG_ENABLE( 145*10465441SEvalZero [gconf], 146*10465441SEvalZero [AS_HELP_STRING( 147*10465441SEvalZero [--disable-gconf], 148*10465441SEvalZero [gconf, the GTK-based frontend (default=auto)])]) 149*10465441SEvalZeroAC_SUBST([enable_gconf], [${enable_gconf:-auto}]) 150*10465441SEvalZeroAC_ARG_ENABLE( 151*10465441SEvalZero [qconf], 152*10465441SEvalZero [AS_HELP_STRING( 153*10465441SEvalZero [--disable-qconf], 154*10465441SEvalZero [qconf, the QT-based frontend (default=auto)])]) 155*10465441SEvalZeroAC_SUBST([enable_qconf], [${enable_qconf:-auto}]) 156*10465441SEvalZero 157*10465441SEvalZeroAC_ARG_ENABLE( 158*10465441SEvalZero [frontends], 159*10465441SEvalZero [AS_HELP_STRING( 160*10465441SEvalZero [--enable-frontends=list], 161*10465441SEvalZero [enables only the set of frontends in comma-separated 'list' 162*10465441SEvalZero (default: auto selection), takes precedence over all 163*10465441SEvalZero --enable-*conf, above])], 164*10465441SEvalZero [for f in conf mconf nconf gconf qconf; do 165*10465441SEvalZero AS_CASE( 166*10465441SEvalZero ["$enableval"], 167*10465441SEvalZero [yes], [eval enable_$f=yes], 168*10465441SEvalZero ["$f"], [eval enable_$f=yes], 169*10465441SEvalZero ["$f",*], [eval enable_$f=yes], 170*10465441SEvalZero [*,"$f"], [eval enable_$f=yes], 171*10465441SEvalZero [*,"$f",*], [eval enable_$f=yes], 172*10465441SEvalZero [eval enable_$f=no]) 173*10465441SEvalZero done]) 174*10465441SEvalZeroAC_SUBST([enable_frontends]) 175*10465441SEvalZero 176*10465441SEvalZero#---------------------------------------- 177*10465441SEvalZero# What extra CFLAGS we will be using 178*10465441SEvalZeroAC_SUBST([kf_CFLAGS], ["$wall_CFLAGS $werror_CFLAGS"]) 179*10465441SEvalZero 180*10465441SEvalZero#---------------------------------------- 181*10465441SEvalZero# Dependencies that will be needed, depending on the frontends 182*10465441SEvalZeroAS_CASE( 183*10465441SEvalZero ["$enable_mconf":"$enable_nconf"], 184*10465441SEvalZero [*yes*], [need_curses=yes], 185*10465441SEvalZero [*auto*], [need_curses=auto], 186*10465441SEvalZero [need_curses=no]) 187*10465441SEvalZero[need_panel_menu="$enable_nconf"] 188*10465441SEvalZeroAS_CASE( 189*10465441SEvalZero ["$enable_gconf":"$enable_qconf"], 190*10465441SEvalZero [*yes*], [need_pkgconfig=yes], 191*10465441SEvalZero [*auto*], [need_pkgconfig=yes], 192*10465441SEvalZero [need_pkgconfig=no ]) 193*10465441SEvalZero[need_gtk="$enable_gconf"] 194*10465441SEvalZero[need_qt="$enable_qconf"] 195*10465441SEvalZero 196*10465441SEvalZero#--------------------------------------------------------------------------- 197*10465441SEvalZero# Now check we have the required stuff 198*10465441SEvalZero 199*10465441SEvalZero#---------------------------------------- 200*10465441SEvalZero# Some program checks 201*10465441SEvalZeroAC_PROG_CC 202*10465441SEvalZeroAM_PROG_CC_C_O 203*10465441SEvalZeroAC_PROG_CXX 204*10465441SEvalZeroAC_C_INLINE 205*10465441SEvalZeroAC_PROG_MAKE_SET 206*10465441SEvalZeroAS_IF( 207*10465441SEvalZero [test "$need_pkgconfig" = "yes"], 208*10465441SEvalZero [PKG_PROG_PKG_CONFIG()]) 209*10465441SEvalZero# Look for `lex'. If it cannot be found, autoconf sets $LEX to ':'. 210*10465441SEvalZeroAC_PROG_LEX 211*10465441SEvalZeroAS_IF( 212*10465441SEvalZero [test "$LEX" = ":"], 213*10465441SEvalZero [AC_MSG_ERROR([can not find a lexer generator (such as lex or flex)])]) 214*10465441SEvalZeroAC_SUBST([AM_LFLAGS], ["-L -P zconf"]) 215*10465441SEvalZero# Look for `yacc'. If it cannot be found, autoconf sets $YACC to 'yacc'. 216*10465441SEvalZeroAC_PROG_YACC 217*10465441SEvalZeroAS_IF( 218*10465441SEvalZero [test "$YACC" = "yacc"], 219*10465441SEvalZero [AC_CHECK_PROGS( 220*10465441SEvalZero [YACC_IN_PATH], 221*10465441SEvalZero [yacc])] 222*10465441SEvalZero AS_IF( 223*10465441SEvalZero [test -z "$YACC_IN_PATH"], 224*10465441SEvalZero [AC_MSG_ERROR([can not find a parser generator (such as yacc or bison)])])) 225*10465441SEvalZeroAC_SUBST([AM_YFLAGS], ["-t -l -p zconf"]) 226*10465441SEvalZero 227*10465441SEvalZero#---------------------------------------- 228*10465441SEvalZero# Special section to check for gperf. 229*10465441SEvalZeroAC_CHECK_PROGS( 230*10465441SEvalZero [GPERF], 231*10465441SEvalZero [gperf]) 232*10465441SEvalZeroAS_IF( 233*10465441SEvalZero [test -z "$GPERF"], 234*10465441SEvalZero [AC_MSG_ERROR([can not find gperf])]) 235*10465441SEvalZero 236*10465441SEvalZero# gperf 3.1 generates functions with 'size_t' instead of 'unsigned int' 237*10465441SEvalZeroAC_MSG_CHECKING([for the type used in gperf declarations]) 238*10465441SEvalZeroGPERF_LEN_TYPE= 239*10465441SEvalZeroAS_VAR_SET( 240*10465441SEvalZero [GPERF_PROLOG], 241*10465441SEvalZero [`echo foo,bar | ${GPERF} -L ANSI-C`]) 242*10465441SEvalZeroAC_COMPILE_IFELSE( 243*10465441SEvalZero [AC_LANG_PROGRAM( 244*10465441SEvalZero [[ 245*10465441SEvalZero #include <string.h> 246*10465441SEvalZero ${GPERF_PROLOG} 247*10465441SEvalZero const char * in_word_set(const char *, size_t); 248*10465441SEvalZero ]]) 249*10465441SEvalZero ], 250*10465441SEvalZero [GPERF_LEN_TYPE='size_t'], 251*10465441SEvalZero [ 252*10465441SEvalZero AC_COMPILE_IFELSE( 253*10465441SEvalZero [AC_LANG_PROGRAM( 254*10465441SEvalZero [[ 255*10465441SEvalZero #include <string.h> 256*10465441SEvalZero ${GPERF_PROLOG} 257*10465441SEvalZero const char * in_word_set(const char *, unsigned int); 258*10465441SEvalZero ]]) 259*10465441SEvalZero ], 260*10465441SEvalZero [GPERF_LEN_TYPE='unsigned int'], 261*10465441SEvalZero [AC_MSG_RESULT([not size_t, not unsigned int. What else?]) 262*10465441SEvalZero AC_MSG_FAILURE([unable to detect the type used in gperf declarations]) 263*10465441SEvalZero ])]) 264*10465441SEvalZeroAC_MSG_RESULT([${GPERF_LEN_TYPE}]) 265*10465441SEvalZeroAC_SUBST([GPERF_LEN_TYPE]) 266*10465441SEvalZero 267*10465441SEvalZero#---------------------------------------- 268*10465441SEvalZero# Check for gettext, for the kconfig frontends 269*10465441SEvalZero[has_gettext="$enable_L10n"] 270*10465441SEvalZeroAS_IF( 271*10465441SEvalZero [test "$has_gettext" = "yes"], 272*10465441SEvalZero [AC_CHECK_HEADERS( 273*10465441SEvalZero [libintl.h], 274*10465441SEvalZero [ac_ct_gettext_hdr=$ac_header; break], 275*10465441SEvalZero [has_gettext=no])]) 276*10465441SEvalZeroAS_IF( 277*10465441SEvalZero [test "$has_gettext" = "yes"], 278*10465441SEvalZero [AC_CHECK_DECL( 279*10465441SEvalZero [gettext],, 280*10465441SEvalZero [has_gettext=no], 281*10465441SEvalZero [#include <$ac_ct_gettext_hdr>])]) 282*10465441SEvalZeroAS_IF( 283*10465441SEvalZero [test "$has_gettext" = "yes"], 284*10465441SEvalZero [LIBS_old="$LIBS" 285*10465441SEvalZero LIBS= 286*10465441SEvalZero AC_SEARCH_LIBS( 287*10465441SEvalZero [gettext], 288*10465441SEvalZero [intl],, 289*10465441SEvalZero [has_gettext=no]) 290*10465441SEvalZero intl_LIBS="$LIBS" 291*10465441SEvalZero LIBS="$LIBS_old"]) 292*10465441SEvalZeroAS_IF( 293*10465441SEvalZero [test "$has_gettext" = "no"], 294*10465441SEvalZero [intl_CPPFLAGS=-DKBUILD_NO_NLS]) 295*10465441SEvalZeroAC_SUBST([intl_CPPFLAGS]) 296*10465441SEvalZeroAC_SUBST([intl_LIBS]) 297*10465441SEvalZero 298*10465441SEvalZero#---------------------------------------- 299*10465441SEvalZero# Check for ncurses, for the mconf & nconf frontends 300*10465441SEvalZeroAS_IF( 301*10465441SEvalZero [test "$need_curses" = "yes" -o "$need_curses" = "auto"], 302*10465441SEvalZero [AC_SUBST([ncurses_mconf_CPPFLAGS]) 303*10465441SEvalZero AC_SUBST([ncurses_LIBS]) 304*10465441SEvalZero LIBS_old="$LIBS" 305*10465441SEvalZero LIBS= 306*10465441SEvalZero AC_CHECK_HEADERS( 307*10465441SEvalZero [ncursesw/curses.h ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h], 308*10465441SEvalZero [CURSES_LOC=$ac_header 309*10465441SEvalZero ncurses_mconf_CPPFLAGS=-DCURSES_LOC=\\\"$ac_header\\\" 310*10465441SEvalZero break # Stupid syntax-coloring in vim: "]) 311*10465441SEvalZero AS_IF( 312*10465441SEvalZero [test -z "$CURSES_LOC"], 313*10465441SEvalZero [AS_IF( 314*10465441SEvalZero [test "$need_curses" = "yes"], 315*10465441SEvalZero [AC_MSG_ERROR([could not find curses headers (frontends: mconf/nconf)])], 316*10465441SEvalZero [has_curses=no])]) 317*10465441SEvalZero AS_CASE( 318*10465441SEvalZero [$CURSES_LOC], 319*10465441SEvalZero [ncursesw/*],[ncurses_mconf_CPPFLAGS="$ncurses_mconf_CPPFLAGS -DNCURSES_WIDECHAR=1"]) 320*10465441SEvalZero AC_SEARCH_LIBS( 321*10465441SEvalZero [setupterm], 322*10465441SEvalZero [tinfo], 323*10465441SEvalZero [break]) 324*10465441SEvalZero AC_SEARCH_LIBS( 325*10465441SEvalZero [initscr], 326*10465441SEvalZero [ncursesw ncurses curses], 327*10465441SEvalZero [ac_ct_curses_lib_found=yes; break]) 328*10465441SEvalZero AS_IF( 329*10465441SEvalZero [test -z "$ac_ct_curses_lib_found"], 330*10465441SEvalZero [AS_IF( 331*10465441SEvalZero [test "$need_curses" = "yes"], 332*10465441SEvalZero [AC_MSG_ERROR([could not find curses library (frontends: mconf/nconf)])], 333*10465441SEvalZero [has_curses=no])]) 334*10465441SEvalZero ncurses_LIBS="$LIBS" 335*10465441SEvalZero LIBS=$LIBS_old]) 336*10465441SEvalZero 337*10465441SEvalZeroAS_IF( 338*10465441SEvalZero [test "$has_curses" = "no" ], 339*10465441SEvalZero [enable_mconf=no; enable_nconf=no]) 340*10465441SEvalZero 341*10465441SEvalZero#---------------------------------------- 342*10465441SEvalZero# Check for libpanel and libmenu, for the nconf frontend 343*10465441SEvalZeroAS_IF( 344*10465441SEvalZero [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"], 345*10465441SEvalZero [AC_SUBST([ncurses_nconf_CPPFLAGS]) 346*10465441SEvalZero AC_SUBST([ncurses_panel_menu_LIBS]) 347*10465441SEvalZero AS_CASE( 348*10465441SEvalZero [$CURSES_LOC], 349*10465441SEvalZero [ncursesw/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncursesw"], 350*10465441SEvalZero [ncurses/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncurses"]) 351*10465441SEvalZero LIBS_old="$LIBS" 352*10465441SEvalZero LIBS= 353*10465441SEvalZero AC_SEARCH_LIBS( 354*10465441SEvalZero [new_panel], 355*10465441SEvalZero [panelw panel], 356*10465441SEvalZero [ac_ct_panel_lib_found=yes; break],, 357*10465441SEvalZero [$ncurses_LIBS]) 358*10465441SEvalZero AS_IF( 359*10465441SEvalZero [test -z "$ac_ct_panel_lib_found"], 360*10465441SEvalZero [AS_IF( 361*10465441SEvalZero [test "$need_panel_menu" = "yes"], 362*10465441SEvalZero [AC_MSG_ERROR([could not find libpanel library (frontend: nconf)])], 363*10465441SEvalZero [has_panel_menu=no])]) 364*10465441SEvalZero AC_SEARCH_LIBS( 365*10465441SEvalZero [menu_init], 366*10465441SEvalZero [menuw menu], 367*10465441SEvalZero [ac_ct_menu_lib_found=yes; break],, 368*10465441SEvalZero [$ncurses_LIBS]) 369*10465441SEvalZero AS_IF( 370*10465441SEvalZero [test -z "$ac_ct_panel_lib_found"], 371*10465441SEvalZero [AS_IF( 372*10465441SEvalZero [test "$need_panel_menu" = "yes"], 373*10465441SEvalZero [AC_MSG_ERROR([could not find libmenu library (frontend: nconf)])], 374*10465441SEvalZero [has_panel_menu=no])]) 375*10465441SEvalZero ncurses_panel_menu_LIBS="$LIBS" 376*10465441SEvalZero LIBS=$LIBS_old]) 377*10465441SEvalZero 378*10465441SEvalZeroAS_IF( 379*10465441SEvalZero [test "$has_panel_menu" = "no" ], 380*10465441SEvalZero [enable_nconf=no]) 381*10465441SEvalZero 382*10465441SEvalZero#---------------------------------------- 383*10465441SEvalZero# Check headers and libs for gconf 384*10465441SEvalZeroAS_IF( 385*10465441SEvalZero [test "$need_gtk" = "yes" -o "$need_gtk" = "auto"], 386*10465441SEvalZero [PKG_CHECK_MODULES( 387*10465441SEvalZero [gtk], 388*10465441SEvalZero [gtk+-2.0 gmodule-2.0 libglade-2.0], 389*10465441SEvalZero [has_gtk=yes], 390*10465441SEvalZero [AS_IF( 391*10465441SEvalZero [test "$need_gtk" = "yes"], 392*10465441SEvalZero [AC_MSG_ERROR([could not find GTK+ headers and/or libraries (frontend: gconf)])], 393*10465441SEvalZero [has_gtk=no])])]) 394*10465441SEvalZero 395*10465441SEvalZeroAS_IF( 396*10465441SEvalZero [test "$has_gtk" = "no" ], 397*10465441SEvalZero [enable_gconf=no]) 398*10465441SEvalZero 399*10465441SEvalZero#---------------------------------------- 400*10465441SEvalZero# Check headers and libs for qconf 401*10465441SEvalZeroAS_IF( 402*10465441SEvalZero [test "$need_qt" = "yes" -o "$need_qt" = "auto"], 403*10465441SEvalZero [PKG_CHECK_MODULES( 404*10465441SEvalZero [Qt5], 405*10465441SEvalZero [Qt5Core Qt5Gui Qt5Widgets], 406*10465441SEvalZero [has_qt=yes; need_moc="$need_qt"], 407*10465441SEvalZero [AS_IF( 408*10465441SEvalZero [test "$need_qt" = "yes"], 409*10465441SEvalZero [AC_MSG_ERROR([could not find Qt5 headers and/or libraries (frontend: qconf)])], 410*10465441SEvalZero [has_qt=no; need_moc=no])])]) 411*10465441SEvalZero 412*10465441SEvalZeroAC_ARG_VAR([MOC], [Qt5 meta object compiler (moc) command]) 413*10465441SEvalZeroAS_IF( 414*10465441SEvalZero [test "$need_moc" = "yes" -o "$need_moc" = "auto"], 415*10465441SEvalZero [QT5_BINDIR=`$PKG_CONFIG Qt5Core --variable host_bins` 416*10465441SEvalZero AC_PATH_PROGS( 417*10465441SEvalZero [MOC], 418*10465441SEvalZero [moc-qt5 moc],, 419*10465441SEvalZero [$QT5_BINDIR:$PATH]) 420*10465441SEvalZero AS_IF( 421*10465441SEvalZero [test -n "$MOC"], 422*10465441SEvalZero [has_moc=yes], 423*10465441SEvalZero [AS_IF( 424*10465441SEvalZero [test "$need_moc" = "yes"], 425*10465441SEvalZero [AC_MSG_ERROR([could not find moc (frontend: qconf)])], 426*10465441SEvalZero [has_moc=no])])]) 427*10465441SEvalZero 428*10465441SEvalZeroAS_IF( 429*10465441SEvalZero [test "$has_qt" = "no" -o "$has_moc" = "no"], 430*10465441SEvalZero [enable_qconf=no]) 431*10465441SEvalZero 432*10465441SEvalZero#---------------------------------------- 433*10465441SEvalZero# Per-frontends extra libraries 434*10465441SEvalZeroAC_ARG_VAR([conf_EXTRA_LIBS], [Extra libraries to build the conf frontend] ) 435*10465441SEvalZeroAC_ARG_VAR([gconf_EXTRA_LIBS], [Extra libraries to build the gconf frontend]) 436*10465441SEvalZeroAC_ARG_VAR([mconf_EXTRA_LIBS], [Extra libraries to build the mconf frontend]) 437*10465441SEvalZeroAC_ARG_VAR([nconf_EXTRA_LIBS], [Extra libraries to build the nconf frontend]) 438*10465441SEvalZeroAC_ARG_VAR([qconf_EXTRA_LIBS], [Extra libraries to build the qconf frontend]) 439*10465441SEvalZero 440*10465441SEvalZero#--------------------------------------------------------------------------- 441*10465441SEvalZero# Now, we know what frontends to enable 442*10465441SEvalZeroAS_IF([test "$enable_conf" = "auto"], [enable_conf=yes ]) 443*10465441SEvalZeroAS_IF([test "$enable_gconf" = "auto"], [enable_gconf=yes]) 444*10465441SEvalZeroAS_IF([test "$enable_mconf" = "auto"], [enable_mconf=yes]) 445*10465441SEvalZeroAS_IF([test "$enable_nconf" = "auto"], [enable_nconf=yes]) 446*10465441SEvalZeroAS_IF([test "$enable_qconf" = "auto"], [enable_qconf=yes]) 447*10465441SEvalZero 448*10465441SEvalZero#---------------------------------------- 449*10465441SEvalZero# Check if the lxdialog library should be built 450*10465441SEvalZeroAS_IF( 451*10465441SEvalZero [test "$enable_mconf" = "yes"], 452*10465441SEvalZero [need_lxdialog=yes], 453*10465441SEvalZero [need_lxdialog=no]) 454*10465441SEvalZero 455*10465441SEvalZero#---------------------------------------- 456*10465441SEvalZero# Check if the images library should be built 457*10465441SEvalZeroAS_IF( 458*10465441SEvalZero [test "$enable_gconf" = "yes" -o "$enable_qconf" = "yes"], 459*10465441SEvalZero [need_images=yes], 460*10465441SEvalZero [need_images=no]) 461*10465441SEvalZero 462*10465441SEvalZero#---------------------------------------- 463*10465441SEvalZero# Setup automake conditional build 464*10465441SEvalZeroAM_CONDITIONAL( 465*10465441SEvalZero [COND_kconfig], 466*10465441SEvalZero [test "$enable_kconfig" = "yes"]) 467*10465441SEvalZeroAM_CONDITIONAL( 468*10465441SEvalZero [COND_conf], 469*10465441SEvalZero [test "$enable_conf" = "yes"]) 470*10465441SEvalZeroAM_CONDITIONAL( 471*10465441SEvalZero [COND_mconf], 472*10465441SEvalZero [test "$enable_mconf" = "yes"]) 473*10465441SEvalZeroAM_CONDITIONAL( 474*10465441SEvalZero [COND_nconf], 475*10465441SEvalZero [test "$enable_nconf" = "yes"]) 476*10465441SEvalZeroAM_CONDITIONAL( 477*10465441SEvalZero [COND_gconf], 478*10465441SEvalZero [test "$enable_gconf" = "yes"]) 479*10465441SEvalZeroAM_CONDITIONAL( 480*10465441SEvalZero [COND_qconf], 481*10465441SEvalZero [test "$enable_qconf" = "yes"]) 482*10465441SEvalZeroAM_CONDITIONAL( 483*10465441SEvalZero [COND_lxdialog], 484*10465441SEvalZero [test "$need_lxdialog" = "yes"]) 485*10465441SEvalZeroAM_CONDITIONAL( 486*10465441SEvalZero [COND_images], 487*10465441SEvalZero [test "$need_images" = "yes"]) 488*10465441SEvalZeroAM_CONDITIONAL( 489*10465441SEvalZero [COND_utils], 490*10465441SEvalZero [test "$enable_utils" = "yes"]) 491*10465441SEvalZeroAM_CONDITIONAL( 492*10465441SEvalZero [COND_utils_gettext], 493*10465441SEvalZero [test "$has_gettext" = "yes"]) 494*10465441SEvalZero 495*10465441SEvalZero#---------------------------------------- 496*10465441SEvalZero# Get the version to apply to the parser shared library 497*10465441SEvalZeroAC_SUBST( 498*10465441SEvalZero [KCONFIGPARSER_LIB_VERSION], 499*10465441SEvalZero [m4_esyscmd_s([./scripts/version.sh --plain])]) 500*10465441SEvalZero 501*10465441SEvalZero#---------------------------------------- 502*10465441SEvalZero# Pretty-print the configuration settings 503*10465441SEvalZero[fe_list=] 504*10465441SEvalZeroAS_IF([test "$enable_conf" = "yes"], [fe_list="$fe_list conf" ]) 505*10465441SEvalZeroAS_IF([test "$enable_gconf" = "yes"], [fe_list="$fe_list gconf"]) 506*10465441SEvalZeroAS_IF([test "$enable_mconf" = "yes"], [fe_list="$fe_list mconf"]) 507*10465441SEvalZeroAS_IF([test "$enable_nconf" = "yes"], [fe_list="$fe_list nconf"]) 508*10465441SEvalZeroAS_IF([test "$enable_qconf" = "yes"], [fe_list="$fe_list qconf"]) 509*10465441SEvalZero# The meta frontend is handled separatly, below, because we do not 510*10465441SEvalZero# want it in the list of tools, kcfg_list. 511*10465441SEvalZero 512*10465441SEvalZero[kcfg_list="$fe_list"] 513*10465441SEvalZeroAS_IF([test "$enable_utils" = "yes"], [kcfg_list="$kcfg_list diff merge tweak"]) 514*10465441SEvalZeroAS_IF([test "$has_gettext" = "yes"], [kcfg_list="$kcfg_list gettext"]) 515*10465441SEvalZeroAC_SUBST([kcfg_list], [${kcfg_list}]) 516*10465441SEvalZero 517*10465441SEvalZeroAS_IF([test "$enable_kconfig" = "yes"], [fe_list=" kconfig$fe_list"]) 518*10465441SEvalZero 519*10465441SEvalZero[lib_list=] 520*10465441SEvalZeroAS_IF( 521*10465441SEvalZero [test "$enable_shared" = "yes"], 522*10465441SEvalZero [lib_list="$lib_list shared (version: $KCONFIGPARSER_LIB_VERSION)"]) 523*10465441SEvalZeroAS_IF( 524*10465441SEvalZero [test "$enable_static" = "yes"], 525*10465441SEvalZero [lib_list="$lib_list${lib_list:+,} static"]) 526*10465441SEvalZero 527*10465441SEvalZero#---------------------------------------- 528*10465441SEvalZero# Finalise 529*10465441SEvalZero# All generated files are generated by a Makefile rule, except Makefile 530*10465441SEvalZero# itself of course. 531*10465441SEvalZero# There is no generic solution in automake to generate a file from its 532*10465441SEvalZero# .in source, so we'd have to provide custom, hand-made rules, which is 533*10465441SEvalZero# not nice. So, we handle libs/parser/kconfig-parser.pc here. 534*10465441SEvalZeroAC_CONFIG_FILES([ 535*10465441SEvalZero Makefile 536*10465441SEvalZero libs/parser/kconfig-parser.pc 537*10465441SEvalZero]) 538*10465441SEvalZeroAC_OUTPUT 539*10465441SEvalZero 540*10465441SEvalZeroAC_MSG_NOTICE() 541*10465441SEvalZeroAC_MSG_NOTICE([Configured with:]) 542*10465441SEvalZeroAC_MSG_NOTICE([- parser library :$lib_list]) 543*10465441SEvalZeroAC_MSG_NOTICE([ - root-menu prompt : $root_menu]) 544*10465441SEvalZeroAC_MSG_NOTICE([ - config prefix : $config_prefix]) 545*10465441SEvalZeroAC_MSG_NOTICE([- frontends :$fe_list]) 546*10465441SEvalZeroAC_MSG_NOTICE([ - localised : $has_gettext]) 547*10465441SEvalZeroAC_MSG_NOTICE([- install utilities : $enable_utils]) 548*10465441SEvalZeroAC_MSG_NOTICE([- CFLAGS CXXFLAGS : $wall_CFLAGS $werror_CFLAGS]) 549