X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=configure.in;h=959731134ce6ce13e160ce5c23be214906413d7d;hp=23789f1cb77f1ac9e103675ef4787c1e58ba22dd;hb=ade814a59b4660c5af865dd86cdd48cfa55e1ae5;hpb=41b8ae57a916e98d9c5c4d2e2fa972883a162650 diff --git a/configure.in b/configure.in index 23789f1..9597311 100644 --- a/configure.in +++ b/configure.in @@ -1,138 +1,136 @@ -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) -dnl modified by Walter Tasin (tasin@kdevelop.org) -dnl for c++ console applications - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -dnl Boston, MA 02111-1307, USA. - -# Original Author was Kalle@kde.org -# I lifted it in some mater. (Stephan Kulow) -# I used much code from Janos Farkas - -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(acinclude.m4) dnl a source file from your sub dir - -dnl This is so we can use kde-common -AC_CONFIG_AUX_DIR(admin) - -dnl This ksh/zsh feature conflicts with `cd blah ; pwd` -unset CDPATH - -dnl Checking host/target/build systems, for make, install etc. -AC_CANONICAL_SYSTEM -dnl Perform program name transformation -AC_ARG_PROGRAM - -dnl Automake doc recommends to do this only here. (Janos) -AM_INIT_AUTOMAKE(libftdi, 0.4) dnl searches for some needed programs - -dnl almost the same like KDE_SET_PEFIX but the path is /usr/local -dnl -unset CDPATH -dnl make /usr/local the default for the installation -AC_PREFIX_DEFAULT(/usr/local) - -if test "x$prefix" = "xNONE"; then - prefix=$ac_default_prefix - ac_configure_args="$ac_configure_args --prefix $prefix" -fi -dnl KDE_FAST_CONFIGURE -dnl KDE_CONF_FILES - -dnl without this order in this file, automake will be confused! -dnl +AC_INIT(libftdi, 0.17) +AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) -dnl checks for programs. -dnl first check for c compiler -AC_CHECK_C_COMPILER - -dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__ - -dnl create only shared libtool-libraries -AC_ENABLE_SHARED(yes) - -dnl set the following to yes, if you want to create static -dnl libtool-libraries, too. -AC_ENABLE_STATIC(yes) - -dnl create a working libtool-script -KDEV_PROG_LIBTOOL - -dnl activate the next macro call for DLOPEN tests and setting LIBDL -dnl (n.b. KDE_MISC_TESTS does the same to you, so use either this or the next one) -dnl KDE_CHECK_DLOPEN - -dnl activate the next macro call for some additional tests -dnl (compat, crypt, socket, nsl, dlopen, ...) -dnl KDE_MISC_TESTS dnl __kdevelop__ - -dnl KDE_NEED_FLEX dnl __kdevelop__ -dnl AC_PROG_YACC dnl __kdevelop__ - - -dnl check for libusb-config -AC_PATH_PROG(HAVELIBUSB, libusb-config, $PATH) - -if test ! -z "$HAVELIBUSB"; then -dnl LIBUSB_CFLAGS=`$HAVELIBUSB --cflags` - LIBUSB_LIBS=`$HAVELIBUSB --libs` +AC_LANG_C +AC_PROG_CC +AM_PROG_LIBTOOL +AC_PROG_CXX + +AC_CONFIG_MACRO_DIR([m4]) + +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_ERROR([libusb-1.0 not found.]) +fi - CFLAGS="$CFLAGS $LIBUSB_CFLAGS" - LIBS="$LIBS $LIBUSB_LIBS" +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= + +dnl libftdi C++ wrapper. Needs boost. +AX_BOOST_BASE([1.33]) +ENABLE_LIBFTDIPP=0 +AC_MSG_CHECKING(if we can build the C++ wrapper) +AC_ARG_ENABLE(libftdipp, + AS_HELP_STRING([--enable-libftdipp], + [enable libftdi C++ wrapper. Needs boost (default: auto)]), +[ + if test "$enableval" != "no"; then + if test "x$HAVE_BOOST" != "xyes"; then + AC_MSG_ERROR(Sorry, we need the boost library for the C++ wrapper) + fi + ENABLE_LIBFTDIPP=1 + fi +], +[ + dnl Build the wrapper if we got the boost library + if test "x$HAVE_BOOST" = "xyes"; then + ENABLE_LIBFTDIPP=1 + fi +]) +if test "x$ENABLE_LIBFTDIPP" = "x1"; then + LIBFTDI_MODULES="$LIBFTDI_MODULES ftdipp" + LIBFTDI_MODULES_PKGCONFIG="$LIBFTDI_MODULES_PKGCONFIG libftdipp.pc" + AC_MSG_RESULT(yes) else - AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation.]) + AC_MSG_RESULT(no) fi +AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"]) -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;}'` +dnl check for 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 $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.]) +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 - AC_MSG_RESULT(yes) + build_python_binding="no" fi +AC_SUBST(LIBFTDI_MODULES) +AC_SUBST(LIBFTDI_MODULES_PKGCONFIG) -dnl KDE_CHECK_EXTRA_LIBS -all_libraries="$all_libraries $USER_LDFLAGS" -all_includes="$all_includes $USER_INCLUDES" -AC_SUBST(all_includes) -AC_SUBST(all_libraries) +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) -AC_SUBST(AUTODIRS) +if test "x$ENABLE_LIBFTDIPP" = "x1"; then + AC_CONFIG_FILES(ftdipp/Makefile libftdipp.pc) +fi -KDE_CREATE_SUBDIRSLIST -AC_CONFIG_FILES([ Makefile ]) -AC_CONFIG_FILES([ ftdi/Makefile ]) -AC_OUTPUT([libftdi-config], [chmod a+x libftdi-config]) AC_OUTPUT -if test "$all_tests" = "bad"; then - if test ! "$cache_file" = "/dev/null"; then - echo "" - echo "Please remove the file $cache_file after changing your setup" - echo "so that configure will find the changes next time." - echo "" - fi -else - echo "" - echo "Good - your configure finished. Start make now" - echo "" -fi