| 1 | AC_INIT(libftdi, 0.17) |
| 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 | AC_CONFIG_MACRO_DIR([m4]) |
| 11 | |
| 12 | dnl check for libusb-1.0 |
| 13 | have_libusb_1_0=no |
| 14 | PKG_CHECK_MODULES(LIBUSB_1_0, [ libusb-1.0 >= 1.0.0 ], have_libusb_1_0=yes, have_libusb_1_0=no) |
| 15 | if test "$have_libusb_1_0" = "yes"; then |
| 16 | CFLAGS="$CFLAGS $LIBUSB_1_0_CFLAGS" |
| 17 | CXXFLAGS="$CXXFLAGS $LIBUSB_1_0_CFLAGS" |
| 18 | USB_LIBS="$USB_LIBS $LIBUSB_1_0_LIBS" |
| 19 | HAVE_USB=yes |
| 20 | AC_DEFINE(HAVE_LIBUSB_1_0, 1, [Define to 1 if you have libusb-1.0.]) |
| 21 | AC_SUBST(USB_LIBS) |
| 22 | else |
| 23 | AC_MSG_ERROR([libusb-1.0 not found.]) |
| 24 | fi |
| 25 | |
| 26 | AC_ARG_WITH(examples, |
| 27 | AS_HELP_STRING([--without-examples], [disable example programs])) |
| 28 | AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$with_examples" != "xno"]) |
| 29 | |
| 30 | LIBFTDI_MODULES= |
| 31 | LIBFTDI_MODULES_PKGCONFIG= |
| 32 | |
| 33 | dnl libftdi C++ wrapper. Needs boost. |
| 34 | AX_BOOST_BASE([1.33]) |
| 35 | ENABLE_LIBFTDIPP=0 |
| 36 | AC_MSG_CHECKING(if we can build the C++ wrapper) |
| 37 | AC_ARG_ENABLE(libftdipp, |
| 38 | AS_HELP_STRING([--enable-libftdipp], |
| 39 | [enable libftdi C++ wrapper. Needs boost (default: auto)]), |
| 40 | [ |
| 41 | if test "$enableval" != "no"; then |
| 42 | if test "x$HAVE_BOOST" != "xyes"; then |
| 43 | AC_MSG_ERROR(Sorry, we need the boost library for the C++ wrapper) |
| 44 | fi |
| 45 | ENABLE_LIBFTDIPP=1 |
| 46 | fi |
| 47 | ], |
| 48 | [ |
| 49 | dnl Build the wrapper if we got the boost library |
| 50 | if test "x$HAVE_BOOST" = "xyes"; then |
| 51 | ENABLE_LIBFTDIPP=1 |
| 52 | fi |
| 53 | ]) |
| 54 | if test "x$ENABLE_LIBFTDIPP" = "x1"; then |
| 55 | LIBFTDI_MODULES="$LIBFTDI_MODULES ftdipp" |
| 56 | LIBFTDI_MODULES_PKGCONFIG="$LIBFTDI_MODULES_PKGCONFIG libftdipp.pc" |
| 57 | AC_MSG_RESULT(yes) |
| 58 | else |
| 59 | AC_MSG_RESULT(no) |
| 60 | fi |
| 61 | AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"]) |
| 62 | |
| 63 | dnl check for doxygen |
| 64 | AC_ARG_WITH(docs, |
| 65 | AS_HELP_STRING([--without-docs], [disable doxygen usage])) |
| 66 | if test "x$with_docs" != "xno"; then |
| 67 | AC_PATH_PROG(DOXYGEN, doxygen) |
| 68 | else |
| 69 | DOXYGEN= |
| 70 | fi |
| 71 | AM_CONDITIONAL(HAVE_DOXYGEN, test -n $DOXYGEN) |
| 72 | |
| 73 | dnl ============================ |
| 74 | dnl Bindings for other languages |
| 75 | dnl == |
| 76 | |
| 77 | dnl =============== |
| 78 | dnl Checks for SWIG |
| 79 | dnl =============== |
| 80 | AC_PATH_PROG([SWIG], [swig]) |
| 81 | AM_CONDITIONAL(HAVE_SWIG, test "$SWIG") |
| 82 | |
| 83 | dnl ================= |
| 84 | dnl Checks for Python |
| 85 | dnl ================= |
| 86 | AM_PATH_PYTHON([2.0], |
| 87 | [], |
| 88 | [AC_MSG_WARN([Python not found. Python is required to build presage python binding. Python can be obtained from http://www.pyth |
| 89 | on.org])]) |
| 90 | if test "$PYTHON" |
| 91 | then |
| 92 | python_include_path=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"` |
| 93 | AC_CHECK_HEADERS([${python_include_path}/Python.h], |
| 94 | [have_python_header=true], |
| 95 | [AC_MSG_WARN([Python.h header file not found. Python development files are required to build presage python binding. Pyt |
| 96 | hon can be obtained from http://www.python.org])], |
| 97 | []) |
| 98 | fi |
| 99 | AM_CONDITIONAL(HAVE_PYTHON, test "$PYTHON" -a "x$have_python_header" = "xtrue") |
| 100 | |
| 101 | AC_ARG_ENABLE([python-binding], |
| 102 | AS_HELP_STRING([--enable-python-binding], |
| 103 | [build python binding (default=no)]), |
| 104 | [ac_enable_python_binding=$enableval], |
| 105 | [ac_enable_python_binding=no]) |
| 106 | if test "x$ac_enable_python_binding" = "xyes" |
| 107 | then |
| 108 | if test ! "$SWIG" -o ! "$PYTHON" -o ! "x$have_python_header" = "xtrue" |
| 109 | then |
| 110 | AC_MSG_WARN([Python binding for libftdi cannot be built. Ensure that SWIG and Python packages are available.]) |
| 111 | fi |
| 112 | else |
| 113 | AC_MSG_NOTICE([Python binding for libftdi will not be built.]) |
| 114 | AC_MSG_NOTICE([Enable Python binding module building with --enable-python-binding]) |
| 115 | fi |
| 116 | AM_CONDITIONAL(ENABLE_PYTHON_BINDING, test "x$ac_enable_python_binding" = "xyes") |
| 117 | |
| 118 | if test "$SWIG" -a "$PYTHON" -a "x$have_python_header" = "xtrue" -a "x$ac_enable_python_binding" = "xyes" |
| 119 | then |
| 120 | AC_MSG_NOTICE([Python binding for libftdi will be built.]) |
| 121 | build_python_binding="yes" |
| 122 | else |
| 123 | build_python_binding="no" |
| 124 | fi |
| 125 | |
| 126 | AC_SUBST(LIBFTDI_MODULES) |
| 127 | AC_SUBST(LIBFTDI_MODULES_PKGCONFIG) |
| 128 | |
| 129 | AC_CONFIG_FILES([libftdi-config],[chmod a+x libftdi-config]) |
| 130 | AC_CONFIG_FILES(Makefile src/Makefile bindings/Makefile bindings/python/Makefile bindings/python/setup.py examples/Makefile doc/Doxyfile doc/Makefile libftdi.pc libftdi.spec) |
| 131 | |
| 132 | if test "x$ENABLE_LIBFTDIPP" = "x1"; then |
| 133 | AC_CONFIG_FILES(ftdipp/Makefile libftdipp.pc) |
| 134 | fi |
| 135 | |
| 136 | AC_OUTPUT |