]> git.sur5r.net Git - kconfig-frontends/commitdiff
configure: check for sys/queue.h and CIRCLEQ_XXX
authorYann E. MORIN" <yann.morin.1998@free.fr>
Wed, 17 Oct 2012 22:31:53 +0000 (00:31 +0200)
committerYann E. MORIN" <yann.morin@orange.com>
Wed, 17 Oct 2012 22:31:53 +0000 (00:31 +0200)
mconf and nconf need the CIRCLEQ_XXX macros defined in sys/queue.h, so check
for them, as they are missing on legacy systems (eg. Debian potato).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
configure.ac

index 895cd58cf9f76ebbe9beb5832ded31cd38ac0315..e1bbca02e9741002015288112523048e37047b08 100644 (file)
@@ -176,6 +176,7 @@ 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],
@@ -262,6 +263,36 @@ 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 <sys/queue.h>
+                  #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(