]> sigrok.org Git - libsigrok.git/blobdiff - configure.ac
sr: adjust copyright year
[libsigrok.git] / configure.ac
index 7c1ee441acd40823528c5afeafcf444064b75203..cd2ebe865d92c6a61288688fdc461b70b047d6f1 100644 (file)
@@ -1,7 +1,7 @@
 ##
 ## This file is part of the sigrok project.
 ##
-## Copyright (C) 2010 Bert Vermeulen <bert@biot.com>
+## Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -17,7 +17,8 @@
 ## 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])
 
 # libsigrok package version number (NOT the same as shared lib version!).
 m4_define([libsigrok_major_version], [0])
@@ -31,14 +32,17 @@ AC_CONFIG_HEADER([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 foreign std-options])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 AH_TOP([#ifndef LIBSIGROK_CONFIG_H
 #define LIBSIGROK_CONFIG_H    /* To stop multiple inclusions. */])
 AH_BOTTOM([#endif /* LIBSIGROK_CONFIG_H */])
 
-CFLAGS="-g -Wall -Wextra"
+# Enable more compiler warnings via -Wall and -Wextra. Add -fvisibility=hidden
+# and enforce use of SR_API to explicitly mark all public API functions.
+CFLAGS="-g -Wall -Wextra -fvisibility=hidden"
 
 # Checks for programs.
 AC_PROG_CXX
@@ -187,9 +191,18 @@ PKG_CHECK_MODULES([libzip], [libzip >= 0.8],
 
 # zlib is only needed for some hardware drivers.
 if test "x$LA_ASIX_SIGMA" != xno; then
-       PKG_CHECK_MODULES([zlib], [zlib >= 1.2.3.1],
-               [CFLAGS="$CFLAGS $zlib_CFLAGS"; LIBS="$LIBS $zlib_LIBS";
-               LIBSIGROK_PKGLIBS="$LIBSIGROK_PKGLIBS zlib"])
+       case "$build" in
+       *freebsd*)
+               # FreeBSD has zlib, but no pkg-config file for it.
+               # Check manually, and do NOT add it to LIBSIGROK_PKGLIBS.
+               AC_CHECK_LIB(z, uncompress)
+               ;;
+       *)
+               PKG_CHECK_MODULES([zlib], [zlib >= 1.2.3.1],
+                       [CFLAGS="$CFLAGS $zlib_CFLAGS"; LIBS="$LIBS $zlib_LIBS";
+                       LIBSIGROK_PKGLIBS="$LIBSIGROK_PKGLIBS zlib"])
+               ;;
+       esac
 fi
 
 # libftdi is only needed for some hardware drivers.
@@ -260,7 +273,6 @@ AC_DEFINE(LIBSIGROK_VERSION, [libsigrok_version],
          [Define to the libsigrok package version])
 
 AC_CONFIG_FILES([Makefile
-                sigrok.h
                 firmware/Makefile
                 hardware/Makefile
                 hardware/alsa/Makefile
@@ -282,13 +294,35 @@ AC_CONFIG_FILES([Makefile
 AC_OUTPUT
 
 echo
-echo "Building drivers:"
+echo "libsigrok configuration summary:"
+echo
+echo "  - Package version (major.minor.micro):    $LIBSIGROK_VERSION"
+echo "  - Library version (current:revision:age): $LIBSIGROK_LT_VERSION"
+echo "  - Prefix: $prefix"
+echo
+echo "Detected libraries:"
+echo
+
+# Note: This only works for libs with pkg-config integration.
+for lib in "glib-2.0" "gthread-2.0" "libusb-1.0" "libzip" "zlib" "libftdi" "libudev" "alsa"; do
+       if `$PKG_CONFIG --exists $lib`; then
+               ver=`$PKG_CONFIG --modversion $lib`
+               answer="yes ($ver)"
+       else
+               answer="no"
+       fi
+       echo "  - $lib: $answer"
+done
+
+echo
+echo "Enabled hardware drivers:"
 echo
-echo "ASIX SIGMA...................... " $LA_ASIX_SIGMA
-echo "ChronoVu LA8.................... " $LA_CHRONOVU_LA8
-echo "Link MSO-19..................... " $LA_LINK_MSO19
-echo "Openbench Logic Sniffer......... " $LA_OLS
-echo "Saleae Logic.................... " $LA_SALEAE_LOGIC
-echo "Zeroplus Logic Cube............. " $LA_ZEROPLUS_LOGIC_CUBE
+echo "  - ASIX SIGMA...................... $LA_ASIX_SIGMA"
+echo "  - ChronoVu LA8.................... $LA_CHRONOVU_LA8"
+echo "  - Demo driver..................... $LA_DEMO"
+echo "  - Link MSO-19..................... $LA_LINK_MSO19"
+echo "  - Openbench Logic Sniffer......... $LA_OLS"
+echo "  - Saleae Logic.................... $LA_SALEAE_LOGIC"
+echo "  - Zeroplus Logic Cube............. $LA_ZEROPLUS_LOGIC_CUBE"
 echo