-AC_INIT(configure.in)
-
+AC_INIT(libftdi, 0.17)
+AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(libftdi, 0.15)
AC_LANG_C
AC_PROG_CC
AM_PROG_LIBTOOL
+AC_PROG_CXX
-dnl check for libusb-config
-AC_PATH_PROG(HAVELIBUSB, libusb-config, $PATH)
-
-if test ! -z "$HAVELIBUSB"; then
- LIBUSB_CFLAGS=`$HAVELIBUSB --cflags`
- LIBUSB_LIBS=`$HAVELIBUSB --libs`
-
- CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
- LIBS="$LIBS $LIBUSB_LIBS"
-else
- AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation.])
-fi
-
-dnl check for version of libusb
-AC_MSG_CHECKING([if libusb version is >= 0.1.7])
-libusb_version_needed="1007"
-libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
+AC_CONFIG_MACRO_DIR([m4])
-if test $libusb_version -lt $libusb_version_needed; then
- AC_MSG_RESULT(no)
- AC_MSG_ERROR([*** libusb is too old ($libusb_version). You need a libusb installation newer or equal to 0.1.7.])
+dnl check for libusb-1.0
+have_libusb_1_0=no
+PKG_CHECK_MODULES(LIBUSB_1_0, [ libusb-1.0 >= 1.0.0 ], have_libusb_1_0=yes, have_libusb_1_0=no)
+if test "$have_libusb_1_0" = "yes"; then
+ CFLAGS="$CFLAGS $LIBUSB_1_0_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $LIBUSB_1_0_CFLAGS"
+ USB_LIBS="$USB_LIBS $LIBUSB_1_0_LIBS"
+ HAVE_USB=yes
+ AC_DEFINE(HAVE_LIBUSB_1_0, 1, [Define to 1 if you have libusb-1.0.])
+ AC_SUBST(USB_LIBS)
else
- AC_MSG_RESULT(yes)
+ AC_MSG_ERROR([libusb-1.0 not found.])
fi
-ENABLE_ASYNC_MODE=0
-AC_ARG_WITH(async-mode,
-[ --with-async-mode enable experimental async mode. Linux only.],
-[
- AC_MSG_CHECKING(for experimental linux async mode)
- if test "$withval" != "no"; then
- ENABLE_ASYNC_MODE=1
- CFLAGS="$CFLAGS -DLIBFTDI_LINUX_ASYNC_MODE"
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
-])
-AC_SUBST(ENABLE_ASYNC_MODE)
+AC_ARG_WITH(examples,
+ AS_HELP_STRING([--without-examples], [disable example programs]))
+AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$with_examples" != "xno"])
LIBFTDI_MODULES=
LIBFTDI_MODULES_PKGCONFIG=
AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"])
dnl check for doxygen
-AC_PATH_PROG(DOXYGEN, doxygen)
+AC_ARG_WITH(docs,
+ AS_HELP_STRING([--without-docs], [disable doxygen usage]))
+if test "x$with_docs" != "xno"; then
+ AC_PATH_PROG(DOXYGEN, doxygen)
+else
+ DOXYGEN=
+fi
AM_CONDITIONAL(HAVE_DOXYGEN, test -n $DOXYGEN)
+dnl ============================
+dnl Bindings for other languages
+dnl ==
+
+dnl ===============
+dnl Checks for SWIG
+dnl ===============
+AC_PATH_PROG([SWIG], [swig])
+AM_CONDITIONAL(HAVE_SWIG, test "$SWIG")
+
+dnl =================
+dnl Checks for Python
+dnl =================
+AM_PATH_PYTHON([2.0],
+ [],
+ [AC_MSG_WARN([Python not found. Python is required to build presage python binding. Python can be obtained from http://www.pyth
+on.org])])
+if test "$PYTHON"
+then
+ python_include_path=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
+ AC_CHECK_HEADERS([${python_include_path}/Python.h],
+ [have_python_header=true],
+ [AC_MSG_WARN([Python.h header file not found. Python development files are required to build presage python binding. Pyt
+hon can be obtained from http://www.python.org])],
+ [])
+fi
+AM_CONDITIONAL(HAVE_PYTHON, test "$PYTHON" -a "x$have_python_header" = "xtrue")
+
+AC_ARG_ENABLE([python-binding],
+ AS_HELP_STRING([--enable-python-binding],
+ [build python binding (default=no)]),
+ [ac_enable_python_binding=$enableval],
+ [ac_enable_python_binding=no])
+if test "x$ac_enable_python_binding" = "xyes"
+then
+ if test ! "$SWIG" -o ! "$PYTHON" -o ! "x$have_python_header" = "xtrue"
+ then
+ AC_MSG_WARN([Python binding for libftdi cannot be built. Ensure that SWIG and Python packages are available.])
+ fi
+else
+ AC_MSG_NOTICE([Python binding for libftdi will not be built.])
+ AC_MSG_NOTICE([Enable Python binding module building with --enable-python-binding])
+fi
+AM_CONDITIONAL(ENABLE_PYTHON_BINDING, test "x$ac_enable_python_binding" = "xyes")
+
+if test "$SWIG" -a "$PYTHON" -a "x$have_python_header" = "xtrue" -a "x$ac_enable_python_binding" = "xyes"
+then
+ AC_MSG_NOTICE([Python binding for libftdi will be built.])
+ build_python_binding="yes"
+else
+ build_python_binding="no"
+fi
+
AC_SUBST(LIBFTDI_MODULES)
AC_SUBST(LIBFTDI_MODULES_PKGCONFIG)
-AC_OUTPUT([libftdi-config],[chmod a+x libftdi-config])
-AC_OUTPUT(Makefile src/Makefile examples/Makefile doc/Doxyfile doc/Makefile libftdi.pc libftdi.spec)
+AC_CONFIG_FILES([libftdi-config],[chmod a+x libftdi-config])
+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)
if test "x$ENABLE_LIBFTDIPP" = "x1"; then
- AC_OUTPUT(ftdipp/Makefile libftdipp.pc)
+ AC_CONFIG_FILES(ftdipp/Makefile libftdipp.pc)
fi
+
+AC_OUTPUT