libftdi: add a --without-examples configure flag
[libftdi] / configure.in
CommitLineData
8e527547 1AC_INIT(libftdi, 0.17)
6686948c 2AM_INIT_AUTOMAKE
a3da1d95
GE
3AM_CONFIG_HEADER(config.h)
4
9b254687
GE
5AC_LANG_C
6AC_PROG_CC
7AM_PROG_LIBTOOL
6686948c 8AC_PROG_CXX
ed475f55
TJ
9
10dnl check for libusb-config
a7d6d342 11AC_CHECK_TOOL(HAVELIBUSB, libusb-config)
ed475f55
TJ
12
13if test ! -z "$HAVELIBUSB"; then
2251855f 14 LIBUSB_CFLAGS=`$HAVELIBUSB --cflags`
ed475f55
TJ
15 LIBUSB_LIBS=`$HAVELIBUSB --libs`
16
17 CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
18 LIBS="$LIBS $LIBUSB_LIBS"
19else
20 AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation.])
21fi
22
23dnl check for version of libusb
24AC_MSG_CHECKING([if libusb version is >= 0.1.7])
25libusb_version_needed="1007"
26libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
27
28if 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.])
31else
32 AC_MSG_RESULT(yes)
33fi
34
22592e17 35ENABLE_ASYNC_MODE=0
f01d7ca6
TJ
36AC_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
22592e17 41 ENABLE_ASYNC_MODE=1
f01d7ca6
TJ
42 CFLAGS="$CFLAGS -DLIBFTDI_LINUX_ASYNC_MODE"
43 AC_MSG_RESULT(yes)
44 else
45 AC_MSG_RESULT(no)
46 fi
47])
22592e17 48AC_SUBST(ENABLE_ASYNC_MODE)
f01d7ca6 49
010b6490
MF
50AC_ARG_WITH(examples,
51 AS_HELP_STRING([--without-examples], [disable example programs]))
52AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$with_examples" != "xno"])
53
b1e8fa64
TJ
54LIBFTDI_MODULES=
55LIBFTDI_MODULES_PKGCONFIG=
56
57dnl libftdi C++ wrapper. Needs boost.
58AX_BOOST_BASE([1.33])
59ENABLE_LIBFTDIPP=0
60AC_MSG_CHECKING(if we can build the C++ wrapper)
61AC_ARG_ENABLE(libftdipp,
62 AS_HELP_STRING([--enable-libftdipp],
63 [enable libftdi C++ wrapper. Needs boost (default: auto)]),
64[
65 if test "$enableval" != "no"; then
66 if test "x$HAVE_BOOST" != "xyes"; then
67 AC_MSG_ERROR(Sorry, we need the boost library for the C++ wrapper)
68 fi
69 ENABLE_LIBFTDIPP=1
70 fi
71],
72[
73 dnl Build the wrapper if we got the boost library
74 if test "x$HAVE_BOOST" = "xyes"; then
75 ENABLE_LIBFTDIPP=1
76 fi
77])
78if test "x$ENABLE_LIBFTDIPP" = "x1"; then
79 LIBFTDI_MODULES="$LIBFTDI_MODULES ftdipp"
80 LIBFTDI_MODULES_PKGCONFIG="$LIBFTDI_MODULES_PKGCONFIG libftdipp.pc"
81 AC_MSG_RESULT(yes)
82else
83 AC_MSG_RESULT(no)
84fi
b0c551aa 85AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"])
b1e8fa64 86
1941414d 87dnl check for doxygen
29bb689c 88AC_PATH_PROG(DOXYGEN, doxygen)
0969b19b 89AM_CONDITIONAL(HAVE_DOXYGEN, test -n $DOXYGEN)
1941414d 90
05c0dae8
TH
91dnl ============================
92dnl Bindings for other languages
93dnl ==
94
95dnl ===============
96dnl Checks for SWIG
97dnl ===============
98AC_PATH_PROG([SWIG], [swig])
99AM_CONDITIONAL(HAVE_SWIG, test "$SWIG")
100
101dnl =================
102dnl Checks for Python
103dnl =================
104AM_PATH_PYTHON([2.0],
105 [],
106 [AC_MSG_WARN([Python not found. Python is required to build presage python binding. Python can be obtained from http://www.pyth
107on.org])])
108if test "$PYTHON"
109then
110 python_include_path=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
111 AC_CHECK_HEADERS([${python_include_path}/Python.h],
112 [have_python_header=true],
113 [AC_MSG_WARN([Python.h header file not found. Python development files are required to build presage python binding. Pyt
114hon can be obtained from http://www.python.org])],
115 [])
116fi
117AM_CONDITIONAL(HAVE_PYTHON, test "$PYTHON" -a "x$have_python_header" = "xtrue")
118
119AC_ARG_ENABLE([python-binding],
120 AS_HELP_STRING([--enable-python-binding],
121 [build python binding (default=no)]),
122 [ac_enable_python_binding=$enableval],
123 [ac_enable_python_binding=no])
124if test "x$ac_enable_python_binding" = "xyes"
125then
126 if test ! "$SWIG" -o ! "$PYTHON" -o ! "x$have_python_header" = "xtrue"
127 then
128 AC_MSG_WARN([Python binding for libftdi cannot be built. Ensure that SWIG and Python packages are available.])
129 fi
130else
131 AC_MSG_NOTICE([Python binding for libftdi will not be built.])
132 AC_MSG_NOTICE([Enable Python binding module building with --enable-python-binding])
133fi
134AM_CONDITIONAL(ENABLE_PYTHON_BINDING, test "x$ac_enable_python_binding" = "xyes")
135
136if test "$SWIG" -a "$PYTHON" -a "x$have_python_header" = "xtrue" -a "x$ac_enable_python_binding" = "xyes"
137then
138 AC_MSG_NOTICE([Python binding for libftdi will be built.])
139 build_python_binding="yes"
140else
141 build_python_binding="no"
142fi
143
b1e8fa64
TJ
144AC_SUBST(LIBFTDI_MODULES)
145AC_SUBST(LIBFTDI_MODULES_PKGCONFIG)
146
f9382672
MF
147AC_CONFIG_FILES([libftdi-config],[chmod a+x libftdi-config])
148AC_CONFIG_FILES(Makefile src/Makefile bindings/Makefile bindings/python/Makefile bindings/python/setup.py examples/Makefile doc/Doxyfile doc/Makefile libftdi.pc libftdi.spec)
b1e8fa64
TJ
149
150if test "x$ENABLE_LIBFTDIPP" = "x1"; then
f9382672 151 AC_CONFIG_FILES(ftdipp/Makefile libftdipp.pc)
b1e8fa64 152fi
f9382672
MF
153
154AC_OUTPUT