| 1 | AC_INIT(libftdi, 0.15) |
| 2 | AM_INIT_AUTOMAKE |
| 3 | AM_CONFIG_HEADER(config.h) |
| 4 | |
| 5 | AC_LANG_C |
| 6 | AC_PROG_CC |
| 7 | AM_PROG_LIBTOOL |
| 8 | AC_PROG_CXX |
| 9 | |
| 10 | dnl check for libusb-config |
| 11 | AC_PATH_PROG(HAVELIBUSB, libusb-config, $PATH) |
| 12 | |
| 13 | if test ! -z "$HAVELIBUSB"; then |
| 14 | LIBUSB_CFLAGS=`$HAVELIBUSB --cflags` |
| 15 | LIBUSB_LIBS=`$HAVELIBUSB --libs` |
| 16 | |
| 17 | CFLAGS="$CFLAGS $LIBUSB_CFLAGS" |
| 18 | LIBS="$LIBS $LIBUSB_LIBS" |
| 19 | else |
| 20 | AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation.]) |
| 21 | fi |
| 22 | |
| 23 | dnl check for version of libusb |
| 24 | AC_MSG_CHECKING([if libusb version is >= 0.1.7]) |
| 25 | libusb_version_needed="1007" |
| 26 | libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` |
| 27 | |
| 28 | if test $libusb_version -lt $libusb_version_needed; then |
| 29 | AC_MSG_RESULT(no) |
| 30 | AC_MSG_ERROR([*** libusb is too old ($libusb_version). You need a libusb installation newer or equal to 0.1.7.]) |
| 31 | else |
| 32 | AC_MSG_RESULT(yes) |
| 33 | fi |
| 34 | |
| 35 | ENABLE_ASYNC_MODE=0 |
| 36 | AC_ARG_WITH(async-mode, |
| 37 | [ --with-async-mode enable experimental async mode. Linux only.], |
| 38 | [ |
| 39 | AC_MSG_CHECKING(for experimental linux async mode) |
| 40 | if test "$withval" != "no"; then |
| 41 | ENABLE_ASYNC_MODE=1 |
| 42 | CFLAGS="$CFLAGS -DLIBFTDI_LINUX_ASYNC_MODE" |
| 43 | AC_MSG_RESULT(yes) |
| 44 | else |
| 45 | AC_MSG_RESULT(no) |
| 46 | fi |
| 47 | ]) |
| 48 | AC_SUBST(ENABLE_ASYNC_MODE) |
| 49 | |
| 50 | LIBFTDI_MODULES= |
| 51 | LIBFTDI_MODULES_PKGCONFIG= |
| 52 | |
| 53 | dnl libftdi C++ wrapper. Needs boost. |
| 54 | AX_BOOST_BASE([1.33]) |
| 55 | ENABLE_LIBFTDIPP=0 |
| 56 | AC_MSG_CHECKING(if we can build the C++ wrapper) |
| 57 | AC_ARG_ENABLE(libftdipp, |
| 58 | AS_HELP_STRING([--enable-libftdipp], |
| 59 | [enable libftdi C++ wrapper. Needs boost (default: auto)]), |
| 60 | [ |
| 61 | if test "$enableval" != "no"; then |
| 62 | if test "x$HAVE_BOOST" != "xyes"; then |
| 63 | AC_MSG_ERROR(Sorry, we need the boost library for the C++ wrapper) |
| 64 | fi |
| 65 | ENABLE_LIBFTDIPP=1 |
| 66 | fi |
| 67 | ], |
| 68 | [ |
| 69 | dnl Build the wrapper if we got the boost library |
| 70 | if test "x$HAVE_BOOST" = "xyes"; then |
| 71 | ENABLE_LIBFTDIPP=1 |
| 72 | fi |
| 73 | ]) |
| 74 | if test "x$ENABLE_LIBFTDIPP" = "x1"; then |
| 75 | LIBFTDI_MODULES="$LIBFTDI_MODULES ftdipp" |
| 76 | LIBFTDI_MODULES_PKGCONFIG="$LIBFTDI_MODULES_PKGCONFIG libftdipp.pc" |
| 77 | AC_MSG_RESULT(yes) |
| 78 | else |
| 79 | AC_MSG_RESULT(no) |
| 80 | fi |
| 81 | AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"]) |
| 82 | |
| 83 | dnl check for doxygen |
| 84 | AC_PATH_PROG(DOXYGEN, doxygen) |
| 85 | AM_CONDITIONAL(HAVE_DOXYGEN, test -n $DOXYGEN) |
| 86 | |
| 87 | AC_SUBST(LIBFTDI_MODULES) |
| 88 | AC_SUBST(LIBFTDI_MODULES_PKGCONFIG) |
| 89 | |
| 90 | AC_OUTPUT([libftdi-config],[chmod a+x libftdi-config]) |
| 91 | AC_OUTPUT(Makefile src/Makefile examples/Makefile doc/Doxyfile doc/Makefile libftdi.pc libftdi.spec) |
| 92 | |
| 93 | if test "x$ENABLE_LIBFTDIPP" = "x1"; then |
| 94 | AC_OUTPUT(ftdipp/Makefile libftdipp.pc) |
| 95 | fi |