From 137010fde2a9e6892a3ce962fe8d8570aac8aabf Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 26 Feb 2012 18:17:09 +0100 Subject: [PATCH] configure: change the order in which tests are made Signed-off-by: "Yann E. MORIN" --- .hgignore | 4 +- Makefile.am | 1 + configure.ac | 135 +++++++++++++++++++++++++-------------------------- 3 files changed, 67 insertions(+), 73 deletions(-) diff --git a/.hgignore b/.hgignore index 2d0f36c..476e1dc 100644 --- a/.hgignore +++ b/.hgignore @@ -20,8 +20,6 @@ frontends/*/.libs aclocal.m4 configure -config.h -config.h.in config.log config.status libtool @@ -32,4 +30,4 @@ stamp-h1 .deps/ autom4te.cache/ -scripts/ +scripts/.autostuff diff --git a/Makefile.am b/Makefile.am index aad98af..e21bc18 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1 +1,2 @@ +ACLOCAL_AMFLAGS = -I scripts/.autostuff/m4 SUBDIRS = libs frontends diff --git a/configure.ac b/configure.ac index 5312032..d7f0a2f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,11 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. +#--------------------------------------------------------------------------- +# Global initialisation + +#---------------------------------------- +# Prepare autoconf AC_PREREQ([2.67]) AC_INIT( [kconfig-frontends], @@ -8,41 +13,20 @@ AC_INIT( [nobody@nowhere.org]) AC_CONFIG_SRCDIR([frontends/conf/conf.c]) # Use a config.h to avoid brazilions -DHAVE_FOO on compile lines -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_AUX_DIR([scripts]) - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_MAKE_SET +AC_CONFIG_HEADERS([scripts/.autostuff/config.h]) +AC_CONFIG_AUX_DIR([scripts/.autostuff/scritps]) +AC_CONFIG_MACRO_DIR([scripts/.autostuff/m4]) -# Checks for libraries. -# (none) - -# Checks for header files. -AC_HEADER_STDC -# The folowing AC_CHECK_HEADERS was a single big line -AC_CHECK_HEADERS([ fcntl.h libintl.h limits.h locale.h ]) -AC_CHECK_HEADERS([ stdlib.h string.h sys/time.h unistd.h ]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_HEADER_STDBOOL -AC_C_INLINE -AC_TYPE_SIZE_T +#---------------------------------------- +# Prepare automake +AM_INIT_AUTOMAKE -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_FUNC_ALLOCA -# The following AC_CHECK_FUNCS was a single big line -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 ]) +#---------------------------------------- +# Prepare libtool +LT_PREREQ([2.2.6]) +LT_INIT([disable-static]) -# End of the autoscan-detected stuff #--------------------------------------------------------------------------- - -#---------------------------------------- # Set misc options # Although there is a default (="linux") in the code, we do provide # a default here, to get a consistent autostuff behavior @@ -124,19 +108,63 @@ AC_ARG_ENABLE( done]) AC_SUBST([enable_frontends]) +#---------------------------------------- +# Dependencies that will be needed, depending on the frontends +AS_CASE( + ["$enable_mconf":"$enable_nconf"], + [*yes*], [need_curses=yes], + [*auto*], [need_curses=auto], + [need_curses=no]) +[need_panel_menu="$enable_nconf"] +AS_CASE( + ["$enable_gconf":"$enable_qconf"], + [*yes*], [need_pkgconfig=yes], + [*auto*], [need_pkgconfig=yes], + [need_pkgconfig=no ]) +[need_gtk="$enable_gconf"] +[need_qt="$enable_qconf"] + +#--------------------------------------------------------------------------- +# Now check we have the required stuff + #---------------------------------------- # Some program checks -AC_PROG_LEX -AC_PROG_YACC +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_CXX +AC_C_INLINE +AC_PROG_MAKE_SET AC_CHECK_PROGS( [GPERF], [gperf]) AS_IF( [test -z "$GPERF"], [AC_MSG_ERROR([can not find gperf])]) +AS_IF( + [test "$need_pkgconfig" = "yes"], + [PKG_PROG_PKG_CONFIG()]) +AC_PROG_LEX AC_SUBST([AM_LFLAGS], ["-L -P zconf"]) +AC_PROG_YACC 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([ 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 AC_SUBST([GETTEXT]) @@ -154,14 +182,6 @@ AS_IF( #---------------------------------------- # Check for ncurses, for the mconf & nconf frontends -AS_CASE( - ["$enable_mconf":"$enable_nconf"], - [yes:*], [need_curses=yes], - [*:yes], [need_curses=yes], - [auto:*], [need_curses=auto], - [*:auto], [need_curses=auto], - [need_curses=no]) - AS_IF( [test "$need_curses" = "yes" -o "$need_curses" = "auto"], [AC_SUBST([CURSES_LOC]) @@ -195,8 +215,6 @@ AS_IF( #---------------------------------------- # Check for libpanel and libmenu, for the nconf frontend -[need_panel_menu="$enable_nconf"] - AS_IF( [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"], [AC_SUBST([ncurses_extra_LIBS]) @@ -228,24 +246,8 @@ AS_IF( [test "$has_panel_menu" = "no" ], [enable_nconf=no]) -#---------------------------------------- -# Check pkg-config if needed -AS_CASE( - ["$enable_gconf":"$enable_qconf"], - [yes:*], [need_pkgconfig=yes], - [*:yes], [need_pkgconfig=yes], - [auto:*], [need_pkgconfig=yes], - [*:auto], [need_pkgconfig=yes], - [need_pkgconfig=no ]) - -AS_IF( - [test "$need_pkgconfig" = "yes"], - [PKG_PROG_PKG_CONFIG()]) - #---------------------------------------- # Check headers and libs for gconf -[need_gtk="$enable_gconf"] - AS_IF( [test "$need_gtk" = "yes" -o "$need_gtk" = "auto"], [PKG_CHECK_MODULES( @@ -262,9 +264,7 @@ AS_IF( [enable_gconf=no]) #---------------------------------------- -# Check headers and libs for gconf -[need_qt="$enable_qconf"] - +# Check headers and libs for qconf AS_IF( [test "$need_qt" = "yes" -o "$need_qt" = "auto"], [PKG_CHECK_MODULES( @@ -295,10 +295,8 @@ AS_IF( [need_lxdialog=yes], [need_lxdialog=no]) -#--------------------------------------------------------------------------- -# Prepare automake -AM_INIT_AUTOMAKE -AM_PROG_CC_C_O +#---------------------------------------- +# Setup automake conditional build AM_CONDITIONAL( [COND_conf], [test "$enable_conf" = "yes"]) @@ -318,10 +316,6 @@ AM_CONDITIONAL( [COND_lxdialog], [test "$need_lxdialog" = "yes"]) -#--------------------------------------------------------------------------- -# Prepare libtool -LT_INIT([disable-static]) - #---------------------------------------- # Get the version to apply to the parser shared library AC_SUBST( @@ -345,6 +339,7 @@ AC_CONFIG_FILES([ ]) AC_OUTPUT +AC_MSG_NOTICE() AC_MSG_NOTICE([Configured with:]) AC_MSG_NOTICE([- package name: '$package_name']) AC_MSG_NOTICE([- config prefix: '$config_prefix']) -- 2.39.5