configure: don't check headers/functions unnecessarily
authorBartosz Golaszewski <bartekgola@gmail.com>
Fri, 20 Jan 2017 16:22:20 +0000 (17:22 +0100)
committerBartosz Golaszewski <bartekgola@gmail.com>
Fri, 20 Jan 2017 16:22:20 +0000 (17:22 +0100)
Only check functions & headers required by tools if we're actually
building them.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
configure.ac

index 4d458febf15cf8a8086494baada0a9ae107cde37..0b5f15b05352fba4f78ac5d105c26767703f7b4f 100644 (file)
@@ -24,43 +24,46 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_CONFIG_SRCDIR([src])
 AC_CONFIG_HEADER([config.h])
 
-AC_ARG_ENABLE([tools],
-       [AC_HELP_STRING([--enable-tools],
-               [enable libgpiod command-line tools [default=no]])],
-       [
-               if test "x$enableval" = xyes
-               then
-                       with_tools=true
-               else
-                       with_tools=false
-               fi
-       ],
-       [with_tools = false])
-AM_CONDITIONAL([WITH_TOOLS], [test x$with_tools = xtrue])
-
 AM_PROG_AR
 AC_PROG_CC
 AC_PROG_LIBTOOL
 AC_PROG_INSTALL
 
+# This is always checked (library needs this)
 AC_HEADER_STDC
-
+AC_FUNC_MALLOC
 AC_CHECK_FUNC([ioctl], [], [AC_MSG_ERROR([ioctl() unavailable])])
 AC_CHECK_FUNC([asprintf], [], [AC_MSG_ERROR([asprintf() unavailable])])
 AC_CHECK_FUNC([readdir], [], [AC_MSG_ERROR([readdir() unavailable])])
 AC_CHECK_FUNC([ppoll], [], [AC_MSG_ERROR([ppoll() unavailable])])
-AC_CHECK_FUNC([basename], [], [AC_MSG_ERROR([basename() unavailable])])
-AC_CHECK_FUNC([daemon], [], [AC_MSG_ERROR([daemon() unavailable])])
-AC_CHECK_FUNC([signalfd], [], [AC_MSG_ERROR([signalfd() unavailable])])
-
-AC_FUNC_MALLOC
-
 AC_CHECK_HEADERS([getopt.h], [], [AC_MSG_ERROR([getopt.h header not found])])
 AC_CHECK_HEADERS([stdint.h], [], [AC_MSG_ERROR([stdint.h header not found])])
 AC_CHECK_HEADERS([dirent.h], [], [AC_MSG_ERROR([dirent.h header not found])])
 AC_CHECK_HEADERS([sys/poll.h], [], [AC_MSG_ERROR([sys/poll.h header not found])])
 AC_CHECK_HEADERS([linux/gpio.h], [], [AC_MSG_ERROR([linux/gpio.h header not found])])
-AC_CHECK_HEADERS([sys/signalfd.h], [], [AC_MSG_ERROR([sys/signalfd.h header not found])])
+
+AC_ARG_ENABLE([tools],
+       [AC_HELP_STRING([--enable-tools],
+               [enable libgpiod command-line tools [default=no]])],
+       [
+               if test "x$enableval" = xyes
+               then
+                       with_tools=true
+               else
+                       with_tools=false
+               fi
+       ],
+       [with_tools = false])
+AM_CONDITIONAL([WITH_TOOLS], [test x$with_tools = xtrue])
+
+if test "x$with_tools" = xtrue
+then
+       # These are only needed to build tools
+       AC_CHECK_FUNC([basename], [], [AC_MSG_ERROR([basename() unavailable])])
+       AC_CHECK_FUNC([daemon], [], [AC_MSG_ERROR([daemon() unavailable])])
+       AC_CHECK_FUNC([signalfd], [], [AC_MSG_ERROR([signalfd() unavailable])])
+       AC_CHECK_HEADERS([sys/signalfd.h], [], [AC_MSG_ERROR([sys/signalfd.h header not found])])
+fi
 
 AC_CHECK_PROG([has_doxygen], [doxygen], [true], [false])
 AM_CONDITIONAL([HAS_DOXYGEN], [test x$has_doxygen = xtrue])