##
-## 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-git], [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
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)
-PKG_CHECK_MODULES([libsigrok], [libsigrok],
+AM_PATH_GLIB_2_0([2.28.0],
+ [CFLAGS="$CFLAGS $GLIB_CFLAGS"; LIBS="$LIBS $GLIB_LIBS"])
+
+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
+echo
+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 >= 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
+