X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.ac;h=87f95d5dd19486d23940bdfc087e94f51d53d9eb;hp=68d6301a96147e47c81e5454db5f445dc7fb32d6;hb=0ce2ca748b502d09acf878c338fe23776cf6d8e2;hpb=76b35638608f26cf7ea10509ecba3032eff90c9d diff --git a/configure.ac b/configure.ac index 68d6301a96..87f95d5dd1 100644 --- a/configure.ac +++ b/configure.ac @@ -422,11 +422,16 @@ case "${host_cpu}" in AC_ARG_ENABLE([at91rm9200], AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]), [build_at91rm9200=$enableval], [build_at91rm9200=no]) + + AC_ARG_ENABLE([bcm2835gpio], + AS_HELP_STRING([--enable-bcm2835gpio], [Enable building support for bitbanging on BCM2835 (as found in Raspberry Pi)]), + [build_bcm2835gpio=$enableval], [build_bcm2835gpio=no]) ;; *) build_ep93xx=no build_at91rm9200=no + build_bcm2835gpio=no ;; esac @@ -511,10 +516,6 @@ AC_ARG_ENABLE([internal-jimtcl], AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]), [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes]) -AC_ARG_ENABLE([libusb0], - AS_HELP_STRING([--enable-libusb0], [Use libusb-0.1 library for USB JTAG devices]), - [check_libusb0=$enableval], [check_libusb0=no]) - AC_ARG_ENABLE([aice], AS_HELP_STRING([--enable-aice], [Enable building support for the Andes JTAG Programmer]), [build_aice=$enableval], [build_aice=no]) @@ -676,6 +677,13 @@ else AC_DEFINE([BUILD_AT91RM9200], [0], [0 if you don't want at91rm9200.]) fi +if test $build_bcm2835gpio = yes; then + build_bitbang=yes + AC_DEFINE([BUILD_BCM2835GPIO], [1], [1 if you want bcm2835gpio.]) +else + AC_DEFINE([BUILD_BCM2835GPIO], [0], [0 if you don't want bcm2835gpio.]) +fi + if test x$parport_use_ppdev = xyes; then AC_DEFINE([PARPORT_USE_PPDEV], [1], [1 if you want parport to use ppdev.]) else @@ -1120,7 +1128,8 @@ if test $build_ft2232_libftdi = yes -o $build_usb_blaster_libftdi = yes -o \ ], [ AC_MSG_ERROR([Cannot build & run test program using libftdi]) ], [ - AC_MSG_RESULT([Skipping as we are cross-compiling]) + AC_MSG_RESULT([Skipping as we are cross-compiling, trying build only]) + AC_SEARCH_LIBS([ftdi_new], [], [], [AC_MSG_ERROR([Cannot link with libftdi])]) ]) AC_MSG_CHECKING([for libftdi highspeed device support]) @@ -1166,37 +1175,53 @@ enum ftdi_chip_type x = TYPE_232H; CFLAGS=$CFLAGS_SAVE fi -# check for usb.h when a driver will require it -build_usb=no +# check if some driver requires libusb-0.1 +need_usb0=no if test $build_vsllink = yes -o $build_usbprog = yes -o \ - $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes -o \ - $build_aice = yes -then - build_usb=yes + $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes; then + need_usb0=yes fi -# Check for libusb1 ported drivers. -build_usb_ng=no -if test $build_jlink = yes -o $build_hladapter_stlink = yes -o $build_osbdm = yes -o \ - $build_opendous = yes -o $build_ftdi = yes -o $build_hladapter_icdi = yes -then - build_usb_ng=yes +# check if some driver can work with either libusb version +need_usb=no +if test $build_jlink = yes -o $build_osbdm = yes -o $build_opendous = yes -o \ + $build_aice = yes; then + need_usb=yes +fi + +# check if some driver requires libusb-1.x +need_usb_ng=no +if test $build_ftdi = yes -o $build_hladapter_icdi = yes -o \ + $build_hladapter_stlink = yes; then + need_usb_ng=yes fi # check for libusb library if necessary -use_libusb0=no use_libusb1=no -if test $build_usb = yes -o $build_usb_ng = yes; then - if test $check_libusb0 = no -a $build_usb_ng = yes; then - AC_CHECK_HEADER([libusb-1.0/libusb.h], - [AC_DEFINE(HAVE_LIBUSB1, 1, [Define if you have libusb-1.0]) check_libusb0=no use_libusb1=yes ], - [ check_libusb0=yes use_libusb1=no ]) - fi +if test $need_usb = yes -o $need_usb_ng = yes; then + AC_CHECK_HEADER([libusb-1.0/libusb.h], [ + AC_DEFINE([HAVE_LIBUSB1], [1], [Define if you have libusb-1.x]) + use_libusb1=yes + AC_SEARCH_LIBS([libusb_error_name], [usb-1.0], + [AC_DEFINE([HAVE_LIBUSB_ERROR_NAME], [1], [Define if your libusb has libusb_error_name()])], + [AC_MSG_WARN([libusb-1.x older than 1.0.9 detected, consider updating])]) + ], [ + if test $need_usb_ng = yes; then + AC_MSG_ERROR([libusb-1.x is required for some driver(s) you've selected]) + else + AC_MSG_WARN([Trying legacy libusb-0.1 as a fallback, consider installing libusb-1 instead]) + need_usb0=yes + fi + ]) +fi - if test $check_libusb0 = yes -o $build_usb = yes; then - AC_CHECK_HEADERS([usb.h], [use_libusb0=yes], - [AC_MSG_ERROR([libusb or libusb-1.0 are required to build some OpenOCD driver(s)])]) - fi +use_libusb0=no +if test $need_usb0 = yes; then + AC_CHECK_HEADERS([usb.h], [ + use_libusb0=yes + ], [ + AC_MSG_ERROR([libusb-0.1 is required to build some OpenOCD driver(s)]) + ]) fi AM_CONDITIONAL([RELEASE], [test $build_release = yes]) @@ -1208,6 +1233,7 @@ AM_CONDITIONAL([ZY1000], [test $build_zy1000 = yes]) AM_CONDITIONAL([ZY1000_MASTER], [test $build_zy1000_master = yes]) AM_CONDITIONAL([IOUTIL], [test $build_ioutil = yes]) AM_CONDITIONAL([AT91RM9200], [test $build_at91rm9200 = yes]) +AM_CONDITIONAL([BCM2835GPIO], [test $build_bcm2835gpio = yes]) AM_CONDITIONAL([BITBANG], [test $build_bitbang = yes]) AM_CONDITIONAL([FT2232_LIBFTDI], [test $build_ft2232_libftdi = yes]) AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes]) @@ -1234,17 +1260,15 @@ AM_CONDITIONAL([HLADAPTER], [test $build_hladapter_stlink = yes -o $build_hladap AM_CONDITIONAL([OSBDM], [test $build_osbdm = yes]) AM_CONDITIONAL([OPENDOUS], [test $build_opendous = yes]) AM_CONDITIONAL([SYSFSGPIO], [test $build_sysfsgpio = yes]) -AM_CONDITIONAL([USB], [test $build_usb = yes]) -AM_CONDITIONAL([USB_NG], [test $build_usb_ng = yes]) AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes]) AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes]) AM_CONDITIONAL([IS_CYGWIN], [test $is_cygwin = yes]) -AM_CONDITIONAL([IS_MINGW], [test $is_mingw = ye]s) -AM_CONDITIONAL([IS_WIN32], [test $is_win32 = ye]s) -AM_CONDITIONAL([IS_DARWIN], [test $is_darwin = ye]s) +AM_CONDITIONAL([IS_MINGW], [test $is_mingw = yes]) +AM_CONDITIONAL([IS_WIN32], [test $is_win32 = yes]) +AM_CONDITIONAL([IS_DARWIN], [test $is_darwin = yes]) AM_CONDITIONAL([BITQ], [test $build_bitq = yes]) -AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = ye]s) +AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = yes]) AM_CONDITIONAL([MINIDRIVER_DUMMY], [test $build_minidriver_dummy = yes]) AM_CONDITIONAL([INTERNAL_JIMTCL], [test $use_internal_jimtcl = yes])