README: Update build requirements list.
[sigrok-cli.git] / configure.ac
index dbfee3f8d91c8b8753ec4f3202e15289c4ac0af7..bada0245336e00e78f7c144a61cffc12ebaf10ae 100644 (file)
@@ -1,5 +1,5 @@
 ##
-## This file is part of the sigrok project.
+## This file is part of the sigrok-cli project.
 ##
 ## Copyright (C) 2010 Bert Vermeulen <bert@biot.com>
 ##
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ##
 
-AC_PREREQ(2.61)
+# We require at least autoconf 2.63 (AC_INIT format changed there).
+AC_PREREQ([2.63])
 
-AC_INIT([sigrok-cli], [0.1], [sigrok-devel@lists.sourceforge.net],
-        [sigrok-cli], [http://www.sigrok.org])
+AC_INIT([sigrok-cli], [0.5.0], [sigrok-devel@lists.sourceforge.net],
+       [sigrok-cli], [http://www.sigrok.org])
 
-AC_CONFIG_SRCDIR([sigrok-cli.c])
+AC_CONFIG_SRCDIR([sigrok-cli.h])
 
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([autostuff])
 AC_CONFIG_AUX_DIR([autostuff])
 
-AM_INIT_AUTOMAKE([-Wall -Werror foreign std-options])
+# We require at least automake 1.11 (needed for 'silent rules').
+AM_INIT_AUTOMAKE([1.11 -Wall -Werror std-options check-news])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 
 AH_TOP([#ifndef SIGROK_CLI_CONFIG_H
 #define SIGROK_CLI_CONFIG_H    /* To stop multiple inclusions. */])
 AH_BOTTOM([#endif /* SIGROK_CLI_CONFIG_H */])
 
-CFLAGS="-g -Wall -Wextra"
+# Enable more compiler warnings via -Wall and -Wextra.
+CFLAGS="$CFLAGS -Wall -Wextra"
 
 # Checks for programs.
 AC_PROG_CC
@@ -51,42 +55,34 @@ LT_INIT
 PKG_PROG_PKG_CONFIG([0.22])
 
 # Checks for libraries.
+AC_ARG_WITH([libsigrokdecode],
+       AS_HELP_STRING([--with-libsigrokdecode],
+                       [compile with libsigrokdecode support]),
+       [WITH_SRD=$withval],[WITH_SRD=yes])
+AM_CONDITIONAL(WITH_SRD, test x$WITH_SRD = xyes)
 
-AM_PATH_GLIB_2_0([2.22.0],
-        [CFLAGS="$CFLAGS $GLIB_CFLAGS"; LIBS="$LIBS $GLIB_LIBS"])
+AM_PATH_GLIB_2_0([2.28.0],
+       [CFLAGS="$CFLAGS $GLIB_CFLAGS"; LIBS="$LIBS $GLIB_LIBS"])
 
-PKG_CHECK_MODULES([libsigrok], [libsigrok],
+PKG_CHECK_MODULES([libsigrok], [libsigrok >= 0.3.0],
        [CFLAGS="$CFLAGS $libsigrok_CFLAGS";
        LIBS="$LIBS $libsigrok_LIBS"])
 
-PKG_CHECK_MODULES([libsigrokdecode], [libsigrokdecode],
-       [CFLAGS="$CFLAGS $libsigrokdecode_CFLAGS";
-       LIBS="$LIBS $libsigrokdecode_LIBS"])
+if test "x$WITH_SRD" = "xyes"; then
+       PKG_CHECK_MODULES([libsigrokdecode], [libsigrokdecode >= 0.3.0],
+               [CFLAGS="$CFLAGS $libsigrokdecode_CFLAGS";
+                       LIBS="$LIBS $libsigrokdecode_LIBS";
+                       AC_DEFINE(HAVE_SRD, [1], [libsigrokdecode is available.])]
+       )
+fi
 
 # Checks for header files.
 # These are already checked: inttypes.h stdint.h stdlib.h string.h unistd.h.
-AC_CHECK_HEADERS([sys/time.h termios.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_INLINE
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-AC_TYPE_SIZE_T
-
-# Checks for library functions.
-AC_CHECK_FUNCS([strcasecmp strchr strerror strstr strtol])
 
 AC_SUBST(MAKEFLAGS, '--no-print-directory')
 AC_SUBST(AM_LIBTOOLFLAGS, '--silent')
 
-AC_CONFIG_FILES([Makefile
-                doc/Makefile])
+AC_CONFIG_FILES([Makefile contrib/sigrok-cli_cross.nsi])
 
 AC_OUTPUT
 
@@ -95,19 +91,25 @@ echo "sigrok-cli configuration summary:"
 echo
 echo "  - Package version: $VERSION"
 echo "  - Prefix: $prefix"
+echo "  - Building on: $build"
+echo "  - Building for: $host"
 echo
 echo "Detected libraries:"
 echo
 
 # Note: This only works for libs with pkg-config integration.
-for lib in "glib-2.0" "libsigrok" "libsigrokdecode"; do
-        if `$PKG_CONFIG --exists $lib`; then
-                ver=`$PKG_CONFIG --modversion $lib`
-                answer="yes ($ver)"
-        else
-                answer="no"
-        fi
-        echo "  - $lib: $answer"
+for lib in "glib-2.0 >= 2.28.0" "libsigrok >= 0.3.0" "libsigrokdecode >= 0.3.0"; do
+       if test "$lib" = "libsigrokdecode" -a "$WITH_SRD" != "yes" ; then
+               answer="no"
+       else
+               if `$PKG_CONFIG --exists $lib`; then
+                       ver=`$PKG_CONFIG --modversion $lib`
+                       answer="yes ($ver)"
+               else
+                       answer="no"
+               fi
+       fi
+       echo "  - (REQUIRED) $lib: $answer"
 done
 
 echo